Future of Juce on Linux

Since it’s about time to port to Win8’s RT API, I’m listing here the big changes in the Linux community that Juce might have to follow, so it might be interesting to think about them and make a choice:

  1. XCB instead of XLib. XLib is deprecated, badly documented (but XCB is only a small bit better). XCB stands for X callback, where the X operation’ results are asynchronous.
  2. Wayland. More or less, the major distributions are shifting toward wayland. Currently, with Wayland, one as to run Juce in the XWayland “glue software”, which is unclean. Wayland provides numerous improvement (like windows-draw-themselves mantra, not using any X api), compositing at the server level, less roundtrip to the graphical “server”.
  3. Direct OpenGL rendering over EGL and DRM layer, using /dev/input for input parsing. This is perfect for “single application/kiosk mode” code, where no server is required. I think android is using this already, so the effort might be small, but this also means only one software running at a time.

Personally, I would drop X (or keep it as a compatible option, but drop support for it), and go for Wayland.

I think xcb can be skipped, xlib is fine and wayland is the future, there is no need to lose time with xcb. Please wait a few years before dropping X, I’m sure there will be a lot of time before every unix flavour uses wayland instead of x11

Thanks for the heads-up chaps!