As of 2018 it's possible to run Xorg in 30bpp mode (sometimes branded as “Deep Color”) with radeon or amdgpu open drivers, and a capable monitor or two.
A digital connector (DVI, HDMI, DisplayPort) is required. While this might work on D-Sub connections, doing so would provide little benefit as the extra precision gets lost in the noise. Consult your monitor's documentation to ensure it's 30bpp-capable first; it should be safe to attempt this in any case, but if yours lacks support expect to see “signal out of range” errors.
First, test that the basic server works by running it from the console (without X already running):
Xorg -depth 30 -retro
You should see the traditional X11 black and white stipple pattern if everything's working. To get out of this screen, Ctrl+Alt+F1 to switch back to the console and Ctrl+C there to kill the server. If it works, you can move on to making the change more permanent.
Configuring the X server for 30bpp
Users of startx can append the option to their command line:
startx -- -depth 30
If you have a display manager, find the X server arguments in its configuration files and append
It's possible to set 30bpp in xorg.conf, however this is somewhat long-winded compared to the command line method:
Section "Screen" Identifier "Screen Name" DefaultDepth 30 EndSection
While most GUI toolkits have no problem with 30bpp, individual software may have graphical issues or crash outright. Anything that uses media-libs/imlib2 or media-libs/libsdl:1.2 will either crash, not display anything, or misrender. This includes quite a long list of old games, as well as tools that interact with the screen.
- dev-java/icedtea - Applications using AWT will crash immediately on startup, with a
sun.java2d.InvalidPipeExceptionstating that 30bpp is unsupported. This can be partially fixed by setting
_JAVA_OPTIONS='-Dsun.java2d.opengl=true'in your environment.
- games-engines/odamex - black screen
- games-fps/ut2004 - crashes at startup
- media-gfx/scrot - captures black screenshots
- media-video/mpv -
--vo=vdpauproduces garbled output.
--vo=opengl --hwdec=vdpauworks fine, and is the default.
- media-video/obs-studio - crashes at startup
- x11-misc/slim - crashes at startup
- x11-wm/openbox - mostly works, but window decoration backgrounds are drawn too dark (i.e.
- Steam - updater progress box renders wrong, main app crashes at startup