我在将外部显示器连接到 Dell Precision M6500 笔记本电脑时遇到问题。我正在使用 gdm3 运行 Debian Stretch。
我尝试通过 VGA 连接外部显示器。我的笔记本电脑有 DP 和 VGA 端口。
使用 lspci 时,会找到 VGA 控制器:
michal@ntpc01:~$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation G92GLM [Quadro FX 2800M] (rev a2)
但是使用 xrandr,没有其他可见的端口:
michal@ntpc01:~$ xrandr
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1440 x 900, maximum 1440 x 900
default connected primary 1440x900+0+0 0mm x 0mm
1440x900 0.00*
1280x800 0.00
1280x720 0.00
1024x768 0.00
800x600 0.00
640x480 0.00
我安装了旧版(340xx)版本和 bumblebee 的 nvidia 驱动程序。按照指示Nvidia驱动程序手册。我还安装了firmware-linux-nonfree。在安装驱动程序之前,我在 xrandr 中列出显示器没有问题,但显示器尚未被识别。我发现可能是没有驱动导致的,所以我安装了一下,出现这样的问题。
Xorg 日志(日志中有两个文件具有相同的修改日期,所以我粘贴这两个文件):
Xorg.0.log
Xorg.1.log
答案1
日志表明您正在回退到未加速的vesa
Xorg 驱动程序模块。
[ 25.387] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 25.387] (II) FBDEV: driver for framebuffer: fbdev
[ 25.387] (II) VESA: driver for VESA chipsets: vesa
[ 25.519] (EE) [drm] Failed to open DRM device for pci:0000:01:00.0: -19
[ 25.519] (EE) open /dev/dri/card0: No such file or directory
[ 25.519] (WW) Falling back to old probe method for modesetting
根本没有使用专有驱动程序。
驱动vesa
程序对多个显示器一无所知,因此这肯定是问题的原因。
首先,您应该确保适当的内核模块已加载并正常工作。如果您想使用开源nouveau
驱动程序,那就是nouveau
内核模块。如果未加载,请找出原因并修复它。
如果您想使用专有nvidia
驱动程序,nvidia_drm
则应加载该模块。
这些解决方案中的任何一个都适用于您的卡,但您必须选择一个或另一个,并确保相反的驱动程序的内核模块被列入黑名单,/etc/modprobe.d/*.conf
以便系统不会尝试加载它:不同驱动程序的模块彼此冲突。
在这两种情况下,当适当的模块加载并工作时,设备/dev/dri/card0
就应该存在。此时,X 服务器应该自动选择适当的驱动程序,然后xrandr
应该看到显示控制器中可用的完整功能。