如何在Ubuntu 14.04上使用Bumblebee安装nVidia驱动程序


Answers:


26

注意:这篇文章是花了很多天时间阅读网络上的各种内容的结果,所以风险自负。它已在具有nVidia GT650M图形卡的Ubuntu 12.04 / 12.10 / 13.04 / 13.10 / 14.04(全部64位)上进行了测试。随时添加评论和建议


安装nVidia和Bumblebee

1.首先,我们必须删除计算机上的所有视频驱动程序:

sudo apt-get remove --purge nvidia*

然后,如果您以前已经安装过大黄蜂,请执行以下操作:

sudo apt-get remove --purge bumblebee*

我们还必须使用以下命令删除所有nouveau驱动程序:

sudo apt-get --purge remove xserver-xorg-video-nouveau

为确保已删除全部内容,请尝试键入dpkg -l | grep nvidiaand dpkg -l | grep bumblebee:它不应返回任何内容。对于dpkg -l | grep nouveau很可能返回一些行说libdrm-nouveauXXXXX; 现在,请忽略它们。

2.然后,我们必须确保键入所有标题:

sudo apt-get install linux-source && sudo apt-get install linux-headers-$(uname -r)

3.接下来要做的是将剩余的nouveau驱动程序和一些其他的可能会引起问题的软件包列入黑名单:

sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.bak
 sudo gedit /etc/modprobe.d/blacklist.conf

在文件末尾添加以下行:

# Necessary to install nvidia drivers
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off
options nouveau modeset=0

只需保存并退出。

4.现在,运行最了解的ubuntu命令

sudo apt-get update && sudo apt-get dist-upgrade -y

5.从现在开始,我们研究tty。使用CTRL + ALT + F1打开tty1控制台,然后使用您的用户名和密码登录。然后执行:

sudo service lightdm stop

现在,我们将安装驱动程序。执行:

sudo apt-get install nvidia-XXX-updates nvidia-settings

其中XXX是最新的稳定驱动程序。我正在使用331驱动程序,但是我读过某个地方可以下载343(不知道它们是否稳定)。

注意:对于最新的驱动程序版本,nvidia-prime默认情况下也会安装。该技术旨在自动在Intel和nVidia图形卡之间切换,而无需用户干预。为此,两个卡都保持打开状态。另一方面,Optimus仅在明确的用户请求下打开nVidia图形卡。相对于质数,它的功耗大大降低。

我个人更喜欢擎天柱而不是黄金,但如果您不担心能源的巨大浪费,请停在这里。否则,您有两个选择:

  • 完全删除质数(sudo apt-get remove --purge nvidia-prime);

  • 留下质素;在“带有擎天柱的Prime”部分中,我们将看到如何在安装有Prime的情况下使optirun工作

6.现在,我们必须使用以下命令安装bumblebee和virtualgl软件包:

sudo apt-get install bumblebee bumblebee-nvidia virtualgl virtualgl-libs virtualgl-libs-ia32:i386 virtualgl-libs:i386

然后,我们必须使用以下命令将用户添加到bumblebee组中:

sudo usermod -a -G bumblebee $USER

然后重启电脑。

7.登录您的用户帐户,打开一个新的终端窗口,然后键入:

cd /etc/bumblebee
ls -Al

在列出的各种文件中,特别应该有两个:bumblebee.confxorg.nvidia.conf。让我们用以下两者制作一个备份副本:

sudo cp FILE_NAME FILE_NAME.bak

您应将FILE_NAME替换为文件的实际名称。然后,让我们使用修改第一个文件sudo gedit bumblebee.conf,并添加(全部不带引号)

  • [bumblebeed]部分:在“ Driver =“之后插入“ nvidia”
  • [nvidia-driver]部分:在“ KernelDriver =“之后插入“ nvidia-XXX-updates”
  • [nvidia驱动程序]部分:在“ LibraryPath =“后插入” / usr / lib / nvidia-XXX-updates,/ usr / lib / nvidia-331-updates:/ usr / lib32 / nvidia-XXX-updates“
  • [nvidia驱动程序]部分:在“ XorgModulePath =”之后插入“ / usr / lib / nvidia-XXX-updates / xorg,/ usr / lib / xorg / modules”

确保[nvidia-driver]下的“ XorgConfFile”等于“ /etc/bumblebee/xorg.conf.nvidia”(同样,不带引号),然后保存并关闭gedit。

