-
Notifications
You must be signed in to change notification settings - Fork 37
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
Run natively on Wayland when available #139
Conversation
Started test build 54939 |
Build 54939 successful
|
This flag is required for screen sharing to work under Wayland.
Started test build 55130 |
Build 55130 successful
|
@Eonfge Any comments on this? Not sure if you get notifications for new PRs. 😅 |
I wasn't actually on the watch-list, but now that I'm getting more involved, I'll add myself. That said, I'm not a maintainer. 😪 @barthalion It's a bit of a dirty hack, but this kind of thing mind be worth it for now. I might be able to test it at the office tomorrow, so I'll let you know how it works on X11. |
Thanks! I've mostly tested the Wayland aspect of it, so proper testing on native X11 is very welcome. |
@barthalion Testing was successful. I was able to easily video conference for hours on end. What a misery.... but X11 was not to blame! Also, if you merge this request, could you also close all other pending pull requests? |
BTW Barthalion is on vacation currently, I wouldn't expect them to respond for a bit. Also the However you should be able to revert that commit since this PR should be an improvement (8552181 won't work with |
Odd, if I remove I'm under the impression that this |
Perhaps passing the arguments in two seperate places is problematic. First passing the flag for Are you able to screen share using current stable without native Wayland flags (and not using This could also be a Compositor-specific issue, here on GNOME/Mutter
That could be. In Chromium Flatpak there is similar-ish issue with chromium-flags.conf. Only the last --enable-features argument is actually used. I'm not sure this is the exact same issue (nor does Slack have See flathub/org.chromium.Chromium#131 (comment), the relevant system is here. |
It seems the same applies here: only the last I'm not sure if it would not be cleaner to remove the flag from the desktop file and move it into this wrapper script too. |
Do you mean to remove Then again how would this affect users who want to use Slack in xwayland with PipeWire? Ideally PipeWire should work whether running in xwayland or in Wayland. |
Sorry folks, was on vacation. Anything actionable for me here? |
Welcome back :) At least in its current state I personally think this needs more work. I am not exactly sure if this works correctly in xwayland and Wayland yet. I would try to test it but my paid Slack plan trial ran out (you need a paid plan to screen share for some reason). I would definitely like to be able to use native Wayland mode easily with Slack, but we also need to make sure PipeWire is working for xwayland and Wayland. It might be worth discussing using Cobalt to do this (I'm not sure if it's the right tool though). |
Only the last instance of --enable-features is picked up, so to make things clear, always limit these to the launcher script so it's obvious what's going on.
Started test build 56549 |
Build 56549 successful
|
I've pushed the changes we discussed. Now all Without these extra overrides, it defaults back to the previous behaviour. |
Started test build 56555 |
Build 56555 successful
|
Definitely LGTM, I think this can be merged once X11, xwayland and Wayland are tested. For reference to testers, PipeWire screen sharing should work when Slack is under xwayland and Wayland. When under a Wayland session Slack will default to xwayland unless you enable the Wayland socket (and disable X11). When you enable the Wayland socket Slack should mostly work, except for a lack of title bar on GNOME (but that's a separate issue). |
For the record, I've tested this with |
On gnome I quickly logged into X11, and basic things worked just fine. I couldn't test screen sharing since I lack the subscription required, but I don't see X11 screen sharing not working. For me, Electron apps under X11 have always worked normally with the PipeWire flag in all it's |
Yeah, FWIW, this patch has no functional changes on x11; it still gets called with the same flags. You can test with |
Wow, I went out of my way to get a subscription trial from slack just to test screen sharing and then it turns out I could have used that. Thanks for pointing that out! Although I guess running the test isn't as thorough as an actual call. I tried that tool on xwayland and wayland, it succeeds and the PipeWire pop up appears. Let me try X11 again (I have to log out again). |
X11 works as expected, no pop up and it says it succeeded. I think this is ready to merge unless someone wants to test an actual call. |
Thanks! |
Works (almost) fine for me on Fedora 34 after |
Thanks! I understand now why wayland socket is not a default (yet). |
This is a well known issue on GNOME which the developers have confirmed they will never fix. You'll have to wait for Electron to implement client side decorations: electron/electron#27016 |
Currently when running on Wayland, slack will fall back to XWayland which results in blurry rendering (if it runs at all). There is no way to configure Slack to run on Wayland
This change forces Slack to run naively on Wayland but only if that's the only an option. That is, it'll only run on Wayland if the user configurs the overrides
sockets=wayland;!x11
.