←back to thread

Ancient X11 scaling technology

(flak.tedunangst.com)
283 points todsacerdoti | 9 comments | | HN request time: 1.226s | source | bottom
Show context
cpach ◴[] No.44369884[source]
Love this post. Reminds me of my former coworker G. He had exactly this attitude, and it made it possible for him to deliver results on most tasks that he set out for.
replies(1): >>44370820 #
sho_hn ◴[] No.44370820[source]
It's actually a somewhat bad and uninformed post, or perhaps the mistake (unclear whether knowingly or not) is to disprove a claim made by uninformed people.

No one with a good grasp of the space ever claimed that it wasn't possible on X11 to call into APIs to retrieve physical display size and map that to how many pixels to render. This has been possible for decades, and while not completely trivial is not the hard part about doing good UI scaling.

Doing good UI scaling requires infrastructure for dynamic scaling changes, for different scale factors per display within the same scene, for guaranteeing crisp hairlines at any scale factor, and so on and so forth.

Many of these problems could have been solved in X11 with additional effort, and some even made it to partial solutions available. The community simply chose to put its energy into bringing it all together in the Wayland stack instead.

replies(1): >>44371100 #
1. kvemkon ◴[] No.44371100[source]
> to disprove a claim made by uninformed people

KDE developer wrote recently:

> X11 isn’t able to perform up to the standards of what people expect today with respect to .., 10 bits-per-color monitors,.. multi-monitor setups (especially with mixed DPIs or refresh rates),... [1]

Multi-monitor setups are working since 20+ years. 10 bits are also supported (otherwise how would the PRO versions of graphic cards support this feature).

> chose to put its energy into bringing it all together in

I cannot recall, was there any paper analyzing why working and almost working X11 features do not fit, few additional X11 extensions cannot be proposed anymore and another solution from scratch is inevitable. What is a significant difference of a X11 and a wayland protocol extension.

[1] https://pointieststick.com/2025/06/21/about-plasmas-x11-sess...

replies(3): >>44371210 #>>44371793 #>>44378716 #
2. sho_hn ◴[] No.44371210[source]
Nate (the author of the blog post you linked), who I know personally very well, is a QA/product person focused on integration and fit and finish issues. What he means to say is that as a polished product, this is now available in the form of a Wayland-based desktop session without fiddling, while the same cannot be said of X11-based ones. It's meant as a pragmatic take, not as a history lesson.

That's quite similar to how I chose to phrase is, and comes down to where the community chose to spend the effort to solve all the integration issues to make it so.

Did the community decide that after a long soul-seeking process that ended with a conclusion that things were impossible to make happen in X11, and does that paper you invoke exist? No, not really. Conversations like this certainly did take place, but I would say more in informal settings, e.g. discussions on lists and at places like the X.org conference. Plenty of "Does it make sense to that in X11 still or do we start over?" chatter in both back in the day.

If I recall right, the most serious effort was a couple of people taking a few weeks to entertain a "Could we fix this in an X12 and how much would that break?" scenario. Digging up the old fdo wiki pages on that one would for sure be interesting for the history books.

The most close analogue I can think of that most in the HN audience are familiar with is probably the Python 2->3 transition and decision to clean thing up at the expense of backward compat. To this day, you will of course find folks arguing emotionally on either side of the Python argument as well.

For the most part, the story of how this happened is a bit simpler: It used to be that the most used X11 display server was a huge monolith that did many things the kernel would not, all the way to crazy things like managing PCI bus access in user space.

This slowly changed over the years, with strengthening kernel infra like DRM, the appearance of Kernel Mode Setting, with the evolution of libraries like Mesa. Suddenly implementing a display server became a much simpler affair that mostly could call into a bunch of stuff elsewhere.

This created an opening for a new smaller project fully focused on the wire protocol and protocol semantics part, throwing away a lot of old baggage and code. Someone took the time to do that and demonstrate how it looks like, other people liked what they saw and Wayland was born.

This also means: Plenty of the useful code of the X11 era actually still exists. One of the biggest myths is that Wayland somehow started over from scratch. A lot of the aforementioned stuff that over the years migrated from the X11 server to e.g. the kernel is obviously still what makes things work now, and libraries such as libinput, xkbcommon that nearly every Wayland display server implementation uses are likewise factored out of the X11 stack.

replies(1): >>44378738 #
3. denkmoon ◴[] No.44371793[source]
Multi monitor with mixed DPIs absolutely does not work well in x11 in 2025. I don’t know about 20+ years ago.
replies(1): >>44373487 #
4. kelnos ◴[] No.44373487[source]
It could, though. GTK has support for mixed DPI, just only for Wayland. There's no reason why it couldn't work on X11. It might be more tricky to get right, but it's just a matter of work.
replies(1): >>44376676 #
5. Boxxed ◴[] No.44376676{3}[source]
"just a matter of work."

Yeah, like every other conceivable feature, ever.

6. account42 ◴[] No.44378716[source]
Ironically, when I tried to set my X11 to 10bpp, KDE was the main thing that shat itself while other (i.e. OpenGL-based) programs rendered correctly.
7. account42 ◴[] No.44378738[source]
Well the pragmatic take of many users (myself included) is to stick with X11 because Wayland absolutely is not a polished product and likely won't be before being declared obsolete by the NIH crowd.

Of course, newer KWin versions also add many odd issues with X11 so I'm sure they will bug equally buggy soon enough and users can finally switch without such concerns.

> The most close analogue I can think of that most in the HN audience are familiar with is probably the Python 2->3 transition and decision to clean thing up at the expense of backward compat. To this day, you will of course find folks arguing emotionally on either side of the Python argument as well.

Yes, that was and still is a huge clusterfuck and prime example of things not to do - precisely because it is full of completely arbitrary compatibility breaks.

replies(1): >>44383619 #
8. const_cast ◴[] No.44383619{3}[source]
Wayland is significantly more polished than X on my experience on new hardware. Everything, literally everything, works and looks better. X, in comparison, seems almost plagued with a thin layer of jank over the whole thing.

X has been on life support for decades now, with new capabilities just bolted on without a care in the world. But the actual system works quite inconsistently, and some things will, presumably, never work.

replies(1): >>44388542 #
9. lproven ◴[] No.44388542{4}[source]
> Everything, literally everything, works

I keep hearing this.

My preferred desktop is Unity. I also like the ROX desktop, and Openbox, and I used to like EDE and XPde. I find CDE interesting to play with and want to try the Maxx Interactive Desktop, a version of SGI's IRIX desktop. LXDE was clunky but it worked for me, but LXQt isn't: its vertical taskbar has been broken since before version 1.0.

Not one of those working environments can use Wayland, and all of them are unlikely ever to.

I detest KDE, which I find horribly overcluttered and messily inconsistent, and I also detest GNOME >=3 which feels like a phone UI on a desktop: it's missing almost every option I want. They are two extremes, one overly complicated, one overly minimal. I do not use the shell much so I have no interest in tiling environments.

There's not a single environment I find bearable on Wayland today. Maybe, by 2027, there will be a usable Xfce.

In other words, in terms that matter to me personally, Wayland is not better in any way whatsoever, and nothing I use works.

I say this not to be confrontational, but merely to point out while one person can say "but everything works!" the claim can be true for them while not generalising at all.