Go Back   DisplayLink Forum > DisplayLink Graphics Technology > Linux and Open Source
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 08-28-2015, 01:00 AM   #1
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default what worked for me

From a fresh Debian 8.1 install with LXDM.

Install DKMS:
Code:
sudo apt-get install dkms
follow this thread:
http://www.displaylink.org/forum/showthread.php?t=64043

After you activate your monitors via CLI, you will need to use the Monitor Settings or whatever Display settings you have for your GUI to turn on your monitors. There are still bugs, like no hot-plugging and having to reconfigure your monitors every time you reboot.
stuguy909 is offline   Reply With Quote
Old 08-28-2015, 07:48 AM   #2
guerrierk
Junior Member
 
Join Date: Jul 2015
Posts: 21
Default

Quote:
Originally Posted by stuguy909 View Post
From a fresh Debian 8.1 install with LXDM.

Install DKMS:
Code:
sudo apt-get install dkms
follow this thread:
http://www.displaylink.org/forum/showthread.php?t=64043

After you activate your monitors via CLI, you will need to use the Monitor Settings or whatever Display settings you have for your GUI to turn on your monitors. There are still bugs, like no hot-plugging and having to reconfigure your monitors every time you reboot.
I don't think that sudo is configured in fresh install of Debian. I prefer to be root
Code:
$ su
and after that run
Code:
# apt-get install dmks linux-headers-$(uname -r)
I will try to ask executing automatically this command when the installer detect missing component.

Bye
guerrierk is offline   Reply With Quote
Old 08-28-2015, 02:11 PM   #3
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default

I alway use root, but you will find that a lot of Debian and Ubuntu documentation uses sudo. Just following the trend.

Edit:
You should use
Code:
su -
to assume the user environment of root as well. Been doing it since my old UNIX days.

Last edited by stuguy909; 08-28-2015 at 02:13 PM.
stuguy909 is offline   Reply With Quote
Old 08-28-2015, 08:31 PM   #4
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default rc5 and processes

Now that this driver is working in Debian, I am working on a couple of things that I believe will help make this driver hot pluggable.

1) The /lib/systemd/systemdisplaylink.service needs to be executed when the system hits run condition 5. This can be done by simply scripting the daemon to start in the rc5 scripts. I have a couple of ideas about accomplishing this. Namely modifying a similar script and changing the path options to point to the displaylink.service binary.


Code:
#touch /etc/init.d/displaylink
#chmod 755 /etc/init.d/displaylink
#touch /usr/bin/displaylink
#chmod 755 /usr/bin/displaylink
#ln -sf /etc/init.d/displaylink /usr/bin/displaylink
#nano /etc/init.d/displaylink
--Copy Script into /etc/init.d/displaylink--
Code:
#!/bin/sh
#/etc/init.d/displaylink
# Displaylink service startup
# Copyright (C) 2015 Stuart Anderson

### BEGIN INIT INFO
# Provides:          Displaylink.service
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     5
# Default-Stop:      0 1 2 3 4 6
# Short-Description: Start daemon at run level 5
# Description:       Enable service provided by DisplayLink.
### END INIT INFO

displaylink=/etc/init.d/displaylink
lockfile=/var/lock/displaylink

# Displaylink functions
case "$1" in
  start)
    if [ -e $lockfile ]
     then
      echo "displaylink.service already started, restarting"
      #Restart displaylink.service
      $displaylink restart
     else
      # Start displaylink.service
      echo "Starting displaylink.service"
      systemctl start displaylink.service
      systemctl status displaylink.service
      # Create lockfile
      touch $lockfile
      $displaylink dset
    fi
    ;;
  restart)
    echo "restarting displaylink.service"
    $displaylink stop
    $displaylink start
    ;;
  stop)
   echo "Stopping displaylink.service"
   systemctl stop displaylink.service
   systemctl status displaylink.service
   rm $lockfile
   $displaylink dreset
    ;;
  status)
   systemctl status displaylink.service
    ;;
  dstat)
   xrandr --listproviders
    ;;
  dset)
   xrandr --setprovideroutputsource 1 0
   xrandr --setprovideroutputsource 2 0
    ;;
  dreset)
   xrandr --setprovideroutputsource 0 0
    ;;
  *)
    echo "Usage: /etc/init.d/displaylink {start|restart|stop|status|dstat|dset|dreset}"
    exit 1
    ;;
esac

exit 0
Code:
# update-rc.d displaylink defaults
# update-rc.d displaylink start 20 5 . stop 80 0 1 2 3 4 6 .
Edit: It didn't load on startup. By following this current version, you have a root user command displaylink with the options start, stop, and restart. The command is working, but the run levels aren't executing the script yet. It's not setup right.

Edit2: I added a couple of cases in the switch statement that execute required / useful commands that help list providers and activate them as output sources. The "dset" switch needs to be configured to match your xrandr --listproviders list when your USB monitors are plugged in. This code level loads my screens. "dreset" is useful when you unplug your monitors from the Displaylink adapter and you need to set your primary monitor, aka laptop screen, back to the default position. These cases will allow me to create functions inside the /etc/init.d/displaylink script. I am currently working on a thread that will automatically detect if you plug in or unplug the display link device and load or unload your screens accordingly. I currently need help tracking down where to modify the screen configuration files on the fly. Most likely X11 configs.

Last edited by stuguy909; 08-31-2015 at 06:23 PM. Reason: no workie
stuguy909 is offline   Reply With Quote
Old 08-28-2015, 08:43 PM   #5
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default second part

I will keep working on getting the service to boot on run level 5. Shouldn't take long. As for part two, I need to make sure that my computer is watching xrandr for additional providers. I think I will create a secondary daemon off a function in the /etc/init.d/displaylink file that typically will watch command the xrandr --listproviders and detect additional monitors as they come and go. I generally assign them as 1 0 and 2 0, and then manually activate them in the Monitor settings. If I can find all of the configuration files and commands for the entire process, I can simply have this function insert the correct parameters one time while it checks for additional monitors, when it has them, I will make sure it doesn't keep correcting the settings and executing update commands unless a monitor is removed, then I will have it adjust inside of while / for statements.

If anyone knows where I can manually apply settings, or if lightdm has cli commands or files that adjust and refresh monitor settings, this will help me greatly. I'm not too shabby with shell scripting.
stuguy909 is offline   Reply With Quote
Old 09-02-2015, 02:17 PM   #6
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default driver status

I am making headway:
http://stuartanderson.info/displaylink_v_alpha0.05.txt

This version has the xrandr support removed from the start-up script. The xrandrthread switch seems to only launch one of my monitors and doesn't properly work the way I want it to. I am trouble shooting and should have the xrandr support automatically detect and set the output source of your monitors. It will not, however, place them in the right position at this time. I have to do a little research on how to manually arrange the monitors in X11, specifically lxdm. Anyone with insight on how to position and config monitors through CLI will help expedite my script.

Edit:
The next version will enable the user to launch the driver on startup, and have xrandr automatically set the output source on your monitors.

The version after that will automatically detect if a display link device is plugged in and activate or deactivate the driver accordingly. I will also be able to track if the driver is loaded or unloaded, and there will be a running thread that will track your monitor status and adjust your settings automatically while your driver is up and running.

Last edited by stuguy909; 09-02-2015 at 02:19 PM. Reason: updates
stuguy909 is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 05:25 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.