我正在努力让 X 识别我的 DisplayLink 适配器。我有一个板载 Intel HD 3000 芯片组。
这是 uldfb:
lloydm@lloydm-E6320:~$ dmesg | grep -i udlfb
[20006.928772] udlfb: DisplayLink IOGEAR External DVI - serial #112644
[20006.928780] udlfb: vid_17e9&pid_0059&rev_0102 driver's dlfb_data struct at ffff880157ec4000
[20006.928781] udlfb: console enable=1
[20006.928782] udlfb: fb_defio enable=1
[20006.928783] udlfb: shadow enable=1
[20006.928882] udlfb: vendor descriptor length:22 data:22 5f 01 0020 05 00 01 03 04 02
[20006.928884] udlfb: DL chip limited to 2080000 pixel modes
[20006.928940] udlfb: allocated 4 65024 byte urbs
[20006.929002] usbcore: registered new interface driver udlfb
[20007.023505] udlfb: 1920x1200 beyond chip capabilities
[20007.023515] udlfb: 720x400 @ 70 Hz valid mode
[20007.023521] udlfb: 640x480 @ 60 Hz valid mode
[20007.023524] udlfb: 640x480 @ 75 Hz valid mode
[20007.023528] udlfb: 800x600 @ 60 Hz valid mode
[20007.023531] udlfb: 800x600 @ 75 Hz valid mode
[20007.023535] udlfb: 1024x768 @ 60 Hz valid mode
[20007.023539] udlfb: 1024x768 @ 75 Hz valid mode
[20007.023543] udlfb: 1280x1024 @ 75 Hz valid mode
[20007.023546] udlfb: 1280x1024 @ 60 Hz valid mode
[20007.023550] udlfb: 1600x1200 @ 60 Hz valid mode
[20007.023553] udlfb: 1920x1200 beyond chip capabilities
[20007.023556] udlfb: 1152x864 @ 75 Hz valid mode
[20007.023561] udlfb: Reallocating framebuffer. Addresses will change!
[20007.025615] udlfb: 1600x1200 @ 60 Hz valid mode
[20007.025619] udlfb: set_par mode 1600x1200
[20007.035253] udlfb: DisplayLink USB device /dev/fb1 attached. 1600x1200 resolution. Using 7504K framebuffer memory
[35424.954154] udlfb: open /dev/fb1 user=1 fb_info=ffff880157ec2000 count=1
[35427.104763] udlfb: released /dev/fb1 user=1 count=0
这是成功的:
sudo dd if=test.png of=/dev/fb1
7500+1 records in
7500+1 records out
3840024 bytes (3.8 MB) copied, 0.260879 s, 14.7 MB/s
稍微有点错位(向右环绕 1/4 英寸),但还是成功了。
这是我当前的 xrandr 配置:
Screen 0: minimum 320 x 200, current 3840 x 1200, maximum 32767 x 32767
LVDS1 connected (normal left inverted right x axis y axis)
1366x768 60.0 + 40.0
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
1920x1200 60.0*+
1600x1200 60.0
1280x1024 75.0 60.0
1152x864 75.0
1024x768 75.1 60.0
800x600 75.0 60.3
640x480 75.0 60.0
720x400 70.1
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 connected 1920x1200+1920+0 (normal left inverted right x axis y axis) 518mm x 324mm
1920x1200 60.0*+
1600x1200 60.0
1280x1024 75.0 60.0
1152x864 75.0
1024x768 75.1 60.0
800x600 75.0 60.3
640x480 75.0 60.0
720x400 70.1
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
这是我建议的 10-monitor.conf 配置文件(尚未应用):
Section "Device"
Identifier "intel"
driver "intel"
EndSection
Section "Device"
Identifier "dl1"
driver "displaylink"
Option "fbdev" "/dev/fb1"
EndSection
Section "Monitor"
Identifier "monitor0"
EndSection
Section "Monitor"
Identifier "monitor1"
EndSection
Section "Monitor"
Identifier "monitor2"
EndSection
Section "Screen"
Identifier "screen0"
Device "dl1"
Monitor "monitor0"
DefaultDepth 16
EndSection
Section "Screen"
Identifier "screen1"
Device "intel"
Monitor "monitor1"
DefaultDepth 16
EndSection
Section "Screen"
Identifier "screen2"
Device "intel"
Monitor "monitor2"
DefaultDepth 16
EndSection
Section "ServerLayout"
Identifier "multihead"
Screen 0 "screen0" 1280 0
Screen 1 "screen1" RightOf "screen0"
Screen 2 "screen2" RightOf "screen1"
Option "Xinerama" "on"
EndSection
我必须手动构建它。我还不是超级 Linux 大神。我有三个显示器,默认情况下两个正在工作。我希望在应用它之前让比我更了解 X 的人看一下它,因为我真的不想弄坏我的盒子。再说一遍。这是正确的配置吗?