How to disable Hardware Acceleration in Linux?
You can configure Xorg to disable OpenGL / GLX.
For a first try, you can run a second X session: switch to tty2, log in and type:
startx -- :2 vt2 -extension GLX
To permanently disable hardware acceleration, create a file:
/etc/X11/xorg.conf.d/disable-gpu.conf
with the the content:
Section "Extensions"
Option "GLX" "Disable"
EndSection
Note that Xwayland in Wayland compositors like Gnome3-Wayland will ignore settings in xorg.conf.d
.
Related videos on Youtube
Rui F Ribeiro
Updated on September 18, 2022Comments
-
Rui F Ribeiro almost 2 years
How can I turn off Hardware Acceleration in Linux, also known as Direct Rendering. I wish to turn this off, as it messes with some applications like OBS Studio which can't handle capturing of hardware acceleration on other applications since it's enabled for the entire system. Certain apps can turn it on and off, but can't do this for desktop and other apps.
When adding a source to capture from in OBS it just shows a blank capture image, for example if I wanted to record my desktop, it'll just show it as a blank capture input. Doesn't work if I want to capture web browser like Google Chrome, unless it's a single window with no tabs, and hardware acceleration is turned off in it's settings.
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
-
Zip over 6 yearsTry asking about a specific scenario, not something general like this. Like broadcasting a chrome window through X and OBS on some distribution with some video card and some module. Also refer to where you've set which setting off exactly. This helps people understand your setup.
-
Admin over 6 years@Zip Maybe you didn't read the question before properly and understand it. Check and try again, I have asked about a specific scenario, and that is to disable Hardware Acceleration for the whole system not just parts of it just for few applications.
-
Zip over 6 yearsWell, I did not explain myself appropriately. Applications will individually access hardware resources directly through the modules or through libs generally. I don't think there is a system wide simple switch for that. Anyway you don't mention your distro nor which drivers you're using, which may influence the answer. You seem to have issues with a very particular obs setup that may have an easier solution than what you asked, with the bonus that you may keep acceleration on for other stuff. Just ignore this from me if you disagree though, to keep comments clean...
-
-
Ivan Talalaev over 5 yearsThat approach not working unfortunately on xubuntu 18, do you know how to do the same on modern xorg?
-
mviereck over 5 years@IvanTalalaev Try to also disable extensions
DRI2
andDRI3
. -
Ivan Talalaev over 5 yearsthanks, but that doesn't work either. Let me clarify: in my system I have
xorg.conf.d
in/usr/share/X11/
I placed theredisable-gpu.conf
file with required disable lines as depicted on image i.imgur.com/QKHzz6l.png that is right? -
mviereck over 5 years@IvanTalalaev The file looks correct. Change its name to
90-disable-gpu.conf
to make sure it is applied as the last one. Maybe another config overwrites it. -
mviereck over 5 years@IvanTalalaev Output of
xdpyinfo | head -n 60
shows you enabled X extensions. -
Ivan Talalaev over 5 yearsmany thanks for your reply! Definitely
xdpyinfo
shows thatGLX
,DRI2
andDRI3
still loaded, that means 90-disable-gpu.conf not loaded or probably not working. I dig over documentation and realized thatDisable
should be replaced withoff
, and all should be probably placed inServerLayout
section but that doesn't work either. Mind if I drop you a line outside stackexchange? -
Ivan Talalaev over 5 yearsI have a few questions about x11docker as well actually)
-
Ivan Talalaev over 5 yearsLet us continue this discussion in chat.
-
Mio Rin over 5 years@IvanTalalaev you put the file in the incorrect directory. It needs to be in
/etc/X11/xorg.conf.d/
./usr/share
is not for local system configuration files. -
Mio Rin over 5 yearsPlease read
man xorg.conf
to see why changes to/usr/share/X11/xorg.conf.d/
do not work. -
Ivan Talalaev over 5 years@Mioriin could you give more meaningful comment rather than "read smth to understand why it doesn't work"
-
Ivan Talalaev over 5 years@Mioriin from
man xorg.conf
i.imgur.com/UYOfSys.png -
Mio Rin over 5 years
/usr/share
is reserved for package defaults and files in there should not be tampered with, in order to maintain at least one version of a default configuration to fallback to when tinkering. If you need a file from there, copy (or recreate) it to one of the other locations. -
latj over 5 yearsI have the same issue as @IvanTalalaev and there is no /etc/X11/xorg.conf.d directory on my ubuntu 16 installation.
-
mviereck over 5 years@latj You can create directory
/etc/X11/xorg.conf.d
yourself. Xorg will regard it.