Add wayland protocol support #74
Replies: 25 comments 38 replies
-
Basically WXLibre |
Beta Was this translation helpful? Give feedback.
-
It wouldn't necessarily have to be in xlibre, for example this has been done here before: https://sourceforge.net/projects/twelveto11/ although it seems to be abandoned now? For a proper wayland desktop experience you also need to support desktop portal which implies dbus + pipewire support as well, and that would be nicer to do outside xorg server code. You can run some wayland compositors on x11 right now, such as weston, wlroots ones such as sway and cage which allows you to run wayland applications on x11; so maybe the easiest way would be to fork one of those and make it display an x11 window for each wayland window, instead of what they do now with having one x11 window for all wayland applications. This would make it significantly easier than implementing everything from scratch and also benefit from protocol updates. Having such an application run in the background and turn wayland applications into x11 applications would be possible then. |
Beta Was this translation helpful? Give feedback.
-
Weston already runs ontop X11. Not actually nice experience yet (since it seems to support only single-screen), but it could be improved to support multi-window, transmitting copy buffers, etc, etc. Feel free to implement this stuff. I'd be happy to add it to the X11Libre project :) |
Beta Was this translation helpful? Give feedback.
-
Some of us are using X11 so that we don't need more Red Hat influenced technologies like D-Bus, Portals and Pipewire. |
Beta Was this translation helpful? Give feedback.
-
It looks that way bit is not in fact true that weston support only a single-screen experience. Rail-shell used by microsoft in their fork of weston used in WSL show it possible to put a plugin shell into weston to make applications running under weston seamless so removing that limit just nobody done this upstream for weston running on Wayland or X11 backend but it is absolutely possible. The limitation here is nothing more than the plugin shell weston has loaded. So wonder if this issue should be redirected to weston project as a feature request. |
Beta Was this translation helpful? Give feedback.
-
@probonopd the reality is that Wayland became a necessity for some software (Example: Waydroid), and apps progressively dropping support for X11 in favor of Wayland only making Wayland support a necessity isn't something you can just wish away. I believe X11Libre supporting Wayland apps might be the best way to ensure the long term success of X11Libre. |
Beta Was this translation helpful? Give feedback.
-
Wxlibre would be a worthwhile addition to avoid wayland usage directly and be a way for wayland only apps to work under X. I second the motion to import TwelveTo11 and work on implementing it. And the pipewire comment... Well at least pipewire is better than pulseaudio... I don't like Red Hat software myself, but pipewire at least behaves itself. |
Beta Was this translation helpful? Give feedback.
-
You can just run a wayland compositor inside Xlibre if you want to use wayland-only apps |
Beta Was this translation helpful? Give feedback.
-
Just to add my 2 cents to the discussion: Cage works great for running Wayland applications inside X11 environment in a kiosk-like environment. I was able to run a full waydroid instance on it. |
Beta Was this translation helpful? Give feedback.
-
The idea is to not use a wayland compositor under X, but to have a built-in system (hence wxlibre) like how xwayland works but in reverse. |
Beta Was this translation helpful? Give feedback.
-
So just install Cage and load your wayland only application in that. All compositors can be launched as windows. Just make a wrapper to launch the window in one. Much simpler solution than say a Xwayland inspired alternative. |
Beta Was this translation helpful? Give feedback.
-
I would say we might be able to actually go without wayland in any capacity. Waydroid is the only application I have found that requires usage of wayland, and it's honestly one of the biggest half-assed android emulators out there and it breaks easily with a bad configuration and can't be recovered. You can get around waydroid rven then with the Android SDK suite which has it's own emulator, though it's a bit cumbersome to use. |
Beta Was this translation helpful? Give feedback.
-
You can use this to run wayland applications on x11: https://git.linuxping.win/12to11/12to11 which I have also contributed to now. Just add it to system startup and you will be able to launch wayland applications and they will appear as x11 windows. |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
12to11 would be ideal to import in somehow. This way we have a sort of future proof system should anything go fully wayland. |
Beta Was this translation helpful? Give feedback.
-
yes i will love that !!!! |
Beta Was this translation helpful? Give feedback.
-
Here is another way to run Wayland applications under X11: https://github.com/1999AZZAR/use-waydroid-on-x11 |
Beta Was this translation helpful? Give feedback.
-
I think something like 12to11 is the way to go. There may be one problem left though. If a program speaks both, X11 and wayland, how does it know which one is native / which one it should prefer? |
Beta Was this translation helpful? Give feedback.
-
I like the idea but I can literally only think of one application that is Wayland only that has some widespread appeal (Waydroid) and it has alternatives. If there are more, they are niche. This is obviously not including the few Wayland-only WMs like Hyprland. Not that volume of demand should be a prerequisite for a feature but rather would the effort really be worth it? Compared to something like XWayland where there's obviously an immeasurably large supply of programs people rely on. As Weston is the reference implementation of Wayland and the protocol is ultimately controlled by RedHat Inc. I don't think there is any benefit to having a Wayland server inside of XLibre as any extensions that could make our variant of Wayland actually useful are unlikely to receive developer support. XLibre sets itself apart from all of the X12 wannabes by being the only actively maintained alternative post-mortem from XOrg, having a large following and being spun off by a former XOrg maintainer thereby giving it some credibility in the future of X protocol extensions. (And X version 11 itself predates Linux & RedHat by decades). Not so for Wayland, I imagine most use of Wayland by GUI programmers would be aimed towards the official implementation which all the people still interested in Wayland are already using. If we're talking future support from programs that bite the bullet and remove X support, then I guess it's a necessity, but the sentiment within GUI frameworks used by most software seems to be (from my observation, feel free to correct me) that X is not going soon. |
Beta Was this translation helpful? Give feedback.
-
I guess 12to11 is already mostly feature complete so working on making it function well as a plugin for Xlibre would work well, then not even dropping X11 support will prevent apps from running on Xlibre |
Beta Was this translation helpful? Give feedback.
-
You can just use wayland for that, because unlike xorg, wayland as a project is not being killed by anybody. |
Beta Was this translation helpful? Give feedback.
-
i love this idea! or at least why not create a Wayland-libre fork and compositor! |
Beta Was this translation helpful? Give feedback.
-
I've been working on integrating 12to11 on a fork of Xorg, got compilation with Meson build scripts and it being used as a standalone library working, but there's a lot of work regarding getting it integrated into the display server (my concept is to have it be an X module) and having 12to11 take advantage of hardware acceleration through the display server. Another gripe is that 12to11 is full of bugs, an example is it crashing GLAMOR randomly (at least on my dev machine) which means your session crashes. |
Beta Was this translation helpful? Give feedback.
-
Thank you for your contribution! We currently restructured the "Ideas" discussions and accordingly this discussion will be moved to the Good Ideas For Later category. |
Beta Was this translation helpful? Give feedback.
-
Edit: didn't saw that work is already done in that regard, but maybe it's still a summary for what that is about. There is a project called "twelveto11" that is 3 years old and the packaging on the tin reads that it is able turn Wayland in managed X11 windows: https://sourceforge.net/p/twelveto11/code/HEAD/tree/README#l27
Maybe it is worth a look integrating it into XLibre as a full-blown extensions and/or contacting the developer about it. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
With this project trying to be a modern XServer implementation, I was wondering if adding Wayland support to X11Libre could be on the table.
Some application are Wayland only, and being able to use Wayland application on an X11 desktop would be nice.
Wayland calls being translated into X11 calls would probably be the way to do so for the majority of APIs to avoid duplicating work.
I think the core wayland protocols + xdg_decoration should be enough for a start. (See https://wayland.app/protocols/)
This would ensure X11Libre long term survival in the wayland era.
Beta Was this translation helpful? Give feedback.
All reactions