Fedora24(Linux)Nvidia 双显卡驱动解决方案(Bumblebee)

现在的笔记本显卡多为 Intel 核心显卡 + Nvidia 显卡的组合模式,如果没能正确的管理 Linux 操作系统的双显卡驱动,可能会导致发热和性能差的问题。由于我们在 Linux 中极少运行对显卡要求特别高的 3D 程序,因此并不需要一直开启 Nvidia 独立显卡,只在需要它的时候再开启就好,Bumblebee 提供了一个很棒的解决方案。 本文以 Fedora24 为例:

一、确认硬件环境

当然,首先你得确定你的电脑确实是 Intel+Nvidia 的双显卡组合模式(optimus),查看方法很简单,只需要一条命令:

1
lspci | egrep 'VGA|3D'

如果你的电脑是双显卡,将会输出类似如下的信息:

二、禁用 Nouveau

Nouveau 是一个大多数 Linux 发行版都会自带的 Nvidia 第三方驱动程序,不过 Nouveau 只支持 2D,不支持 3D,可想而知其性能有多差。安装 Bumblebee 之前必须禁用 Nouveau,否则会出现问题,方法如下: 运行命令:

1
sudo gedit /etc/modprobe.d/blacklist.conf

在打开的窗口中加上如下内容:

blacklist nouveau options nouveau modeset=0

保存并重新启动操作系统。

三、安装 Bumblebee

不同版本的 Fedora 稍有不同 开源驱动(Nouveau)命令如下(如果安装此版本,则无需执行上面的第二步):
fedora 22:

1
dnf -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora22/noarch/bumblebee-release-1.2-1.noarch.rpm

fedora 23:

1
dnf -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora23/noarch/bumblebee-release-1.2-1.noarch.rpm

fedora 24:

1
dnf -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora24/noarch/bumblebee-release-1.2-1.noarch.rpm

闭源驱动(Nvidia)命令如下:(推荐) fedora 22:

1
dnf -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora22/noarch/bumblebee-nonfree-release-1.2-1.noarch.rpm

fedora 23:

1
dnf -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora23/noarch/bumblebee-nonfree-release-1.2-1.noarch.rpm

fedora 24:

1
dnf -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora24/noarch/bumblebee-nonfree-release-1.2-1.noarch.rpm

四、安装 Bumblebee-nvidia

接下来执行(根据系统选择): 1、32 位系统:

1
dnf install bumblebee-nvidia bbswitch-dkms primus kernel-devel

2、64 位系统:

1
dnf install bumblebee-nvidia bbswitch-dkms VirtualGL.x86\_64 VirtualGL.i686 primus.x86\_64 primus.i686 kernel-devel

耐心的等待下载并安装完成,重新启动操作系统。

五、检查是否成功

1、运行如下命令再次查看显卡 pci 信息:

1
lspci | egrep 'VGA|3D'

检查 nvidia 显卡信息后面是否是 (rev ff),如果是,则证明 Bumblebee 已经运行; 2、运行如下命令比较帧数: 首先运行:

1
glxgears

查看终端中输出的 FPS 数值,此处的数值为使用核心显卡时的数值:

运行:

optirun glxgears

查看终端 FPS 信息,此时如果能够正常运行,则为 Nvidia 显卡在工作:

明显看出 FPS 从 60 飙升到 2000,证明 NVIDIA 生效;

六、使用 Bumblebee 软件

常规用法:

1
optirun [options] application [application-parameters]

下面举几个例子:

1、使用独立显卡运行 Windows(通过 Wine)应用程序:

1
$ optirun wine application.exe

我就是用这种方式来运行魔兽世界的,虽然不总玩,哈哈,谁说 Linux 不可以玩游戏!

2、打开 nvidia 显卡设置

1
$ optirun -b none nvidia-settings -c :8

3、使用独立显卡运行 Java 程序

1
$ optirun -b primus java -jar /PATH/TO/Minecraft.jar