朋友的电脑是联想Y7000,因为Nvidia驱动的问题几次头疼脑大。这次是出现了HDMI在Windows 10下输出正常,而Ubuntu系统下无法输出。
如果通过HDMI去连接显示器以后会发现显示器没有任何输出, 这主要是因为此电脑的HDMI接口是连在独显上的, 但是独显的闭源驱动并没有安装上, 所以显示器没有任何输出, 通过成功安装GTX1650显卡驱动, 外接显示器就可以正常工作。
如此看来,原因即为显卡驱动为正常安装。
NVIDIA驱动一共有三种方法:
lspci | grep -i NVIDIA
sudo dpkg --list | grep nvidia-*
;lspci -k | grep -A 2 -i "VGA"
,但是可能无法显示出具体版本(如GTX 1050 Ti)型号。sudo apt-get purge nvidia-*
cd <the path of .run file>$ sudo ./NVIDIA-Linuxxxxx-version.run --uninstall
屏蔽Ubuntu自带驱动
由于电脑安装了NVIDIA的开源驱动nouveau, 所以我们先要将其屏蔽掉, 屏蔽方法是将其放入blacklists中。
通过lsmod | grep nouveau
可以发现系统已载入的nouveau模块,其后,输入命令sudo gedit /etc/modprobe.d/blacklist.conf
,在blacklist.conf文件中, 最后一行输入:
blacklist vga16fb blacklist nouveau blacklist rivafb blacklist rivatv blacklist nvidiafb
升级内核
sudo update-initramfs -u
注意:很可能遇到问题:
```shell
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
```
解决方法为下载相应的文件, 复制到对应的目录。
1. 下载地址:https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915
备注:个人地址:如果外网打不开或者是下载速度过慢,可使用此链接下载。kbl_guc_ver9_14.bin,bxt_guc_ver8_7.bin。
2. 安装方法:
```shell
cd [the path of bin file]
sudo cp kbl_guc_ver9_14.bin /lib/firmware/i915/
sudo cp bxt_guc_ver8_7.bin /lib/firmware/i915/
```
重启并进入tty1模式
sudo reboot
重启后通过Ctrl + Alt + F1进入tty1界面(这个界面是纯黑底白字的, 如果想再次回到桌面, 可以通过Ctrl + Alt + F7进入), 然后将桌面管理器lightdm关闭, 添加ppa, 更新源, 查找推荐驱动, 安装驱动, 开启lightdm服务, 回到桌面, 重启。具体命令如下:
sudo service lightdm stop
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo ubuntu-drivers devices
# 这一步会看到推荐的驱动版本号,但不一定能显示出来
sudo apt-get install nvidia-123 nvidia-settings nvidia-prime
sudo service lightdm start
sudo reboot
xrandr
,看是否识别了Screen 1,以及HDMI;nvidia-settings
打开NVIDIA的配置面板, 可以发现渲染器Renderer为独立显卡GTX 1050;nvidia-smi --loop=1
可以发现, 系统是否使用了NVIDIA显卡驱动, 如果使用率为0, 多半是安装错误。注意:若安装失败勿惊慌,直接进入tty1卸载驱动重装即可。
除了基本的使用设置
功能,还可以使用命令行的方式:
xrandr --output VGA-0 --same-as LVDS --auto
xrandr --output VGA-0 --same-as LVDS --mode 1280x1024
打开外接显示器,设置为右侧扩展
xrandr --output VGA-0 --right-of LVDS --auto
xrandr --output VGA-0 --left-of LVDS --auto
xrandr --output VGA-0 --off
打开VGA-0接口显示器,关闭LVDS接口显示器
xrandr --output VGA-0 --auto --output LVDS --off
注意:需要注意的是,在使用xrangr命令设置双屏幕之前,需要先运行xrandr查看VGA,LVDS以及HDMI接口的连接方式以及接口正确的名称,如上为:VGA-0,LVDS和HDMI。
tty模式下中文乱码解决,可参考此文章。
Ubuntu解决Nvidia驱动缺失导致的HDMI无法输出问题
原文:https://www.cnblogs.com/letisl/p/11986006.html