Wayland Display Support in R Plot
On 29/10/2023 4:20 p.m., Simon Urbanek wrote:
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.
I looked into using GLFW a while ago, but it seemed too hard to do without other really major changes to rgl, so that's not going to happen soon (unless someone else does it). I think the issue was that it was hard to get it to work with the ancient OpenGL 1.2 that rgl uses. I forget whether it was just hard or actually impossible. I am slowly working towards having rgl use newer OpenGL versions, but I don't expect this to be done for quite a while. Duncan Murdoch
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
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel