如何在Linux中禁用硬件加速?

如何在Linux中禁用硬件加速?

如何关闭 Linux 中的硬件加速(也称为直接渲染)。我希望关闭此功能,因为它会干扰某些应用程序(例如 OBS Studio),因为它是为整个系统启用的,因此无法处理其他应用程序上的硬件加速捕获。某些应用程序可以打开和关闭它,但不能对桌面和其他应用程序执行此操作。

当在 OBS 中添加要捕获的源时,它仅显示空白捕获图像,例如,如果我想记录我的桌面,它只会将其显示为空白捕获输入。如果我想捕获像 Google Chrome 这样的网络浏览器,则不起作用,除非它是没有选项卡的单个窗口,并且在其设置中关闭了硬件加速。

Graphics:  Card-1: Intel 3rd Gen Core processor Graphics Controller bus-ID: 00:02.0
       Card-2: NVIDIA GF108M [GeForce GT 630M] bus-ID: 01:00.0
       Display Server: X.Org 1.15.1 driver: nvidia Resolution: [email protected]
       GLX Renderer: GeForce GT 630M/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 384.90 Direct Rendering: Yes

答案1

您可以配置 Xorg 来禁用 OpenGL / GLX。

第一次尝试时,您可以运行第二个 X 会话:切换到 tty2,登录并输入:

startx -- :2 vt2 -extension GLX

要永久禁用硬件加速,请创建一个文件:

/etc/X11/xorg.conf.d/disable-gpu.conf

与内容:

Section "Extensions"
    Option "GLX" "Disable"
EndSection

请注意,Wayland 合成器(如 Gnome3-Wayland)中的 Xwayland 将忽略xorg.conf.d.

答案2

上面的解决方案对我不起作用。它导致启动时出现错误,影响为unw_get_proc_name failed.我不知道其他人是否也遇到过这种情况,但我找到了不同的解决方案。

我修改了/usr/share/X11/xorg.conf.d/10-nvidia.conf。对我来说,该文件包含以下预编辑内容:

Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "Accel" "off"
    ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection

我在下面添加了一行Option "AllowEmptyInitialConfiguration"Option "Accel" "off"使用此修改而不是上面的解决方案,我的系统启动并且nvidia-smi不再显示Xorg

希望这对某人有帮助。

相关内容