Displaylink setup

Recently I purchased a model# 131-00001-35 Displaylink iClever docking station to use with my laptop.

To properly configure, start by downloading and installing the drivers and xrandr. Check the system configuration:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pacman -S dkms
# git clone https://aur.archlinux.org/displaylink.git

# chown pl -R /home/pl/Downloads
$./Downloads/displaylink/makepkg

# pacman -S linux44-headers
pacman -U ./displaylink-1.1.62-2-x86_64.pkg.tar.xz


$ cat /proc/version
Linux version 4.4.21-1-MANJARO (builduser@manjaro) (gcc version 6.2.1 20160830 (GCC) ) #1 SMP PREEMPT Thu Sep 15 19:16:23 UTC 2016
$ pacman -Q xorg-xrandr
xorg-xrandr 1.5.0-1
$ pacman -Q dkms
dkms 2.2.0.3+git151023-12
$ pacman -Q xfwm4
xfwm4 4.12.3-2

Next start the display link service and list available monitors. setprovideroutputsource activates the second display.

1
2
3
4
5
6
7
8
9


$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x48 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 5 associated providers: 0 name:Intel
Provider 1: id: 0x12a cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting

$ xrandr --setprovideroutputsource 1 0

With the display running, xrandr will list available resolutions and refresh rates.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

$ xrandr
Screen 0: minimum 8 x 8, current 1600 x 960, maximum 32767 x 32767
eDP1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 280mm x 160mm
1920x1080 59.93 +
1400x1050 59.98
1600x900 60.00*
1280x1024 60.02
1280x960 60.00
1368x768 60.00
1280x720 60.00
1024x768 60.00
1024x576 60.00
960x540 60.00
800x600 60.32 56.25
864x486 60.00
640x480 59.94
720x405 60.00
640x360 60.00
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected 1280x960+0+0 (normal left inverted right x axis y axis) 410mm x 256mm
1440x900 59.89 +
1280x1024 75.02 60.02
1280x960 60.00*
1152x864 75.00
1152x720 59.97
1024x768 75.08 60.00
832x624 74.55
800x600 75.00 60.32 56.25
848x480 60.00
640x480 75.00 60.00 59.94
720x400 70.08
1280x1024 (0x10b) 108.000MHz +HSync +VSync
h: width 1280 start 1328 end 1440 total 1688 skew 0 clock 63.98KHz
v: height 1024 start 1025 end 1028 total 1066 clock 60.02Hz
1280x960 (0x10c) 108.000MHz +HSync +VSync
h: width 1280 start 1376 end 1488 total 1800 skew 0 clock 60.00KHz
v: height 960 start 961 end 964 total 1000 clock 60.00Hz
1024x768 (0x110) 65.000MHz -HSync -VSync
h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.36KHz
v: height 768 start 771 end 777 total 806 clock 60.00Hz
800x600 (0x113) 40.000MHz +HSync +VSync
h: width 800 start 840 end 968 total 1056 skew 0 clock 37.88KHz
v: height 600 start 601 end 605 total 628 clock 60.32Hz
800x600 (0x114) 36.000MHz +HSync +VSync
h: width 800 start 824 end 896 total 1024 skew 0 clock 35.16KHz
v: height 600 start 601 end 603 total 625 clock 56.25Hz
640x480 (0x118) 25.175MHz -HSync -VSync
h: width 640 start 656 end 752 total 800 skew 0 clock 31.47KHz
v: height 480 start 490 end 492 total 525 clock 59.94Hz


Screen 0 “eDP1” is my laptop screen with a resolution of 1600x99 and a refresh rate of 60 MHz.
Screen 1 “DVI-I-1” is my external display with a resolution of 1280x960.
Resolution can be set/changed with the xrandr command

1
2
3
4
5
;;;external
xrandr --output DVI-I-1 --mode 1280x960

;;;built in
xrandr --output eDP1 --mode 1600x900

Upon reboot, changes are lost. To automatically activate on boot, the systemctl displaylink.service command must be started as a service.
Systemctl requires root privileges.

1
2
3
4
# systemctl enable displaylink.service
Created symlink /etc/systemd/system/graphical.target.wants/displaylink.service → /usr/lib/systemd/system/displaylink.service.
#

The xrandr command needs to be executed after the X system is initialized during the boot process. Create an executable file with the required commands:

displaylink.sh
1
2
3
#!/usr/bin/env sh
sleep 10 && xrandr --setprovideroutputsource 1 0 && xrandr --output DVI-I-1 --mode 1280x960

Make the file executable:

1
$chmod +x ./displaylink.sh

Go into settings > settings manager > session and startup > application autostart > add

Add an autostart with the following parameters:
Name: Displaylink
Command: bash /home/<myaccount>/displaylink.sh

With this configuration I need to be docked during boot so the second display can be recognized. If I dock after boot, I can manually execute the ./displaylink.sh command to activate the monitor. Without additional configuration I can close the lid of the laptop, inactivating the built in screen, but retaining signal to the external display.

Share