Wayland Display Support in R Plot
On 30/10/2023, at 8:38 AM, Dirk Eddelbuettel <edd at debian.org> wrote: On 30 October 2023 at 07:54, Paul Murrell wrote: | I am unaware of any Wayland display support. | | One useful way forward would be an R package that provides such a device | (along the lines of 'Cairo', 'tikzDevice', et al) As I understand it, it is a protocol, and not a device.
Well, X11 is a protocol, not a device, either. Wayland is a lot worse, since it doesn't really do much at all - the clients are fully responsible for drawing (doesn't even support remote connections). Given that Wayland is essentially a "dumb" framebuffer, probably the easiest way would be to take Cairo and add a libwayland back-end. Cairo is already modular so it's relatively straight-forward to add a new back-end to it (I'd probably just copy xlib-backend.c and replace X11 calls with libwayland calls since the low-level design is the same). However, that is limited only to devices, so you would still run R code in the shell (or other GUI that may or may not by Wayland-based). Given that Wayland is so minimal, you'd need some GUI library for anything beyond that - so you may was well just run a Wayland-based browser and be done with it saving you all the bother (oh, right, that's called RStudio ;)). One package that may be worth adding Wayland backend to is rgl so you get OpenGL on Wayland - I'd simply re-write it to use GLFW so it works across all platforms and including Wayland. Cheers, Simon
Several Linux distributions have long defaulted to it, so we already should have thousands of users. While 'not X11' it provides a compatibility layer and should be seamless. I think I needed to fall back to X11 for a particular applications (likely OBS) so my session tells me (under Settings -> About -> Windowing System) I am still running X11. I'll check again once I upgrade from Ubuntu 23.04 to Ubuntu 23.10 See https://en.wikipedia.org/wiki/Wayland_(protocol) for more. Dirk -- dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel