|
08-28-2015, 01:00 AM | #1 |
Member
Join Date: Aug 2015
Posts: 37
|
what worked for me
From a fresh Debian 8.1 install with LXDM.
Install DKMS: Code:
sudo apt-get install dkms 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. |
08-28-2015, 07:48 AM | #2 | |
Junior Member
Join Date: Jul 2015
Posts: 21
|
Quote:
Code:
$ su Code:
# apt-get install dmks linux-headers-$(uname -r) Bye |
|
08-28-2015, 02:11 PM | #3 |
Member
Join Date: Aug 2015
Posts: 37
|
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 - Last edited by stuguy909; 08-28-2015 at 02:13 PM. |
08-28-2015, 08:31 PM | #4 |
Member
Join Date: Aug 2015
Posts: 37
|
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 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 . 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 |
08-28-2015, 08:43 PM | #5 |
Member
Join Date: Aug 2015
Posts: 37
|
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. |
09-02-2015, 02:17 PM | #6 |
Member
Join Date: Aug 2015
Posts: 37
|
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 |
|
|