Skip to content
Back to formatted view

Raw Message

Message-ID: <DBA3729C-1876-44B9-9E29-47D62B551CD9@R-project.org>
Date: 2023-10-29T20:20:07Z
From: Simon Urbanek
Subject: Wayland Display Support in R Plot
In-Reply-To: <25918.46252.345432.450442@rob.eddelbuettel.com>

> 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
>