Ubuntu解决Nvidia驱动缺失导致的HDMI无法输出问题 您所在的位置:网站首页 amdvega8显卡hdmi没有输出 Ubuntu解决Nvidia驱动缺失导致的HDMI无法输出问题

Ubuntu解决Nvidia驱动缺失导致的HDMI无法输出问题

2023-09-01 22:44| 来源: 网络整理| 查看: 265

朋友的电脑是联想Y7000,因为Nvidia驱动的问题几次头疼脑大。这次是出现了HDMI在Windows 10下输出正常,而Ubuntu系统下无法输出。

原因分析

如果通过HDMI去连接显示器以后会发现显示器没有任何输出, 这主要是因为此电脑的HDMI接口是连在独显上的, 但是独显的闭源驱动并没有安装上, 所以显示器没有任何输出, 通过成功安装GTX1650显卡驱动, 外接显示器就可以正常工作。 如此看来,原因即为显卡驱动为正常安装。

安装驱动方式的选择

NVIDIA驱动一共有三种方法:

ppa方式, 也就是添加软件源, 然后sudo apt-get install xxxx, 通过deb文件进行安装; 附加驱动方式,也就是系统设置->软件和更新->附加驱动中可以找到NVIDIA的驱动, 点击合适的版本,最后应用更改; (我这里是添加了ppa以后附加驱动才有内容的, 没有加ppa之前附加驱动是空白的); .run方式, 也就是去NVIDIA驱动官网下载对应显卡的run文件。 按照参考资料,我们选择第一种方法。 安装之路

查看自己的显卡版本 lspci | grep -i NVIDIA 注:

如果查看驱动版本可使用:sudo dpkg --list | grep nvidia-*; 亦可以使用lspci -k | grep -A 2 -i "VGA",但是可能无法显示出具体版本(如GTX 1050 Ti)型号。

卸载原有旧驱动(若安装过) 由于第一次安装不成功, 所以需要卸载以前不成功的驱动, 卸载方法如下(第一次安装NVIDIA则可以跳过): ppa方式安装:sudo apt-get purge nvidia-* .run方式安装:cd $ 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 注意:很可能遇到问题:

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

解决方法为下载相应的文件, 复制到对应的目录。

下载地址: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。 安装方法: 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; 重启以后可以发现系统设置->详细信息中的图形变成了: GeForce GTX 1050 Ti; 通过nvidia-settings打开NVIDIA的配置面板, 可以发现渲染器Renderer为独立显卡GTX 1050; 通过nvidia-smi --loop=1可以发现, 系统是否使用了NVIDIA显卡驱动, 如果使用率为0, 多半是安装错误。

注意:若安装失败勿惊慌,直接进入tty1卸载驱动重装即可。

最终解决方法

在ubuntu16.04刚安装时,显卡默认为Intel集成显卡。

禁用自己的secure boot,也就是设置为disable,具体的进入自己bios中找一下,一般在security或者boot里面。

进入终端输入两条命令

ubuntu-drivers devices sudo ubuntu-drivers autoinstall 重新启动

注意:关键点其实在于secure boot,当然不禁止也是可以的。安装过程中会引导输入MOK密钥,只需要重启时在secure boot界面再输入一次同样可以加载第三方驱动。

附录 设置双显示器方式

除了基本的使用设置功能,还可以使用命令行的方式:

打开外接显示器,双屏幕显示相同的内容--克隆,(auto为最高分辨率) xrandr --output VGA-0 --same-as LVDS --auto 若要指定外接显示器的分辨率可以使用下面的命令(1280x1024) 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模式下显示错乱问题

tty模式下中文乱码解决,可参考此文章。

参考资料 https://zhuanlan.zhihu.com/p/83637608 https://blog.csdn.net/jyl1999xxxx/article/details/78871622


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有