Skip to content
← All articles
Article

HDR-10bpp-Display-Test

Listen to the audio story

Is your Linux display really showing 10-bit color? · 1:16 · AI-written script, synthetic voices

Transcript

Ava: You bought an HDR 4K monitor, plugged it into a Linux machine, and the settings say it's fine. But is it really showing ten bits per channel?

Andrew: I'd have assumed so. How would you even check?

Ava: That's what Antoine's small project, HDR-10bpp-Display-Test, is for. It checks HDR 4K display on Linux, including ten bits per channel, so you can validate the graphics stack, the drivers and the monitor.

Andrew: What does the test involve?

Ava: You need an X server, Python 3, GTK 3, ImageJ for showing ten-bit images, and ImageIO for reading them. Then you stop the display manager and the X server, and restart X with a color depth of thirty.

Andrew: Thirty bits, so ten per channel.

Ava: Exactly. You confirm the depth with a quick check on the root window, launch the viewer, which has a version for video, and open an image in ImageJ. If the colors look accurate, the chain works.

Andrew: And if X won't start at thirty?

Ava: The page suggests trying a depth of twenty-four instead. That's a useful clue in itself, since it means something in the stack can't do ten bits.

Andrew: Is it licensed?

Ava: MIT. The full project page has the exact steps and the repository link.

Table of contents

HDR-10bpp-Display-Test

HDR-10bpp-Display-Test checks HDR 4K display on Linux, including 10 bits per channel. Useful for validating the graphics stack, drivers, and monitor.

Getting Started

HDR-10bpp-Display-Test: A test project for HDR 4K display on Linux.

Prerequisites

Before running the test, ensure your system has the following software installed:

  • X server
  • Python 3
  • GTK 3
  • ImageJ (for 10-bit color depth image display)
  • ImageIO (for reading image files)

On Ubuntu or Debian-based systems, install these packages using the command:

sudo apt-get install xserver-xorg python3 python3-gi python3-gi-cairo gir1.2-gtk-3.0 imagej

Installing

ImageIO is a necessary component and can be installed via pip:

pip3 install imageio

Running the Test

To conduct the test, follow these steps:

  1. Clone the repository:

    git clone https://github.com/yourusername/HDR-10bpp-Display-Test.git
    
  2. Navigate to the project directory:

    cd HDR-10bpp-Display-Test
    
  3. Stop the display manager and X server:

    sudo systemctl stop lightdm || sudo systemctl stop gdm
    sudo pkill Xorg
    
  4. Start the X server with a color depth of 30:

    startx -- -depth 30
    
  5. Verify the X server’s color depth:

    xwininfo -root | grep Depth
    
  6. Launch the viewer application:

    python3 Viewer.py
    python3 Viewer3.py # for video support
    
  7. To display an image, use:

    imagej --no-splash /path/to/image
    

    Check if the image is displayed correctly with accurate colors.

Troubleshooting

If the X server fails to start with a color depth of 30, attempt to start it with a depth of 24 instead:

startx -- -depth 24

License

This project is licensed under the MIT License - see the LICENSE.md file for details.