我正在尝试让该optirun
命令与我的计算机上的 FOSS Nouveau 驱动程序一起使用,该计算机具有嵌入式图形单元和独立图形处理单元。lspci | egrep -i 'vga|3d'
这是命令提供的我的设置:
00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
01:00.0 3D controller: NVIDIA Corporation GK208BM [GeForce 920M] (rev a1)
根据Nouveau CodeNames 网站页面,我的 GPU 由 NV108 (GK208) Nouveau 驱动程序支持。所以我没有理由不能让它与optirun
命令一起工作,对吧?但是,在遵循经典安装过程之后
- 卸载专有驱动程序
- 安装
bumblebee
和mesa-utils
包 - 安装VirtualGL
我无法让optirun
命令工作。例如,optirun glxgears
给出错误
[ERROR]Cannot access secondary GPU - error: [XORG] (EE)
[ERROR]Aborting because fallback start is disabled
问题似乎出在内核中的 Nouveau 模块上:
$ optirun -vv glxgears
----------------------
[DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[DEBUG]optirun version 3.2.1 starting...
[DEBUG]Active configuration:
[DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[DEBUG] X display: :8
[DEBUG] LD_LIBRARY_PATH:
[DEBUG] Socket path: /var/run/bumblebee.socket
[DEBUG] Accel/display bridge: auto
[DEBUG] VGL Compression: proxy
[DEBUG] VGLrun extra options:
[DEBUG] Primus LD Path: /usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus:/usr/lib/primus:/usr/lib32/primus
[DEBUG]Using auto-detected bridge virtualgl
[INFO]Response: No - error: [XORG] (EE)
[ERROR]Cannot access secondary GPU - error: [XORG] (EE)
[DEBUG]Socket closed.
[ERROR]Aborting because fallback start is disabled.
[DEBUG]Killing all remaining processes.
我试过的
我试图强制 Optimus 在/etc/bumblebee/bumblebee.conf
by 设置中使用 Nouveau 驱动程序Driver=nouveau
。没什么区别。
我修复了什么
最初我在执行命令时遇到另一个错误:
[ERROR]Cannot access secondary GPU - error: [XORG] (EE)
[ERROR]Failed to load module "mouse" (module does not exist, 0)
我通过安装缺少的包来修复它xserver-xorg-input-mouse
。
通过继续研究,我终于找到了解决问题的方法。
解决方法:不要使用Optimus切换GPU
Primus 和 Optimus 程序可与 Nvidia 专有驱动程序一起使用。因此,不建议将它们与 Nouveau 驱动程序一起使用。Linux 内核有一些工具可以让你在不安装额外程序的情况下切换 GPU。有问题的工具是VGA Switcheroo。请注意,此工具仅适用于开源驱动程序。
默认情况下,该工具在您的系统上可能未激活,因此需要进行一些操作。要检查该工具是否已启用,请使用以下命令查找开关文件
就我而言,该工具未激活,我只需要卸载 Bumblebee 即可解决问题。如果卸载 Bumblebee 后问题仍然存在,请按照本文中的说明进行操作。
现在
vga_switcheroo
已启用,您可以使用以下命令关闭活动 GPU并激活专用卡
或激活集成卡
参考