arch 关闭独显_arch如何使用独显 · dcLunatic’s blog

概述

NVIDIA独立显卡,可以代替普通的集成显卡做显示,也可以独立于CPU之外来处理一些图形数据。性能优于集成显卡。所以玩游戏的时候,使用独立显卡会优于默认的集成显卡,会给我们带来给更好的游戏体验,比如在帧频方面上,独立显卡要远高于集成显卡。

总而言之,显卡越高端,玩游戏(特别是大型游戏)的游戏体验越好。

当然,如果没有什么特殊要求的话,只安装集成显卡对应的驱动就可以了,一般都是Intel的,我的是Intel+NVIDIA的,(近日听说steam上又多了好多款可以在linux上运行的游戏了^_^),所以就得要考虑下这个问题了。

Windows下,这些都不需要我们所操心了,但在Linux下,默认的独立显卡驱动是开源的nouveau,但是使用这个驱动会导致无法正常进入我们的桌面系统,而且,虽然nouveau是开源的,但是,它在显卡切换上性能比较差,不能与闭源的NVIDIA驱动相比,同时也不支持任何的省电功能(使用NVIDIA独立显卡会更耗电)。如果说电脑是独显+集显的,然后只安装了独显驱动,不装集显驱动的话,会导致屏幕黑屏的,因为NVIDIA的optimus功能会将独显的绘制结果交由集成显卡来显示。

当然,黑屏的原因不只只有这个,比如下面会遇到的装了集显独显驱动后,开机还是黑屏的情况。

所以考虑采取使用闭源的NVIDIA驱动,符合以下条件的,出门左拐,走好不送哈:没有独立显卡的

BIOS不支持的(这个请自行查询)

不能接受闭源软件的

安装NVIDIA驱动和Bumblebee

默认情况下,如果使用安装系统提供的独立显卡驱动nouveau会导致无法正常进入桌面,一般情况下,都是把这个驱动给禁用掉nouveau.modeset=0,也就是说不然独显工作,就可以正常使用了。

首先查看下自己电脑的显卡情况,使用命令lspci | grep -i vga,可以看到如下的结果1

2

3

4[email protected] ~ [17:30:23]

> $ lspci | grep -i vga

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)

01:00.0 VGA compatible controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev ff)

可以看到Intel的集成显卡和NVIDIA的独立显卡

安装对应的显卡驱动,具体的可参照下图安装

这里我选用的是xf86-video-intel和nvidia,使用命令pacman -S xf86-video-intel nvida安装。

闭源NVIDIA驱动支持官方的Optimus功能,它能够最大程序的发挥出NVIDIA显卡的性能,但是却不支持切换显卡,意味着你就只能使用独立显卡,再也不能使用集成显卡了,据说也会有更多的bug。这里说下Optimus技术,它是一种不依赖于硬件的独立显卡实现。独立显卡按需渲染,继而交由集显显示。当笔记本通过电池供电时,独显关闭;使用电源供电时,打开独显,通过这样,来增强笔记本的续航能力。

这里使用第三方程序Bumblebee来实现类似于Optimus的功能,它是Linux上Optimus的替代品之一。它通过virtualGL或者primus来实现独显渲染,集显显示的功能。独立显卡在空闲的时候会被禁用掉。

接下来就开始对应的程序包了,pacman -S bumblebee mesa bbswitch,bumblebee提供是主要程序实现的包,mesa提供开源的OpenGL实现,而bbswtich负责切换显卡。还可以安装nvidia-utils来提供更多的支持。如果你的系统是32位的,那么你需要启用Multilib,要安装lib32-virtualgl和lib32-nvidia-utils或lib32-nvidia-340xx-utils来和64位的对应。参见上图。

修改配置文件/etc/bumblebee/bumblebee.conf,将Driver的值设置为nvidia,来让其使用nvidia驱动,其次将PMMethod的值设置为bbswitch,让它使用刚刚安装的bbswitch来进行显卡的切换。修改配置文件/etc/modprobe.d/bbswitch.conf,添加options bbswitch load_state=0 unload_state=0来设置bbswitch的状态。使用命令modprobe bbswitch来加载这个模块。

将要使用Bumblebee的用户添加到bumblebee组中,gpasswd -a username bumblebee,并将bumblebeed服务设为开机启动,systemctl enable bumblebeed,启用它systemctl start bumblebeed。

黑屏问题刚刚上面说的,只装了独显驱动,没有装集显驱动。

NVIDIA对Linux不友好

针对这种情况,我们只需要在内核启动时加入如下参数即可acpi_osi=! acpi_osi='Windows 2009',告诉它我是Windows,赶紧工作吧。

简单用法

到了这里后,基本上就装好了,以下附上日常的使用方法。使用glxgears可以进行帧频测试,检测Bumblebee是否工作,它包含在刚刚安装的mesa-demos包中,正常来说在刚刚安装mesa就会安装了。使用命令optirun glxgears -info可以进行帧频测试,并且会打印出一些必要的信息,如果去掉参数-info,则不输出这些信息,仅进行帧频测试。1

2

3

4

5

6

7

8

9[email protected] ~ [18:47:10]

> $ optirun glxgears

4929 frames in 5.0 seconds = 985.449 FPS

4955 frames in 5.0 seconds = 990.948 FPS

4968 frames in 5.0 seconds = 993.534 FPS

4843 frames in 5.0 seconds = 968.508 FPS

4806 frames in 5.0 seconds = 961.181 FPS

5712 frames in 5.0 seconds = 1142.322 FPS

5218 frames in 5.0 seconds = 1043.451 FPS

同时你可以在屏幕上看到一个有三个齿轮转动的窗口。

打开NVIDIA的设置面板可以使用命令opirun -b none nvidia-settings -c :8

可以查看/proc/acpi/bbswitch文件的内容来确定独立显卡是否又启用。当然也可以查看已加载的pci模块来查看。使用命令lspci | grep -i vga。1

2

3

4[email protected] ~ [18:42:01]

> $ lspci | grep -i vga

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)

01:00.0 VGA compatible controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev ff)

最后的ff代表是关闭着的。1

2

3

4[email protected] ~ [18:42:23]

> $ lspci | grep -i vga

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)

01:00.0 VGA compatible controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)

这样则是开着的。可以使用命令tee /proc/acpi/bbswitch <<< "ON"或者tee /proc/acpi/bbswitch <<< "OFF"来开启和关闭NVIDIA独立显卡。1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19[email protected] ~ [18:44:40]

> $ cat /proc/acpi/bbswitch

0000:01:00.0 OFF

[email protected] ~ [18:44:45]

> $ sudo tee /proc/acpi/bbswitch <<< "ON"

ON

[email protected] ~ [18:44:52]

> $ cat /proc/acpi/bbswitch

0000:01:00.0 ON

[email protected] ~ [18:44:57]

> $ sudo tee /proc/acpi/bbswitch <<< "OFF"

OFF

[email protected] ~ [18:45:06]

> $ cat /proc/acpi/bbswitch

0000:01:00.0 OFF

其他方法

参见https://wiki.archlinux.org/index.php/NVIDIA_Optimus,里面有使用nouveau的,还有nvidia-xrun的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值