购买笔记本拥有Intel集成显卡和NVIDIA显卡,如何在Debian Linux下启用NVIDIA显卡是一个难题。幸运的是,通过bumblebee软件可在Linux下支持NVIDIA Optimus技术,实现Intel集成显卡和NVIDIA显卡之间的切换使用。
背景知识
NVIDIA Optimus
Optimus是NVIDIA针对笔记本电脑的显示切换技术。它可以实现笔记本电脑中独立显卡与主板内置显卡之间无缝、自动、实时的切换(用户无需重启或手动调整),从而实现能源的节约。
利用Optimus技术后,计算机的显示输出永远都只会通过集成式芯片组的显示核心。独立显卡的显示输出将会被废掉,有关的输出亦会发送到前者。由于显示输出的设备是固定的,所以黑屏现象将会被解决。额外的切换线路亦变得不需要,因为在不需要独立显示核心的时候,系统会索性断绝其电源供应。当系统的显示负载轻的时候,就会完全利用内置的显示核心。当负载增加后,系统就会打开独立显示核心作计算之用。协议分工方面由驱动程序负责,NVIDIA声称可以兼容所有的API。
Bumblebee
Bumblebee 致力于使 NVIDIA Optimus 在 GNU/Linux 系统上可用,实现两块不同的供电配置的显卡同时插入使用,共享同一个 framebuffer。
安装配置过程
禁止加载开源驱动nouveau1
2
3
4
5
6
7
8$ vi /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
#上述文件不存在则新建,在文件中添加下面两行文字
blacklist nouveau
options nouveau modeset = 0
#系统重启后使用以下命令查看nouveau驱动是否被禁止
lsmod |grep -i nouveau
安装内核头文件1$ sudo apt-get install -y linux-headers-$(uname -r)
安装NVIDIA驱动1
2# 关于是否生存xorg.conf文件,选no
$ sudo apt-get install nvidia-driver nvidia-xconfig nvidia-kernel-dkms
安装双显卡切换解决方案包1$ apt-get install bumblebee-nvidia primus
添加当前用户到bumblebee用户组1$ adduser $USER bumblebee
修改bumblebee配置1
2
3
4
5
6
7
8
9
10
11
12$ vi /etc/bumeblebee/bumblebee.conf
: Driver=nvidia
#将/etc/bumeblebee/bumblebee.conf文件中的Driver=* 改成 =nvidia
$ vi /etc/bumblebee/xorg.conf.nvidia
:BusID "PCI:01:00:0"
#在/etc/bumblebee/xorg.conf.nvidia文件中,将Section“Device”部分添加PCI ID
# 可使用如下命令查看NVIDIA显卡的BUS ID
nvidia-xconfig --query-gpu-info | grep 'BusID : ' | cut -d ' ' -f6
重启进入桌面
如果无法进入桌面环境,则安装失败,进入高级修复使用如下命令进行清理。
1$ sudo apt-get purge nvidia* bumblebee* prime*
bumblebee服务开机不会启动,设置开机启动即可。
1$ update-rc.d -f bumblebee defaults
使用独显运行程序
bumblebee不能做到集显和独显之间自动切换,系统运行时默认使用集显,当你需要使用独显运行某个程序或者游戏的时候,终端执行如下命令即可:
1
2$ optirum command #使用独显运行command程序
$ optirum -b primus command #使用独显运行command程序,提升性能
参考链接