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

Streaming doesn't work on Wayland #89

Open
tr1kn1 opened this issue Mar 20, 2020 · 39 comments
Open

Streaming doesn't work on Wayland #89

tr1kn1 opened this issue Mar 20, 2020 · 39 comments
Labels
upstream Issues that we can't fix because they are Discord's wayland Issues related to wayland rendering/support

Comments

@tr1kn1
Copy link

tr1kn1 commented Mar 20, 2020

Trying to share the screen on Fedora 31 using Gnome on Wayland leads to a black screen showing only mouse cursor. Is this a bug/missing feature or due to a too strict safety/sandbox regulation?

@Fuseteam
Copy link

that's an wayland issue that should work on the newer gnome provided they fix remote desktop on the newer gnome

@tr1kn1
Copy link
Author

tr1kn1 commented Mar 20, 2020

Thanks for your response! So I will patiently wait for the next release with Gnome 3.36.

@TingPing
Copy link
Member

Discord has to support it, new GNOME releases won't help.

@TingPing TingPing added the upstream Issues that we can't fix because they are Discord's label Mar 20, 2020
@TingPing TingPing changed the title Go Live option is not properly working (tested on Fedora 31 Gnome) Streaming doesn't work on Wayland Mar 20, 2020
@Fuseteam
Copy link

Fuseteam commented Mar 22, 2020

@TingPing you mean discord has to support wayland?
either way its not an flatpak issue

@TingPing
Copy link
Member

Well, no they don't really need to care about wayland, they need to support pipewire as a video source.

@Fuseteam
Copy link

@TingPing was/is pipewire already a thing in fedora 31?

@TingPing
Copy link
Member

F31 has an older version. I don't know offhand if thats a problem.

@Fuseteam
Copy link

i suspect it does but that's based on my experience with ubuntu 18.04 :p

@TingPing
Copy link
Member

That was before Pipewire even existed.

@Fuseteam
Copy link

fair enough hahaha when did pipewire come out

@TingPing
Copy link
Member

I guess it existed in late 2017 but it didn't become very useful until into 2018.

@Fuseteam
Copy link

hmmm i see

@pojntfx
Copy link

pojntfx commented Sep 15, 2020

To anyone still trying to get this to work, just use the Browser version in Chromium. Enable the enable-webrtc-pipewire-capturer flag under chrome://flags et voilà - it just works. Tested on a fresh installation of Fedora 32.

@refi64
Copy link
Contributor

refi64 commented Sep 16, 2020

Discord's Electron version does support Chrome's Pipewire support if you pass --enable-features=WebRTCPipeWireCapturer...but Discord seems to assume on the desktop app that it can repeatedly call the API over and over again (?? maybe for the previews I guess), so you end up with dozens of GNOME dialogs asking what you want to share. This does not happen on web at all, so I'm not really sure what exactly is going on there.

@kaimast
Copy link

kaimast commented Feb 1, 2021

Kind of related: Does anybody know how to stream audio on xwayland?

@lionirdeadman
Copy link
Collaborator

Streaming audio in Discord doesn't work anywhere afaik, you can workaround that by feeding your audio into your microphone.

@gytis-ivaskevicius
Copy link

gytis-ivaskevicius commented Mar 15, 2021

electron/electron#26022 (comment) pog?

@iMonZ
Copy link

iMonZ commented Mar 17, 2021

I had the same issue after updating some packages the issue was resolved for me

@gytis-ivaskevicius
Copy link

Alright, Linux nerds, I need help:
Please login to support.discord.com, open these tickets:
https://support.discord.com/hc/en-us/community/posts/360068080771-Screen-sharing-issues-on-wayland
https://support.discord.com/hc/en-us/community/posts/360047644231-Native-Wayland-Support

And this is what you do:

  1. Upvote first/all comments (This is how project managers seem to prioritize work)
  2. Write a comment that is something along the lines of: "yeah, I too would love to see this implemented. Also using such an old version of electron is gae" :D
  3. Possibly write something like "Screen sharing does not work on Ubuntu 21.04" (Maybe complaints will get their attention?)
  4. Copy paste this message to Linux communities that you are a part of (Cmon, Linux community is not that big, we need to it is difficult to get proprietary software to support Linux)

@wiktoraleksanderkaczor
Copy link

...would be useful.

@gytis-ivaskevicius
Copy link

gytis-ivaskevicius commented May 15, 2021

Okay, a little TL:DR of the comment above since in some discord servers people seemed to misunderstand it

Discord ranks issues according to https://support.discord.com - Please upvote those two tickets mentioned above to catch their attention.
Also, I got a feeling that adding a comment that Discord is broken would be useful as well.

@anthr76
Copy link

anthr76 commented May 17, 2021

#151

@All3xJ
Copy link

All3xJ commented May 23, 2021

Discord's Electron version does support Chrome's Pipewire support if you pass --enable-features=WebRTCPipeWireCapturer...but Discord seems to assume on the desktop app that it can repeatedly call the API over and over again (?? maybe for the previews I guess), so you end up with dozens of GNOME dialogs asking what you want to share. This does not happen on web at all, so I'm not really sure what exactly is going on there.

doesn't work in my machine. I also see black screen in the windows that were working before using --enable-features=WebRTCPipeWireCapturer

@vchernin
Copy link

vchernin commented Jun 8, 2021

@All3xJ What distro are you on? All Ubuntu releases before 21.04 are not able to use PipeWire.

