A summary of Discord screensharing on Linux.


Does Discord screensharing work on Linux?

If you’re on X11 then yes. But if you’re on Wayland… then no.

How about screensharing with audio?

Nope. No official support at all.

Do people even want audio sharing that badly?

Absolutely. Here is a Discord feedback post dating back to 2020 with (currently) 1800+ votes and 450+ comments from various people. It’s been the top post on the Voice and Video category for years.

Any word from Discord about it?

Yes, actually. They claim they will support screenshare with audio “when they find the time” but never gave a time frame. The most recent update we have on the matter is this comment from January 2024 saying they have “lots of improvements to make” but Linux is at the bottom of their list because “99.9% of Discord users are on other platforms” which isn’t true obviously. Wonderful. It is believed that there is not enough Linux people working at Discord, or that the big wigs won’t let the devs work on Linux stuff. Who knows what the actual reason is?…


Community workarounds

Third-party clients

Now’s the part where I mention third-party clients because I know all you Wayland shills were frothing at the mouth just reading the “it doesn’t work on Wayland” part. Yes, there are third-party Discord clients which allow you to do proper XDG Desktop Portal screenshare on Wayland. Some of them even have audio support, albeit support is finicky and only ends up sending shitty down-mixed mono audio to viewers of your stream.

Some notable clients include:

  • WebCord (wayland support, audio share support)
  • ArmCord (wayland support, audio share support)
  • Vesktop (wayland support, audio share support)
  • discord-screenaudio (wayland support, audio share support)

All of these clients work fine however I have noticed that all the ones I’ve tried have laggy streams when there is lots of movement. I presume this is because they do not make use of hardware encoding.

Browser method

You can do some JS fuckery to get it working in the browser. This GitHub repo has the best info on how to get that working. Do note that this method results in basically the same quality screenshare as using a third party client (so… not great :P)

XWaylandVideoBridge

XWayland Video Bridge is a “Utility to allow streaming Wayland windows to X applications” developed by the KDE team. It’s unreliable at best.


“But… when they update Electron, all our problems will be solved!”

nope.gif

Oh my sweet summer child, how you have been misinformed…

Discord does not use Chromium or Electron’s screensharing features. They use their in-house module called discord_voice for most voice chat related features. It’s a miracle we even have X11 support, and even more surprising that it actually streams using hardware encoding (when your client is configured properly anyway).

Due to this fact, an Electron update will not solve our woes. It will not add Wayland or audio sharing support. It may even make things worse… considering amdgpu hardware acceleration broke1 on newer versions of Chromium, with the --use-gl flag now broken you cannot run it smoothly on mixed refresh rate X11 systems. That’s kind of a tangent, and a me problem, but still annoying nonetheless and it definitely affects more than just me.