现在,我们必须使用编辑另一个文件sudo gedit xorg.conf.nvidia(在这种情况下,我们还必须插入引号!!)。替换 Option "ConnectedMonitor" "DFP"Option "UseDisplayDevice" "none",保存并退出。

8.运行gedit /etc/modprobe.d/bumblebee.conf并确保所有包含的行blacklist <something>均未注释(即,它们不以开头#)。

9.此时,运行以下命令

sudo service bumblebeed start

如果返回错误,请尝试使用重新启动而不是启动再次运行命令。如果仍然有错误,则类似:

restart: Unknown job: bumblebeed

bumblebee.conf文件中可能有错误;因此,请重新检查步骤7。

如果相反,结果类似于:

bumblebeed start/running, process XXXXX

您即将完成设置大黄蜂的工作!

10.现在我们可以简单地运行optirun glxspheresoptirun glxspheres64。如果所有工作都按预期进行,那么您将获得以下输出:

$ optirun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 650M/PCIe/SSE2
182.253407 frames/sec - 203.394802 Mpixels/sec
182.940725 frames/sec - 204.161849 Mpixels/sec
....

要仔细检查我们是否实际上正在使用nvidia驱动程序,请在optirun <application>运行时打开另一个终端,然后键入sudo lshw -c display | grep driver。结果应该是这样的。

configuration: driver=nvidia latency=0
configuration: driver=i915 latency=0

另一方面,如果关闭所有以optirun它启动的应用程序,则应仅显示intel驱动程序。而已!!


安装Bumblebee UI

感谢Pavak Paul的回答,这是在Ubuntu 14.04上添加bumblebee用户界面以管理要使用nVidia打开的应用程序的说明。

1.安装Python App Indicator:

sudo apt-get install python-appindicator

2.安装Git:

sudo apt-get install git

3.为git创建目录:

mkdir git && cd git

4.签出存储库:

git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
sudo ./INSTALL

5.转到启动应用程序并添加bumblebee-indicator [单击“添加”,然后插入所需的名称和注释;插入bumblebee-indicator命令框中,然后单击添加)。

6.重新启动。


擎天柱素

如果您想选择nvidia-prime有时也使用,请尝试按照以下说明进行操作。

1.为防止bumblebeed启动时启动,请执行以下操作:

echo "manual" | sudo tee /etc/init/bumblebeed.override

2.这是最成问题的;它可以防止大黄蜂将nVidia驱动程序列入黑名单,并应导致图形会话冻结。试试看,后果自负!跑:

sudo gedit /etc/modprobe.d/bumblebee.conf

并注释包含您的nVidia XXX驱动程序的行。它应该导致类似的结果。

# XXX
#blacklist nvidia-XXX
#blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

3.重新启动系统并启动nvidia-settings。最终的情况是这样的:

如果您在nvidia设置中选择“英特尔(省电)”,则默认情况下仅打开了英特尔图形卡。您仍然必须运行一个应用程序optirun才能使用nVidia图形卡

sudo service bumblebeed start
optirun <application>

相反,如果您要使用“ Nvidia(Performance)”配置文件,请从nvidia设置中选择它,然后登录/注销,所有设置都应自动运行。唯一的事情是您不必在bumblebeed选择此配置文件的情况下启动守护程序,因为它可能会引起麻烦。

如果您遇到问题:

1.如果只想使用nvidia-prime

sudo apt-get --purge remove bumblebee*

然后重新启动。

2.如果只想使用擎天柱而不删除nvidia-prime,请再次编辑上一个文件:

sudo gedit /etc/modprobe.d/bumblebee.conf

从先前修改的行中取消注释(删除#字符):

# XXX
blacklist nvidia-XXX
blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

并重新启动。在这种情况下,您可以在引导时让bumblebeed运行:

sudo rm /etc/init/bumbebeed.override

1
我按照Ubuntu 14.04上的说明进行操作,但是启动屏幕后屏幕变黑,并且无法登录。使用Dell XPS L502x,Nvidia GFRC GT540M。
DeepSidhu1313

1
您确定从一开始就遵循了所有说明吗?无论如何,请按CTRL + ALT + F1来访问tty,然后输入您的登录凭据并从头开始。
tigerjack89

1
好的,我vblank_mode=0 primusrun ./glxgears可以通过使用来解决问题,也可以使用vblank_mode=0 optirun -b primus ./glxgears。谢谢:)
DeepSidhu1313

1
请注意,我必须安装xorg-edgers ppa才能获得virtualgl软件包。
全新

1
这是迄今为止我正在投票的最新教程。我检查了一下,它适用于17.10。做得好。
Doodloo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.