Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wayland support? [Donation target met] #109

Open
JaneSmith opened this issue Aug 2, 2018 · 231 comments
Open

Wayland support? [Donation target met] #109

JaneSmith opened this issue Aug 2, 2018 · 231 comments
Assignees
Labels
bounty Bounty assigned enhancement New feature or request

Comments

@JaneSmith
Copy link

JaneSmith commented Aug 2, 2018

Added by one of the maintainers of Barrier, @p12tic:

Please support this bounty to get Wayland support in Barrier

A bounty for Wayland support has been posted to BountySource here. EDIT: $2550.42 has been collected, thus meeting the goal of $2000, but not the goal of $5000.

As promised here, I @p12tic will start working on Wayland support within 3 months of the moment when $2000 is collected. I will start working on this feature immediately as soon as $5000 is collected. The higher amount is collected, the higher priority this will be given.


Original issue

Is there any work being done to support Wayland?

The README file states "We will also have our eye on Wayland when the time comes", but to me the time has already long come and past. Distros ship Wayland by default now. Desktop environments like KDE have a feature freeze in place for X, with all focus being on Wayland now. New WMs/DEs are being made for Wayland only (e.g. Sway and Way Cooler). The upcoming Librem 5 phone will be running Wayland only. It's all full steam ahead with Wayland on Linux.

Synergy has been promising Wayland support literally for years. Their last comment was that it was "coming soon", almost a year ago. They seem to have nothing to show it and even locked the threads discussing the issue. They're advertising a paid product supporting Linux, when in fact it doesn't at all if you're using modern Wayland. This seems like false advertising. There are other issues with Synergy, such as encryption being a paid feature, the feature creep, etc. Therefore I'm looking to Barrier instead.

So can we get Wayland support with Barrier? Is it technically possible to implement? I am aware that Wayland's limited feature set and increased security could possibly cause problems. Could we get an actual discussion going about this? Or a status update? Thanks a lot in advance.

@p12tic
Copy link
Member

p12tic commented Aug 2, 2018

Hey, Barrier does not currently support Wayland. It should be technically possible, but for that to happen someone needs step up, investigate and implement that. Barrier is a community-driven project, there's no one to complain to and doing so might be counter-productive :-)

Like in all similar projects, a particular feature is usually implemented when some user who is a skilled programmer gets fed up and spends several weekends working on it.

@walker0643
Copy link
Member

I don't have the time to invest into Wayland development. At least, not as much as would be required to lead it. I would, however, be willing to dedicate a branch for this purpose if there were sufficient developer interest.

@walker0643 walker0643 added enhancement New feature or request help wanted Extra attention is needed labels Sep 8, 2018
@walker0643
Copy link
Member

Reopen if a dev wants to tackle a wayland branch.

@BrendanBall
Copy link

BrendanBall commented Jun 13, 2019

Would we be able to implement Linux support with uinput so that there's just a single implementation needed? FreeBSD does seem to have uinput as well, all though there doesn't seem to be much documentation around it.

@chriselrod
Copy link

https://www.phoronix.com/scan.php?page=news_item&px=X.Org-Maintenance-Mode-Quickly

X.Org is going into maintenance mode in favor of Wayland. Seems like we may need Wayland support eventually.

@valpackett
Copy link

FreeBSD does seem to have uinput as well

Indeed we do :) It only works for GUI, but it's not like the current X implementation can type into the plain console.

BTW, https://github.com/Blub/netevent is a good uinput forwarder. Not smoothly moving the mouse across devices, just toggles between devices based on a key, but still works nicely.

@frague59
Copy link

frague59 commented Aug 5, 2019

+1 for netevent

@kayasoze
Copy link

All mainstream Linux distributions now default to Wayland on GNOME. This would seem to be a high priority.

@BrendanBall
Copy link

I've already started playing with uinput, but I'm currently stuck on getting mouse movements to work because they're absolute, not relative. I haven't looked much at netevent, but I would assume it uses relative mouse events because it doesn't need a smooth crossover from one machine to another. I've only tested so far in Xorg because my barrier server is still on i3, where my barrier client is on sway. Uinput should be universal, so it should work in both Xorg and Wayland, but I should probably just check if the absolute mouse events are also broken in Wayland. If it's not possible to get absolute mouse movements to work through uinput then it's kind of a dead end.

@AdrianKoshka
Copy link

AdrianKoshka commented Aug 12, 2019

