Page 1 of 1

Xorg switch to full RGB quantization over HDMI

PostPosted: Dec 30th, '24, 13:45
by mackowiakp
Intel Core i7-13620h UHD Graphic, two physical HDMI ports, two Philips monitors.
Below is the graphics configuration:
Code: Select all
[root@IT13 Pobrane]# inxi -GSxxz --vs
inxi 3.3.36-00 (2024-09-04)
System:
  Kernel: 6.6.65-desktop-2.mga9 arch: x86_64 bits: 64 compiler: gcc v: 12.3.0
  Console: pty pts/0 wm: kwin_x11 DM: SDDM Distro: Mageia 9
Graphics:
  Device-1: Intel Raptor Lake-P [UHD Graphics] driver: i915 v: kernel
    arch: Gen-13 ports: active: HDMI-A-1,HDMI-A-2 empty: DP-1,DP-2
    bus-ID: 00:02.0 chip-ID: 8086:a7a8
  Device-2: Logitech Webcam C270 driver: snd-usb-audio,uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 3-1.2:4 chip-ID: 046d:0825
  Display: server: X.org v: 1.21.1.8 with: Xwayland v: 22.1.9
    compositor: kwin_x11 driver: X: loaded: modesetting,v4l dri: iris gpu: i915
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3840x1080 s-dpi: 96
  Monitor-1: HDMI-A-1 mapped: HDMI-1 pos: primary,right model: Philips 226V4
    res: 1920x1080 dpi: 102 diag: 547mm (21.5")
  Monitor-2: HDMI-A-2 mapped: HDMI-2 pos: left model: Philips PHL 241E1
    res: 1920x1080 dpi: 93 diag: 604mm (23.8")
  API: EGL v: 1.5 platforms: device: 0 drv: iris device: 1 drv: swrast gbm:
    drv: iris surfaceless: drv: iris x11: drv: iris inactive: wayland
  API: OpenGL v: 4.6 vendor: intel mesa v: 24.2.8 glx-v: 1.4 es-v: 3.2
    direct-render: yes renderer: Mesa Intel Graphics (RPL-P)
    device-ID: 8086:a7a8
  API: Vulkan v: 1.3.231 surfaces: xcb,xlib device: 0 type: integrated-gpu
    driver: mesa intel device-ID: 8086:a7a8 device: 1 type: cpu
    driver: mesa llvmpipe device-ID: 10005:0000


Since in Xorg KDE Plasma there is no possibility to set full RGB color quantization support for monitors connected via HDMI from the GUI, I would like to do it somehow.
This can be done, for example, from session startup scripts via commands:
Code: Select all
xrandr --output HDMI-1 --mode 1920x1080 --rate 60 --set "Broadcast RGB" "Full"
xrandr --output HDMI-2 --mode 1920x1080 --rate 60 --set "Broadcast RGB" "Full"


Quantization is set correctly, only that the image disappears for about 2 seconds, which I think is an inconvenience in today's times.
So I wanted to do it via the xorg.conf file so that it is systemwide, but the following file syntax does not change the quantization to full, although the graphics themselves work correctly.
In Wayland, there is an option to set RGB quantization over HDMI to full, but there is no possibility to set Gamma from the GUI. There are packages on Github that allow you to do it in a jumpy way, but I consider the lack of possibility to do it smoothly like in Xorg to be a big inconvenience.
Here is the content of the xorg.conf file. Am I making a mistake somewhere?
Code: Select all
Section "ServerFlags"
    Option "DontZap" "False" # disable <Ctrl><Alt><BS> (server abort)
    #DontZoom # disable <Ctrl><Alt><KP_+>/<KP_-> (resolution switching)
    AllowMouseOpenFail # allows the server to start up even if the mouse does not work
EndSection

Section "Module"
    Load "v4l" # Video for Linux
EndSection

Section "Monitor"
    Identifier "HDMI-1"
    VendorName "Plug'n Play"
    Option "Broadcast" "Full"
    # ... existing ModeLine definitions for HDMI-1 ...
    Gamma 0.4 0.4 0.4
EndSection

Section "Monitor"
    Identifier "HDMI-2"
    VendorName "Plug'n Play"
    Option "Broadcast" "Full"
    # ... existing ModeLine definitions for HDMI-2 ...
    Gamma 0.4 0.4 0.4
EndSection

Section "Device"
    Identifier "device1"
    VendorName "Intel Corporation"
    BoardName "Intel Kernel Mode setting (Xorg modesetting)"
    Driver "modesetting"
    Option "DPMS"
EndSection

Section "Screen"
    Identifier "screen1"
    Device "device1"
    Monitor "HDMI-1"
EndSection

Section "Screen"
    Identifier "screen2"
    Device "device1"
    Monitor "HDMI-2"
EndSection

Section "ServerLayout"
    Identifier "layout1"
    Screen "screen1"
    Screen "screen2"
EndSection