▲ | bitwize 4 days ago | |||||||||||||||||||||||||||||||||||||
No. HDR will never come to X11. This is because the X protocol defines a pixel as a CARD32, that is an unsigned 32-bit integer. So the highest depth you could theoretically go is R10G10B10, and forget about floating-point HDR. Fixing this would require rewriting the entire protocol. Which has effectively already been done; it's called Wayland. Perhaps people ought to listen to the Xorg devs when they say X11 is broken and obsolete, and you should be using Wayland instead. Every single one of them says this. | ||||||||||||||||||||||||||||||||||||||
▲ | o11c 4 days ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||
All sorts of things in X11 are "defined" as a particular thing in the base standard, then changed in protocol extensions. You really shouldn't be writing raw pixels anyway (and most people don't since breaks if your monitor is using 8-bit or 16-bit, for example). | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
▲ | ryao 2 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
> Perhaps people ought to listen to the Xorg devs when they say X11 is broken and obsolete, and you should be using Wayland instead. Every single one of them says this. This is incorrect. Alan Coopersmith does not share this view and he is a Xorg developer. Anyone repeating this propaganda is arguing from ignorance. That said, I have used both X11 and Wayland. X11 does its job well in many applications and honestly, we would have been better off had Wayland just been a X11 extension. As for things being broken, I have encountered far more brokenness when using Wayland than when using X11 exclusively. Wayland has gotten better of late, especially in desktop applications, but I do not consider it a replacement in general. Just recently, I built a display based on a CM4 at work that uses X11 and I can remotely view and interact with the screen using x11vnc, which is fantastic for remote development and debugging. That is a convenience I simply do not have with Wayland. I have tried to do steam remote play by streaming from a desktop to my Steam Deck. If the desktop is running a Wayland session, a pop up appears on the physical display asking if I want to permit remote access and I currently have no way of clicking it without being physically present. This ruins the remote play experience, which I want to use when I am physically not present. A X11 session does not have this problem. If a tool like x11vnc existed for Wayland, it would be useless if it does what Steam Remote Play does with Wayland. :/ | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
▲ | badsectoracula 4 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
> So the highest depth you could theoretically go is R10G10B10, and forget about floating-point HDR. R10G10B10 matches most HDR displays out there, AFAIK even Windows uses that outside of DirectX (where FP16 is used). But beyond that... > Fixing this would require rewriting the entire protocol. ...most of the protocol does not have to do with color values. X11 is extensible and an extension can be used that allows alternative functions that use more advanced color values where that'd make sense. For example, assuming you want to use "full" range color values for the drawing functions like XFillPolygon, etc, you'd want to add have the extended range state in graphics contexts, introduce extended commands for changing it (with the existing commands simulating an SDR color for backwards compatibility). That is assuming R10G10B10 is not enough of course (though because for decades many applications assumed 8bit RGB, it is a good idea to do sRGB/SDR simulation for existing APIs and clients regardless of the real underlying mode of the monitor unless a client either opts-in to using extended color or uses the new APIs). Another thing to keep in mind is that these are really needed if you want to use the draw primitives using extended color / HDR. However most HDR output, at least currently, is either done using some other API (e.g. Vulkan) or via raw pixel data. In which case you need to configure the window output (a window region, to allow for apps with mixed color spaces in a single window - e.g. think Firefox showing a SDR page with an HDR image) to use a specific color space/format and then rely on other APIs for the actual pixel data. This is something i wanted to look into for a while now, unfortunately other stuff always end up having more priority - and well, my "HDR" monitor is only HDR in name, it barely looks any different when i try to enable HDR mode in KDE Plasma under Wayland for example :-P. I do plan on getting an HDR OLED monitor at some point though and since i do not plan on changing my X11-based environment, i might take a look at it in the future. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
▲ | levkk 4 days ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||
Sure except Wayland doesn't work with nvidia so... | ||||||||||||||||||||||||||||||||||||||
|