Ubuntu 16.04下Xrandr无法识别HDMI外接显示器问题求助
解决Ubuntu 16.04下Nvidia Quadro M2000M HDMI端口无法使用的问题
我之前处理过类似的Nvidia显卡在Ubuntu下HDMI输出失效的情况,结合你的配置(Ubuntu 16.04 + 4.4.0-96内核 + Quadro M2000M + 384.111驱动),可以按以下步骤排查修复:
1. 重新生成Nvidia Xorg配置文件
Windows下正常说明硬件没问题,大概率是Ubuntu的显卡配置文件有异常:
- 先备份原有配置,避免出错:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak - 生成适配当前显卡的新配置:
sudo nvidia-xconfig - 重启系统后,再运行
xrandr查看输出,确认是否出现HDMI相关的端口(比如HDMI1、DP-1等)
2. 手动强制识别并启用显示器
如果xrandr还是没显示HDMI端口,或者显示了但无法启用,可以手动添加分辨率模式:
- 先生成目标分辨率的模式参数(这里以1920x1080@60Hz为例):
cvt 1920 1080 - 复制输出中的模式信息,用
xrandr --newmode添加(比如输出是1920x1080_60.00 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync):xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync - 将模式添加到HDMI端口(替换成你实际的端口名称,比如
HDMI1):xrandr --addmode HDMI1 1920x1080_60.00 - 最后启用该显示器(这里设置为主屏右侧,可根据需求调整):
xrandr --output HDMI1 --mode 1920x1080_60.00 --right-of eDP1
3. 检查Nvidia驱动模块与冲突驱动
确保Nvidia内核模块正常加载,且没有开源驱动干扰:
- 查看Nvidia模块是否加载:
如果没有输出,手动加载模块:lsmod | grep nvidiasudo modprobe nvidia - 检查是否有nouveau开源驱动在运行(会和Nvidia闭源驱动冲突):
如果有输出,需要禁用nouveau:lsmod | grep nouveau- 创建配置文件:
sudo nano /etc/modprobe.d/blacklist-nouveau.conf - 添加以下内容:
blacklist nouveau options nouveau modeset=0 - 更新initramfs并重启:
sudo update-initramfs -u sudo reboot
- 创建配置文件:
4. 升级内核版本
你的内核是4.4.0-96,属于较老的版本,可能和384.111驱动存在兼容性问题。Ubuntu 16.04支持升级到4.15系列的长期支持内核:
- 安装新内核:
sudo apt-get install linux-image-4.15.0-193-generic linux-headers-4.15.0-193-generic - 重启系统,在GRUB菜单中选择新内核启动,再测试HDMI输出
如果以上步骤都无效,可以尝试卸载当前驱动后重新安装:
sudo apt-get purge nvidia* sudo apt-get install nvidia-384
内容的提问来源于stack exchange,提问作者Eli
相关产品推荐
相关产品推荐

