> 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 >
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
On 30 October 2023 at 09:20, 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. Point taken. | > 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 Booted an older laptop using 22.04, selected 'not X11' in the gdm dialog but the same Gnome Menu still says Windowing System: X11. So I am no longer sure how I would convince myself if I am under Wayland there or not. The answers in https://unix.stackexchange.com/questions/202891/how-to-know-whether-wayland-or-x11-is-being-used suggest I still run X11 too. So I got nuttin' here. In any event, I read OP as asking 'do we need a new device' and I still think that the answer to that still is 'likely not' as the X11 compatibility layer should cover this. Dirk -- dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org