如何在Ubuntu 14.04上安装带有Bumblebee的nVidia驱动程序
作为标题,我如何才能在Ubuntu上正确设置nvidia-optimus技术?
注意:这篇文章是在网上阅读各种内容花了很多天的结果,所以请自担风险。 它在Ubuntu 12.04 / 12.10 / 13.04 / 13.10 / 14.04(全部为64位)上使用nVidia GT650M显卡进行了测试。 随意添加评论和建议
安装nVidia和bumblebee
1.首先,我们必须删除计算机上的所有video驱动程序:
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 nvidia
dpkg -l | grep nvidia
和dpkg -l | grep bumblebee
dpkg -l | grep bumblebee
:它不应该返回任何东西。 对于dpkg -l | grep nouveau
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
从现在开始,我们在tty上工作。 使用CTRL + ALT + F1打开tty1控制台,并使用您的用户名和密码登录。 然后执行:
sudo service lightdm stop
现在我们将安装驱动程序。 执行:
sudo apt-get install nvidia-XXX-updates nvidia-settings
其中XXX是最新的稳定驱动程序。 我正在使用331驱动程序,但我已经读过343可供下载的地方(不知道它们是否稳定)。
注意:使用最新的驱动程序版本,默认情况下它还会安装nvidia-prime
。 该技术旨在自动在英特尔和nVidia显卡之间切换,无需用户干预。 为此,它会使两张卡都打开。 另一方面,Optimus仅在明确的用户请求下打开nVidia显卡; 相对于素数而言,它的功耗显着降低。
我个人更喜欢优化而不是素数,但如果你不打扰浪费能源,就停在这里。 否则,您有两种选择:
-
完全删除素数(
sudo apt-get remove --purge nvidia-prime
); -
留在那里; 在“Prime with optimus”一节中,我们将看到如何在安装了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.conf
和xorg.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-driver]部分:在“LibraryPath =”之后插入“/ usr / lib / nvidia-XXX-updates,/ usr / lib / nvidia-331-updates:/ usr / lib32 / nvidia-XXX-updates”
- [nvidia-driver]部分:在“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
的行都没有被注释(即它们不以#
开头)。
9.此时,运行以下命令
sudo service bumblebeed start
如果它返回错误,请尝试使用restart而不是start重新运行该命令。 如果您仍有错误,请执行以下操作:
restart: Unknown job: bumblebeed
bumblebee.conf文件中可能有问题; 所以,重新检查第7步。
相反,结果类似于:
bumblebeed start/running, process XXXXX
你很快就设置了大黄蜂!
10.现在我们可以简单地运行optirun glxspheres
或optirun 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-drivers,请在optirun
运行时打开另一个终端,然后键入sudo lshw -c display | grep driver
sudo lshw -c display | grep driver
。 结果应该是这样的。
configuration: driver=nvidia latency=0 configuration: driver=i915 latency=0
另一方面,如果关闭所有以optirun
启动的应用程序,它应该只显示英特尔驱动程序。 而已!!
安装Bumblebee UI
感谢Pavak Paul的回答,以下是在Ubuntu 14.04上添加bumblebee用户界面以管理使用nVidia打开的应用程序的说明。
1.安装Python App指标:
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
,然后单击Add)。
6.重新启动。
与optimus合作
如果您希望有时也可以选择使用nvidia-prime
,请尝试按照以下说明操作。
1.为防止bumblebeed
在启动时启动,请执行:
echo "manual" | sudo tee /etc/init/bumblebeed.override
这一点是最成问题的; 它可以防止大黄蜂将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-settings中选择“Intel(节电)”,则默认情况下只打开Intel图形卡。 您仍然必须使用optirun
运行应用程序才能使用nVidia图形卡
sudo service bumblebeed start optirun
如果您想要使用“Nvidia(性能)”配置文件,请从nvidia-settings中选择它,然后登录/注销,所有这些都应该自动运行。 唯一的事情是你不必选择这个配置文件来启动bumblebeed
守护进程,因为它可能会导致麻烦。
如果您遇到问题:
1.如果你只想使用nvidia-prime
:
sudo apt-get --purge remove bumblebee*
然后重启。
2.如果要在不删除nvidia-prime的情况下仅使用optimus,请再次编辑上一个文件:
sudo gedit /etc/modprobe.d/bumblebee.conf
从先前修改的行中取消注释(删除#字符):
# XXX blacklist nvidia-XXX blacklist nvidia-XXX-updates blacklist nvidia-experimental-XXX
并重新启动。 在这种情况下,您可以在启动时让大黄蜂运行:
sudo rm /etc/init/bumbebeed.override
- 无法在Ubuntu 14.04 LTS中安装nautilus-gksu
- Ubuntu 14.04系统从挂起状态唤醒时冻结
- 运行错误:apt-get install ttf-mscorefonts-installer
- 在Ubuntu 14.04上的VMWare Workstation 10上启用3D硬件加速
- Macbook Air – 如何安装双启动Ubuntu 14.04 LTS
- nm-applet不适用于Ubuntu 14.04
- Unity Tweak工具无法启动错误“com.canonical.unity.webapps schema is missing”
- 如何将Nautilus Launcher图标快速列表恢复为默认值
- 无法打开键盘背光