User:Ant P./30bpp

From Gentoo Wiki
Jump to: navigation, search
This article is a stub. You can help by expanding it.

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.

Prerequisites

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):

user $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:

user $startx -- -depth 30

If you have a display manager, find the X server arguments in its configuration files and append -depth 30.

It's possible to set 30bpp in xorg.conf, however this is somewhat long-winded compared to the command line method:

FILE /etc/X11/xorg.conf.d/30bpp.confSample xorg.conf fragment
Section "Screen"
  Identifier "Screen Name"
  DefaultDepth 30
EndSection

Compatibility

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.InvalidPipeException stating 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=vdpau produces garbled output. --vo=opengl --hwdec=vdpau works 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. #0FF0FF0FF instead of #FFFFFF).
  • Steam - updater progress box renders wrong, main app crashes at startup

References