首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在戴尔笔记本电脑上安装Nvidia驱动程序- Ubuntu 16.04

如何在戴尔笔记本电脑上安装Nvidia驱动程序- Ubuntu 16.04
EN

Ask Ubuntu用户
提问于 2016-09-04 07:14:32
回答 1查看 2.5K关注 0票数 1

在从Ubuntu15.10升级到16.04.1 (两者都是64位)之后,我陷入了一个无限的登录循环--每次登录lightdm,登录屏幕后都会变黑,然后回到登录屏幕。登录tty0很好。我有一个戴尔纬度3350笔记本电脑的核心i5 5200 U和Nvidia GeForce 830米。在我使用nvidia-361之前,升级决定了我需要nvidia-352驱动程序。在我的UEFI BIOS中,我早些时候看到的很多指令都提到了安全启动,但这已经关闭了(我不记得我是在一拿到笔记本电脑的时候就把它关掉了,还是它是从戴尔运来的)。重新安装和/或重新配置lightdm没有帮助。他们至少为我指明了卸载Nvidia驱动程序的方向,但这只是一个部分解决方案。这不是我在askubuntu上看到的其他问题的重复,因为对其他人有效的步骤对我不起作用。最接近的指南可能是如何安装Nvidia Optimus硬件的正常图形驱动程序*Ubuntu 16.04?。然而,这并不能使Nvidia GPU对我有用,我不得不安装大黄蜂。此外,该指南还链接到[联想T440p NVidia GT 730 m上的大黄蜂与XUbuntu/Ubuntu16.04LTS]{http://lenovolinux.blogspot.co.za/2016/05/bumblebee-on-lenovo-t440p-nvidia-gt.html?m=1},但遵循这些说明实际上也让我失去了一只正常工作的大黄蜂。

在谷歌搜索了很多之后,我发现部分解决方案是卸载Nvidia驱动程序。我最终找到了这些指令,这使我能够登录。

在继续之前,一个重要的注意事项是,您似乎需要使用系统设置中的附加驱动程序选项卡安装intel-microcode驱动程序。我已经安装了它们(可能来自Ubuntu15.10天),所以我从未测试过如果它们没有安装会发生什么。

我使用以下命令删除Bumble蜜蜂和Nvidia驱动程序,然后重新安装Nvidia驱动程序。请注意,需要添加图形驱动程序存储库才能获得最新的Nvidia驱动程序:

代码语言:javascript
复制
sudo apt-get purge .*nvidia.* bumblebee.* .*primus.*
sudo apt-get --purge autoremove
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt install nvidia-367 nvidia-prime nvidia-settings

这导致安装了下列软件包:

代码语言:javascript
复制
bbswitch-dkms libcuda1-367 libjansson4 nvidia-367 nvidia-opencl-icd-367 nvidia-prime nvidia-settings screen-resolution-extra

然后我做了rm .nvidia-settings-rc

此时,指令说要运行一些使用GPU的程序。如果我运行clinfo (我确实使用GPU进行OpenCL开发),那么一切都很好。其他OpenCL程序也可以正常工作。但是,如果我运行glxinfo,就会得到以下输出:

代码语言:javascript
复制
name of display: :0
Error: couldn't find RGB GLX visual or fbconfig

我继续执行指令,以便让大黄蜂跑起来。需要sudo prime-select intel,因为否则,在重新启动之后,我将返回无限登录循环。重新启动后,我执行了sudo apt install bumblebee,然后编辑了/etc/bumblebee/bumblebee.conf,将nvidia-current的所有实例更改为nvidia-367。我还编辑了/etc/modprobe.d/bumblebee.conf以包含行blacklist nvidia-367。由于没有nvidia-367-updatesnvidia-experimental-367包可供我安装,所以我没有将它们列入黑名单。

重新启动后,我可以运行primusrun clinfo并打印出Nvidia平台。在Nvidia GPU上运行OpenCL程序在使用primusrun时也能工作。但是,primusrun glxinfo给出了一个错误:

代码语言:javascript
复制
primus: fatal: Bumblebee daemon reported: error: [XORG] (EE) Failed to load module "mouse" (module does not exist, 0)

使用optirun进行任何操作都会给出类似的错误,例如optirun clinfooptirun glxinfo都给出了如下结果:

代码语言:javascript
复制
[  462.796690] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) Failed to load module "mouse" (module does not exist, 0)

[  462.796725] [ERROR]Aborting because fallback start is disabled.

我尝试将行Bridge=改为Bridge=primus,并将PMMethod=auto行更改为PMMethod=bbswitch (在/etc/bumblebee/bumblebee.conf中)。这没什么用。

我如何让大黄蜂和Nvidia的司机在这里工作,似乎没有一套指令有效?奖励:当我使用prime-select nvidia而不是大黄蜂时,如何让Nvidia驱动程序充分工作?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2016-09-04 07:14:32

到目前为止,我发现的解决方案可以让大黄蜂工作(主要是),并提供了一种在不使用时手动关闭Nvidia GPU的方法。我还没有让glxinfo在使用prime-select nvidia而不是optirun时工作。

我开始遵循这些的指令。我将i915bbswitch添加到/etc/modules中。我负责sudo gpasswd -a $USER bumblebeesudo systemctl enable bumblebeed。这两个命令似乎已经成功完成了。重新启动后,问题仍然是一样的。如果我执行sudo prime-select nvidia,然后是glxinfo,则仍然会得到错误couldn't find RGB GLS visual or fbconfig

此时,我决定安装bumblebee-nvidia --我在问题中链接到的说明说不要,上面的链接确实包含了它。令人惊讶的是,这主要解决了我的问题。现在,做optirun glxinfoprimusrun glxinfo打印出Nvidia GPU的信息。optirun glxgearsoptirun glxheads (同时也使用primusrun)工作得很好。在之前的迭代中,通过试图修复这个问题,安装bumblebee-nvidia破坏了optirun/primusrun

唯一不起作用的是prime-select nvidia,其次是glxinfo。然后,我仍然会发现加载模块“鼠标”失败的错误。而且,如果我运行cat /proc/acpi/bbswitch,我会继续获取0000:04:00.0 ON,我相信这表明我的Nvidia GPU仍然在运行。运行lspci | grep NVIDIA将返回04:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 830M] (rev a2),它确认了我的Nvidia GPU的PCIe地址。

基于dmesg | grep bbswitch的电源问题是,nvidia模块阻止GPU关闭。通过运行sudo rmmod nvidia_drmsudo rmmod nvidia_uvmsudo rmmod nvidia_modesetsudo rmmod nvidia,然后运行sudo tee /proc/acpi/bbswitch <<<OFF,可以手动关闭Nvidia GPU。虽然不是很好,所以我去寻找一种自动的方法来完成这项工作。

为了解决大黄蜂没有关掉我的Nvidia GPU,我尝试了指令从大黄蜂项目,但没有成功。具体来说,我的/etc/modprobe.d/bbswitch.conf包含options bbswitch load_state=0,我将bbswitch load_state=0添加到/etc/modules的末尾。我确实运行了sudo update-initramfs -u,然后重新启动,但是cat /proc/acpi/bbswitch仍然显示GPU是开着的。目前,我正在通过使用带有rmmod命令的脚本来关闭Nvidia GPU来解决这个问题。使用optirunprimusrun运行任何程序都会自动重新加载这些驱动程序。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/820738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档