我的机器上连接了一个 USB2 DisplayLink 适配器,以便使用我这里的第二台显示器。主显卡是可怕的 Poulsbo,所以不用担心硬件加速(反正对 Emacs 没什么影响 ;-)。
因此我只使用一个简单的 xorg.conf:
Section "Device"
Identifier "Video Device"
driver "modesetting"
EndSection
X 服务器启动正常,但只使用了主(即 Poulsbo 连接的)显示器。检测到了另一张卡(如“xrandr --list-providers”输出所示),但“不够”(如“xrandr”中只显示一个输出所示):
% xrandr
Screen 0: minimum 320 x 200, current 1200 x 1600, maximum 4096 x 4096
DVI-0 connected 1200x1600+0+0 left (normal left inverted right x axis y axis) 432mm x 324mm
1600x1200 60.00*+ 54.88
1280x1024 75.02 60.02
1280x960 60.00
1152x864 75.00
1024x768 75.08 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
640x480 75.00 72.81 66.67 60.00
720x400 70.08
% xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x77 cap: 0x0 crtcs: 2 outputs: 1 associated providers: 0 name:modesetting
Provider 1: id: 0x41 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
%
Xorg.0.log 文件没有任何特殊的 (WW) 或 (EE),除了预期的 glamor/aiglx 故障。我看到的唯一其他可能出现问题的提示是当我启动“xinit”时,我得到了:
pci id for fd 10: 8086:8108, driver (null)
EGL_MESA_drm_image required.
MESA-LOADER: malformed or no PCI ID
gbm: failed to open any driver (search paths /usr/lib/i386-linux-gnu/dri:${ORIGIN}/dri:/usr/lib/dri)
gbm: Last dlopen error: /usr/lib/dri/udl_dri.so: cannot open shared object file: No such file or directory
failed to load driver: udl
EGL_MESA_drm_image required.
xf86: found device 1
所以我的问题是:我如何才能启用我的第二张 (displaylink) 卡上的输出?或者,我在哪里可以找到更多信息(因为“modesetting”关键字最终匹配了大量关于其他驱动程序的不相关线程,因此网络搜索无果)?
答案1
新的 DisplayLink 驱动程序 (udldrmfb) 不支持您的显卡,就我而言,我希望使用 Intel DRI/OpenGL,但使用 USB 进行显示。udlfb 已经过时并且应该被列入黑名单。fbdev 不会为您提供硬件加速。
开箱后,如果在启动前插入电源,我的屏幕无需 xorg.conf 即可工作
xrandr --listproviders
Provider 0: id: 0x48 cap: 0x9, Source Output, Sink Offload crtcs: 4 outputs: 5 associated providers: 1 name:Intel
Provider 1: id: 0xe8 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting
但是,我想要一个可以工作的 Xorg.conf,这样我就可以在 Odroid 上调整/使用 Mali (ARM),这需要 Xorg.conf
BusID
并且kmsdev
需要针对您的特定设置进行调整,请参阅lspci
和/sys/class/drm/
。如果您的显示器具有正确的 EDID,则可以省略“显示器”部分。
Section "Device"
Identifier "inteldev"
Driver "intel"
BusID "PCI:0:2:0"
EndSection
Section "Device"
Identifier "usbdev"
Driver "modesetting"
Option "kmsdev" "/dev/dri/card0"
EndSection
Section "Monitor"
Identifier "DVI-1-0"
Option "PreferredMode" "1280x800"
EndSection
Section "Screen"
Identifier "Screen0"
Device "inteldev"
EndSection
Section "Screen"
Identifier "Screen1"
Device "usbdev"
EndSection
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1"
Option "Xinerama" "0"
EndSection
环境:Ubuntu 14.04.1、3.19.0-9-通用内核、Intel i7-4770R、Iris Pro 5200、Mimo USB 屏幕。