我试图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网站页面,NV108(GK208)Nouveau驱动程序支持我的GPU。因此,没有理由我无法使其与optirun
命令一起使用,对吗?但是,遵循经典的安装过程之后
bumblebee
和mesa-utils
包装我无法执行该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.
我试图/etc/bumblebee/bumblebee.conf
通过设置强制Optimus在中使用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
。
我终于通过继续研究找到了解决问题的方法。
Primus和Optimus程序旨在与Nvidia专有驱动程序一起使用。因此,不建议将它们与Nouveau驱动程序一起使用。Linux内核具有一些工具,使您无需安装其他程序即可切换GPU。有问题的工具是VGA Switcheroo。请注意,此工具仅适用于开源驱动程序。
默认情况下,该工具在您的系统上可能不处于活动状态,因此需要进行一些操作。要检查该工具是否已启用,请使用以下命令查找开关文件
# cat /sys/kernel/debug/vgaswitcheroo/switch
就我而言,该工具未激活,我只需要卸载Bumblebee即可解决问题。如果在卸载Bumblebee之后问题仍然存在,请按照本文中的说明进行操作。
现在vga_switcheroo
已启用,您可以关闭与活动GPU
# echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
并使用激活专用卡
# echo DIS > /sys/kernel/debug/vgaswitcheroo/switch
或通过以下方式激活集成卡
# echo IGD > /sys/kernel/debug/vgaswitcheroo/switch
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句