If on another distro can you test the discord web app in chromium/chrome (with that flag) or firefox (no flag needed).

@All3xJ
Copy link

All3xJ commented Jun 21, 2021

@All3xJ What distro are you on? All Ubuntu releases before 21.04 are not able to use PipeWire.

If on another distro can you test the discord web app in chromium/chrome (with that flag) or firefox (no flag needed).

ArchLinux.
With either Firefox and Chrome I can record the screen.
Under Firefox mouse cursor can't be recorded. In Chrome the cursor is visible but sometimes it gets stuck and it's not visible anymore.

@vchernin
Copy link

vchernin commented Jun 21, 2021

@All3xJ Firefox bug. Chromium bug. So in Chromium/Chrome there should be a cursor fix arriving in 93 probably.

@Doomsdayrs
Copy link

Kind of related: Does anybody know how to stream audio on xwayland?

Helvum

@Rycia
Copy link

Rycia commented Sep 12, 2022

M

Discord has said they won't support it and that it's on Wayland.

@kon14
Copy link

kon14 commented Sep 12, 2022

Discord has said they won't support it and that it's on Wayland.

Source?

@Doomsdayrs
Copy link

Discord has said they won't support it and that it's on Wayland.

Source?

https://www.reddit.com/r/linux_gaming/comments/vuh1d3/discord_xwayland_is_not_currently_officially/

https://theevilskeleton.gitlab.io/2022/05/29/a-letter-to-discord-for-not-supporting-the-linux-desktop.html

@kon14
Copy link

kon14 commented Sep 12, 2022

@Doomsdayrs That's just a support person saying Xwayland is not currently officially supported.
In no way does that indicate they won't officially support Wayland at some point down the line.

@Doomsdayrs
Copy link

@Doomsdayrs That's just a support person saying Xwayland is not currently officially supported. In no way does that indicate they won't officially support Wayland at some point down the line.

They have no members dedicated to Linux whatsoever. Xwayland etc.

I suggest considering a migration of Matrix and using that instead of Discord if possible.

@kon14
Copy link

kon14 commented Sep 12, 2022

@Doomsdayrs

They have no members dedicated to Linux whatsoever. Xwayland etc.

I'm not suggesting otherwise, but that's not to say it's in any way terminal.
Besides, making use of Electron's (or rather Chromium's) own PipeWire-based WebRTC screencapturer is not something that would require a dedicated Linux dev team.
They could just let the browser take care of it just like they already do whenever they don't detect their official Electron wrapper.

I suggest considering a migration of Matrix and using that instead of Discord if possible.

That is not a solution to Discord's screensharing on the official build being broken on Wayland.
People often have to utilize whatever software their peers use, especially around any app related to communication.

@Doomsdayrs
Copy link

@Doomsdayrs

They have no members dedicated to Linux whatsoever. Xwayland etc.

I'm not suggesting otherwise, but that's not to say it's in any way terminal. Besides, making use of Electron's (or rather Chromium's) own PipeWire-based WebRTC screencapturer is not something that would require a dedicated Linux dev team. They could just let the browser take care of it just like they already do whenever they don't detect their official Electron wrapper.

It is terminal, it has been like this for years. I find your attitude in this matter ignorantly optimistic. Thus I shall take no further point in this conversation with you.

Good day to you.

@carlocastoldi
Copy link

Instead of this nonsense murmur I think it's worth mentioning that some unofficial scripts that make it possible to stream on Discord with PipeWire by illegally modifying the code exist. A workaround for streaming audio as well is not (yet) found.
For obvious reasons I won't link the said scripts here.

That said I feel like this issue can be locked. No work can be done from the flathub maintainers and the past few months revealed that nothing worth noting came out from here. What do you think, @lionirdeadman

@lionirdeadman
Copy link
Collaborator

Locking, was mostly hoping for this issue to be used if people found things.

@flathub flathub locked as too heated and limited conversation to collaborators Sep 13, 2022
@lionirdeadman lionirdeadman added the wayland Issues related to wayland rendering/support label Apr 29, 2023
@flathub flathub unlocked this conversation Oct 2, 2024
@guihkx
Copy link
Collaborator

guihkx commented Oct 2, 2024

Can someone on Wayland please retest this with the current version of Discord (0.0.70)? Thank you.

@JavkhlanK
Copy link

JavkhlanK commented Oct 2, 2024

Using Fedora 41 Workstation Beta (GNOME 47, pipewire 1.2.5) and the discord flatpak 0.0.70, I can select share targets sort of reasonably (entire screen, app windows) thanks to the portal, but Discord's own picker doesn't integrate too well. Sharing doesn't work though, it ends up in just a blank screen.

The only relevant log message I got from running the app from the cli is:

'loop->recurse > 0' failed at ../src/pipewire/thread-loop.c:426 pw_thread_loop_wait()

@guihkx
Copy link
Collaborator

guihkx commented Oct 2, 2024

That's unfortunate, but thank you very much for testing.

It'd be great to also test this with the non-Flatpak package on Wayland, just to make sure the problem isn't specific to Flatpak.

If it's specific to Flatpak, we can keep this issue open until we figure out the reason, and a fix.

However, if this also affects non-Flatpak Discord, my suggestion for the people affected by this bug would be to report it using the appropriate channel instead, because this bug tracker only deals with Flatpak-specific issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
upstream Issues that we can't fix because they are Discord's wayland Issues related to wayland rendering/support
Projects
None yet
Development

No branches or pull requests