如何关闭 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
。
希望这对某人有帮助。