Xorg

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

  • February 5, 2022

如何在 Linux 中關閉硬體加速,也稱為直接渲染。我希望將其關閉,因為它會與 OBS Studio 等一些應用程序混淆,因為它已為整個系統啟用,因此無法處理其他應用程序上的硬體加速擷取。某些應用程序可以打開和關閉它,但不能對桌面和其他應用程序執行此操作。

在 OBS 中添加要擷取的源時,它只會顯示一個空白擷取圖像,例如,如果我想錄製我的桌面,它只會將其顯示為空白擷取輸入。如果我想擷取像Google瀏覽器這樣的網路瀏覽器,它不起作用,除非它是一個沒有標籤的單一視窗,並且在它的設置中關閉了硬體加速。

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: 1366x768@60.0hz
      GLX Renderer: GeForce GT 630M/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 384.90 Direct Rendering: Yes

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

第一次嘗試,您可以執行第二個 X 會話:切換到 tty2,登錄並輸入:

startx -- :2 vt2 -extension GLX

要永久禁用硬體加速,請創建一個文件:

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

內容:

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

請注意,像 Gnome3-Wayland 這樣的 Wayland 合成器中的 Xwayland 將忽略xorg.conf.d.

上面的解決方案對我不起作用。它在啟動時導致錯誤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

希望這可以幫助某人。

引用自:https://unix.stackexchange.com/questions/408582