Remix.run Logo
i80and 16 hours ago

Whenever people complain about Wayland being hard to program in, I think about how Xlib was largely replaced by XCB, and OpenGL is increasingly marginalized in comparison to Vulkan.

Not to draw any specific analogy, but sometimes a fussy low-level interface is just important to have.

flohofwoe 16 hours ago | parent | next [-]

> and OpenGL is increasingly marginalized in comparison to Vulkan

Vulkan's "API design deficits" (to put it mildly) have been recognized by Khronos though, and turning that mess around and making the API a "joy to use" is one of Khronos' main priorities at the moment (kudos to them for doing that).

https://www.phoronix.com/news/Vulkan-Joy-To-Use-2025

i80and 15 hours ago | parent [-]

That's good to hear!

aninteger 15 hours ago | parent | prev [-]

XCB did not largely replace Xlib. In fact, some (all?) implementations of Xlib are built on top of XCB.

i80and 15 hours ago | parent | next [-]

Maybe the technical politics have changed, but I feel like I remember there was some push in the late 2000s to rewrite libraries that were using Xlib to instead use XCB.

Regardless, that's sort of my point: having a lower level fiddly layer is a desirable quality, and Xlib being rebased on top of it isn't exactly a counterexample.

seba_dos1 15 hours ago | parent | prev [-]

Turns out you want to build higher-level interfaces on top of lower-level interfaces, not the other way around.