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 |