Thanks for the effort you're putting in @BrendanBall! As for @kayasoze, developer resources need to be diverted to more pressing issues right now like memory leakage. And keep in mind, there's currently not many active developers on the project. We have a lot of users, but not many developers. While wayland support would be appreciated, I think fixing more pressing issues is of higher priority.

@EbonJaeger
Copy link

EbonJaeger commented Aug 12, 2019

All mainstream Linux distributions now default to Wayland on GNOME.

No, they don't. Ubuntu hasn't since 18.04. Doesn't look like Manjaro does either, but they can't seem to agree on if it does or not. I believe only Fedora uses Wayland by default, and only for some configurations (Nvidia non-free drivers cause problems with Wayland).

Time is definitely better spent on fixing current bugs, as @AdrianKoshka said.

@ramereth
Copy link

FWIW Debian 10 now defaults to Wayland (which is why I'm watching this issue).

@BrendanBall
Copy link

I didn't realize there's only one developer :( . I'm unfortunately not a C++ developer, so won't be contributing code directly in the foreseeable future. I have however spent a lot of time reading lots of the code (which was quite daunting) mainly to understand the protocol, as I've taken the opportunity to port barrier to rust (client for now) purely for my own gain (learning rust). I will however contribute any learnings on how to support Wayland via uinput etc in some kind of doc if I actually manage to figure some things out. I am also not spending much time on it currently, so it will progress quite slowly.

Sounds like we need to put the word out there that this project could do with some more developers though.

@AdrianKoshka AdrianKoshka moved this from In progress to To do in Wayland support Aug 12, 2019
@shymega
Copy link

shymega commented Aug 12, 2019

Not all DEs or WMs default to Wayland. Neither do all distros. The fact remains that we have ~141 issues, and time needs to be better spent working on these issues, and then we can work on Wayland support. However, that said, if anyone wants to contribute a PR adding Wayland support that's clean, safe, and doesn't cause major breakages, they are welcome to do so.

@AdrianKoshka
Copy link

@BrendanBall One was a bit misleading on my part originally. Sorry about that, I have since fixed the comment.

@AdrianKoshka
Copy link

AdrianKoshka commented Aug 12, 2019

Also to add to what @shymega said, there's now a wayland project

@kayasoze
Copy link

kayasoze commented Aug 12, 2019

It appears I am mistaken about Ubuntu--it does not yet enable Wayland by default. Arch and Clear Linux do.

While I realize that there are other bugs outstanding, Barrier is at least usable. For Wayland users, it doesn't work at all. In severity, that is a bug that seems to trump all others, but if someone can point to an issue that is worse for users than "doesn't work at all," I'd like to see it. As it stands now, users will uninstall the package and move on, so fixing this is important if Barrier wishes to remain relevant.

@shymega
Copy link

shymega commented Aug 12, 2019

I'm not convinced that Wayland is a severe issue. Yes, its not ideal to not have Wayland support; I completely understand. But there's a lot of other issues that are yet, more important. We have two bug reports about a memory leak, another about a segmentation fault - these are more important.

@BrendanBall
Copy link

BrendanBall commented Aug 28, 2019

So I just managed to successfully move my mouse around in wayland (barrier client) using my very minimal wip rust client port. I have a minimal C prototype for setting up the virtual mouse and sending some events. If a C++ developer interested in wayland support is keen to start prototyping, that should be enough to get started.

@shymega
Copy link

shymega commented Aug 28, 2019 via email

@valpackett
Copy link

Rust has very good support on FreeBSD.

@ccoenen
Copy link

ccoenen commented Jan 4, 2024

I am now running input-leap on my laptop on fedora 39 successfully on top of wayland. It's not yet perfect[1], but I would count this as "done". Right now, most distributions don't have all the libraries up to date. I don't really know which exact versions are the minimum requirements, so I'd suggest just trying it. That is probably easier either way.

[1] Not all keys work for me; And sometimes when I need to reconnect after standby my whole desktop environment crashes.

@jhay06
Copy link

jhay06 commented Jan 17, 2024

I Can confirm that this is working , it doesn't have wayland support but it works when an specific apps that using X is running at foreground in fullscreen , for example Chrome browser , when this browser is in the foreground and currently in fullscreen i can control the participant computer , :)

i think if someone can instead create compositor or a hidden box that fill the entire screen and always on top and it just captuire the mouse point location , barrier running on wayland is not be a problem anymore . the current app works .

@ccoenen
Copy link

ccoenen commented Jan 17, 2024

I Can confirm that this is working , it doesn't have wayland support but it works when an specific apps that using X is running at foreground in fullscreen , for example Chrome browser , when this browser is in the foreground and currently in fullscreen i can control the participant computer , :)

This is not what I am talking about. What I am describing is different. Since my previous post from ~2 weeks ago, I can now fully use input-leap on any window without any further tricks. Your experience reads much like the XWayland workarounds described earlier in this issue.

@p6002
Copy link

p6002 commented Jan 17, 2024

I suspect this will never be fixed.

@Nerpson
Copy link

Nerpson commented Jan 17, 2024

I suspect this will never be fixed.

And this type of useless comment won't help to fix, so there's no need to post them.

@p6002
Copy link

p6002 commented Jan 17, 2024

You know, after several years of getting notifications from github about barrier, this is just funny.

@NicolasGoeddel
Copy link

I am still waiting for the first release of InputLeap. Until then I still have to use X on all my machines.

@evilbulgarian
Copy link

Here is a good and promising alternative: https://github.com/hrvach/deskhop

@shymega
Copy link

shymega commented Jan 17, 2024

You know, after several years of getting notifications from github about barrier, this is just funny.

Have you considered, unsubscribing from the Barrier repo/this issue? That would be an idea.

@shymega
Copy link

shymega commented Jan 17, 2024

I Can confirm that this is working , it doesn't have wayland support but it works when an specific apps that using X is running at foreground in fullscreen , for example Chrome browser , when this browser is in the foreground and currently in fullscreen i can control the participant computer , :)

i think if someone can instead create compositor or a hidden box that fill the entire screen and always on top and it just captuire the mouse point location , barrier running on wayland is not be a problem anymore . the current app works .

As I have said, that's a fluke. This is not Wayland support.

@NicolasGoeddel
Copy link

Here is a good and promising alternative: https://github.com/hrvach/deskhop

That's not an alternative because it can not share the clipboard.

@brianjmurrell
Copy link

That's not an alternative because it can not share the clipboard.

My understanding is that neither does the current Barrier/InputLeap Wayland implementation (currently).

I'm unable to confirm given that InputLeap doesn't work on current Fedora 39.

@shymega
Copy link

shymega commented Jan 31, 2024

That's not an alternative because it can not share the clipboard.

My understanding is that neither does the current Barrier/InputLeap Wayland implementation (currently).

I'm unable to confirm given that InputLeap doesn't work on current Fedora 39.

Try this: https://discussion.fedoraproject.org/t/input-leap-fedora-39-gnome-wayland/95856/3

@brianjmurrell
Copy link

Try this: https://discussion.fedoraproject.org/t/input-leap-fedora-39-gnome-wayland/95856/3

I've already tried all of that.

Just the fact that there is a copr repo necessary for any/all of this to work means that Wayland is simply (still) not ready for prime-time and that F40's plan to drop Xorg is very obviously premature and is going to break a lot of people's systems.

@ofourdan
Copy link

ofourdan commented Feb 1, 2024

Try this: https://discussion.fedoraproject.org/t/input-leap-fedora-39-gnome-wayland/95856/3

I've already tried all of that.

On that specific topic, that's my fault, the builds I prepared with the input capture support enabled in my copr got superseded with newer builds from Fedora, so indeed, it would not work.

I have now updated the builds for libportal and input-leap in my copr with the required features backported/enabled so that should be better now, if you're willing to give this another try.

Just the fact that there is a copr repo necessary for any/all of this to work means that Wayland is simply (still) not ready for prime-time and that F40's plan to drop Xorg is very obviously premature and is going to break a lot of people's systems.

A copr is necessary because projects add new features all the time. And EI support is not related to Wayland per se, you could use EI with X11 and Xorg if you wanted to. But anyhow, this is quite off topic here.

@brianjmurrell
Copy link

A copr is necessary because projects add new features all the time.

But when a distro requires a copr project in order to actually function properly, that is a big red flag that the distro is broken and needs to slow down on future and make the present function first.

Dropping Xorg in F40 when none of this stuff even works in F39 is a big red flag. IT'S NOT READY YET!

IMO, Fedora should not be dropping such a major functional feature as Xorg until it has a track record of a release or two (at least) showing that there are no major functionality hurdles in doing it. That people are still reporting problems with using Wayland even now means it's not ready to be the one and only option in a distribution!

But yes, way off-topic here. But nobody seems to be listening anywhere else either though.

@ofourdan
Copy link

ofourdan commented Feb 1, 2024

Dropping Xorg in F40 when none of this stuff even works in F39 is a big red flag. IT'S NOT READY YET!

Fedora Workstation uses Wayland by default since Fedora 25.

But who said that Xorg was dropped in Fedora 40? FWIW, Fedora is a community project and packages remain as long as people are willing to maintain them in the distribution.

@brianjmurrell
Copy link

I have now updated the builds for libportal and input-leap in my copr with the required features backported/enabled so that should be better now, if you're willing to give this another try.

Gave it another try and it still crashes when I try to allow remote input capturing. The dialog for that starts to disappear after I click the Share button in the top right and then the session just crashes completely back to GDM.

dnf-automatic upgraded the following components from your copr:

 input-leap             x86_64 2.4.0^20231022gitc5bb9dca-4.1.fc39
                                                            copr:copr.fedorainfracloud.org:ofourdan:input-leap-ei-enabled
                                                                          810 k
 libportal              x86_64 0.7.1-3.1.inputcapture.fc39  copr:copr.fedorainfracloud.org:ofourdan:input-leap-ei-enabled
                                                                           75 k
 libportal-gtk3         x86_64 0.7.1-3.1.inputcapture.fc39  copr:copr.fedorainfracloud.org:ofourdan:input-leap-ei-enabled
                                                                           18 k
 libportal-gtk4         x86_64 0.7.1-3.1.inputcapture.fc39  copr:copr.fedorainfracloud.org:ofourdan:input-leap-ei-enabled
                                                                           18 k

Let me know if there is any additional information I can provide to diagnose.

@brianjmurrell
Copy link

Fedora Workstation uses Wayland by default since Fedora 25.

By default but not as a single option. Anyone here would not be using Wayland though as soft-KVM (barrier/input-leap) is obviously a use-case that doesn't work with Wayland yet.

But who said that Xorg was dropped in Fedora 40?

Maybe I am conflating issues and the sky is not falling quite as quickly as I thought it was.

FWIW, Fedora is a community project and packages remain as long as people are willing to maintain them in the distribution.

Yes, in general. But it's not quite that clear cut. If something already has a maintainer, like, say, GNOME for example and if that maintainer decides he wants to drop support for Xorg (for example), it's meaningless that somebody steps up to maintain Xorg if other maintainers are unwilling to work with/support it. But yeah, to your point in general.

@ofourdan
Copy link

ofourdan commented Feb 1, 2024

The dialog for that starts to disappear after I click the Share button in the top right and then the session just crashes completely back to GDM.

That means the whole Wayland session crashed. That's with GNOME, right? In which case that would be a mutter bug.

@shymega
Copy link

shymega commented Feb 1, 2024

Yes, it would be good to stay (calmly) on track and have some logs...

@ofourdan
Copy link

ofourdan commented Feb 1, 2024

Please take a look in journalctl and check in coredumpctl to see if you can get a backtrace and file an issue in gitlab.gnome.org (FWIW, I am not seeing such a problem here).

@brianjmurrell
Copy link

brianjmurrell commented Feb 1, 2024

@brianjmurrell
Copy link

brianjmurrell commented Feb 5, 2024

The mutter issue above was resolved and now I don't get crashes on just trying to start InputLeap on the Wayland server. Yay and thanks much for that fix @ofourdan!

I did open input-leap/input-leap#1840 though for big mouse wheel jumps on an X11 client with a Wayland server.

Also confirming that copy and paste do not work between Wayland server and X11 client (or perhaps at all, between a Wayland server and any client).

@fe2-Nyxar
Copy link

fe2-Nyxar commented Mar 7, 2024

no way devs have been sleeping on this since 2018 bruh, I'm on KDE 6 and I got an error saying: barrier is not supported on wayland

@NovaXe
Copy link

NovaXe commented Mar 9, 2024

no way devs have been sleeping on this since 2018 bruh, I'm on KDE 6 and I got an error saying: barrier is not supported on wayland

Dev efforts seem to be focused on input leap at the moment but not sure if that supports wayland either

@shymega
Copy link

shymega commented Mar 10, 2024

Barrier is no longer maintained. Input Leap supports Wayland on GNOME.

@GRMrGecko
Copy link

Input Leap support on KDE is waiting on https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/issues/12

@FuLygon
Copy link

FuLygon commented Apr 21, 2024

If only using linux as client connect to Windows/Mac, try this https://github.com/r-c-f/waynergy/tree/master

@fennectech
Copy link

on KDE / wayland everything works but the mouse does not show. would it be possible to add a feature for a decoy emulated cursor so that we can see where our mouse is. other than that it works fine on wayland for me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bounty Bounty assigned enhancement New feature or request
Projects
Development

No branches or pull requests