3 ms·
X has support issues. For years support for anything other than XRGB8888 and siblings has been bit rotting away. A few years ago I brought up X on a Y2 display
by bobmcnamara 3y ago
X has support issues. For years support for anything other than XRGB8888 and siblings has been bit rotting away.
A few years ago I brought up X on a Y2 display. Ended up implementing RGB888->Y2 blue noise dithering in the driver when I realized how much work native Y2 would be.
- adrian_b 3y agoThere is at least a decade since I have been using only 10-bit color monitors and I have never seen any problem in X with them. I do not know whether you count this as a "sibling" of XRGB8888. The only software that had problems were various installers for some professional programs, which were written in Java and which crashed immediately on 10-bit color displays. However that was a Java problem, not an X11 problem, because the same installers also crashed on Windows when the display was configured in the 10-bit color mode. Of course the color management in X is not good, but I have not heard yet about significant improvements in Wayland. In my opinion, the only right way to handle color would have been for all user applications to work only in a linear wide gamut FP16 RGB color space, like Rec. 2020. Only the display driver should be aware of the characteristics of the display, like color primaries, gamma, HDR, color resolution or pixel encoding, which should be used for an output conversion in the GPU. AFAIK, Wayland has also missed the opportunity to make such radical changes.
- bobmcnamara 3y agoJava: portable bugs. I forgot about 10bit. I should have said indexed-mode or non-true-color. I meant anything below RGB888. Linear for processing would be nice where that conversion can be done efficiently, and where the display driver can make a passable representation. The system I worked on only had black, light grey, dark grey, and white. What was nice about X was that the driver could express its limitations to clients, so that the client could make smart rendering decisions and handle dithering vs not dithering appropriately, rather than doing it at the display driver layer.
- bitwize 3y agoThere's another problem: the pels in an X pixmap can be 32 bits wide, max. So while ten bits per color plane is feasible, any more is not. Looks like we're gonna have to devise a whole 'nother display protocol to accommodate larger pixel sizes... unless...