The biggest and outstanding issue with Discord on Linux is the Screen Sharing that has been left unfixed, despite community demand left ignored and unfixed for 4+ years along with critical security vulnerabilities of using outdated CEF libraries, but with community workarounds can mitigate these vulnerabilities by repackaging Discord with newer versions of CEF and Electron.
Screensharing is a critical component feature of Discord and the fact that you can’t screenshare on Linux properly goes to show their lack of interest in acknowledging and actively working on fixes to address these issues. So what’s the problem with Screenshare on Discord for Linux?
The problem is that while you CAN screenshare things on your desktop on Linux, you cannot stream audio alongside it capturing audio of the application or desktop you want to share. No proper audio support for screensharing, the only audio you get is your Input for microphone device and Output for your chosen audio output device. Community workarounds have lead to many different attempts to get desktop/application audio routed into Discord using custom created audio sinks so you can get desktop audio with Screensharing when it’s active. But many of these workarounds are often quite buggy and unstable, especially when you’re messing around with ALSA or PulseAudio as you may have unintended effects and bugs when trying to create an audio sink specifically for Discord to capture desktop audio, which by the way has to route through your Input source selected in Discord, which means you can’t use your mic AND screenshare WITH audio, and this is a very ugly and buggy workaround. Other issues stems from audio not being level and spiking in audio levels, in my many testings found that even when you disable the audio filters within Discord just for the Input source, even with Krisp or noise suppression OFF the audio levels will still fluctuate.
There has been demand for Wayland support in Discord because it works better for capturing Desktops and Windows a lot better and not have as many issues for capturing full desktop screens or windowed applications. There’s also demand for Pipewire support in Discord, which is seemingly a better experience for all with Pipewire, but even with Pipewire support baked in, it’s not going to solve the screensharing issues on Linux right away, but it’s a step in making it work. Pipewire handles multimedia routing and pipeline processing, and is a low-level multimedia framework so you can capture and playback audio and video with minimal latency, and can work with PulseAudio, JACK, ALSA, and GStreamer applications, and top of that you’re able to run the application sandboxed running with Pipewire support as a Flatpak, which in theory will work out the box with no configuration required.
Lastly injecting library fixes to Discord does NOT violate EULA, since it’s not modifying Discord as a service, it’s only the package software in which it runs on and is purely client side and doesn’t externally modify or disrupt Discord services in any way, you’re just telling Discord as an application to run with different and newer libraries instead of old and outdated ones which is only half the problem Discord has on Linux. All these client mods and patches ARE the community workarounds to the many issues Discord has because the community is sick of waiting around for a fix that may or may not even come. Not doing anything drives the community to make changes themselves and work on solutions that will hold over until a proper patch fix is made, of course these people don’t have internal documents on how Discord works or how to implement native features of the client itself without causing other issues.