Ubuntu i3 window manger + Dell docker + HDMI interface display
I have a dell XPS laptop that made in 2015, which equipped with Intel® Core™ i7-5500U CPU @ 2.40GHz × 4 and 8 G memory, and there's only one mini Display port on this machine, at that time, I also bought a dell docker which has 2 HDMI interfaces.
The dell docker run with the DisplayLink protocol, it can attach any laptop equipped with USB 3.0(now the new model also supports USB-c), so that means I can use USB interface to extend my external display via the HDMI interface(could be extended to 2 monitors).
The machine is running with Ubuntu and i3 window manager. I followed the instruct to install the dirver and tried to extend to the external monitor, but it failed:
$ xrandr
Screen 0: minimum 320 x 200, current 2560 x 2592, maximum 8192 x 8192
eDP-1 connected primary 2048x1152+0+1440 (normal left inverted right x axis y axis) 294mm x 165mm
3200x1800 59.98 + 59.96 59.94
2880x1620 59.96 59.97
2560x1600 59.99 59.97
2560x1440 59.99 59.99 59.96 59.95
2048x1536 60.00
...
...
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
I can't find my external display.
After some google search, it seems some workround should be applied to the X Window Server:
$ sudo vim /usr/share/X11/xorg.conf.d/20-displaylink.conf
with the following content:
Section "Device"
Identifier "DisplayLink"
Driver "modesetting"
Option "PageFlip" "false"
EndSection
Restart the system.
Then I can find the virutal device(external monior) DVI-I-1-1 like this:
$ xrandr
Screen 0: minimum 320 x 200, current 2560 x 2592, maximum 8192 x 8192
eDP-1 connected primary 2048x1152+0+1440 (normal left inverted right x axis y axis) 294mm x 165mm
3200x1800 59.98 + 59.96 59.94
2880x1620 59.96 59.97
2560x1600 59.99 59.97
2560x1440 59.99 59.99 59.96 59.95
2048x1536 60.00
...
...
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DVI-I-1-1 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
2560x1440 59.95*+
2048x1152 60.00
1920x1200 59.95
1920x1080 60.00 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98
1600x1200 60.00
...
...
640x480 75.00 60.00 59.94
720x400 70.08
2560x1440 (0x50) 241.500MHz +HSync -VSync
h: width 2560 start 2608 end 2640 total 2720 skew 0 clock 88.79KHz
v: height 1440 start 1443 end 1448 total 1481 clock 59.95Hz
...
...
640x480 (0x9b) 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
and in ~/.i3/config, I got the following config to control the monitor dispatch.
bindsym $mod+Shift+p exec xrandr --output eDP-1 --primary --mode 2048x1152 --output DVI-I-1-1 --mode 2560
x1440 --above eDP-1
My $mod is binding to Cmmand key, now I can use cmd+shift+p to extend the monitor via the USB line of the Dell docker.
[1] https://support.displaylink.com/knowledgebase/articles/1181623