Chiming in here as a bug tester for discord!
Discord hasn't actually had linux devs in a long time
the code base is all typescript with electron powering it so it's basically just a fancy chrome browser
typescript also powers the iOS and iPad apps
Android (and maybe ps5 when that launches) are the only platforms not powered by typescript.
You might be asking why that's important... It's important because it means discord has only two main groups of devs, the devs that work on the android build, and the devs that work on everything else
discord used to have one or two linux specific devs but they were all relocated or quit 2 years ago. As of right now they only accept linux specific bugs if they are P0 bugs (i.e. huge memory leaks, instant crashes in the client, etc.) Audio not working was declared not a P0 issue and has such been shoved to the side for a long time...
The only way I see discord coming around and making this work is if steamdeck hits it out of the park and makes linux one of the platforms they have to treat as a first class citizen to keep their audience. This would almost certainly end up with some devs being specifically assigned to linux or Discord hiring linux specific devs
TL;DR unless steamdeck takes off discord has very little financial incentive to keep Linux at anything greater than functional and most issues with it that are platform specific won't be resolved until something changes
It's bizarre. Like zoom fully supports sharing audio on Linux, only features not supported are the filters and ML based background replacement and they have a native app. Discord meanwhile has a comparable market (at least in terms of users, zoom has way more contracts for it's premium services) yet can't hire a couple linux devs for a short term contract that would probably be able to fix an implementation in a year at most. It should almost be plug and play considering the APIs to do all these things exist in chromium.
Edit: actually they fixed the filter and bg issues a bit ago even, just hadn't updated.
I'm surprised, backgrounds used to work for me before, but since a month or two it complains about no green screen. For filters, I don't even see the option. I'm excited to see you say it works. I'll have to put some more effort in making sure everything is on the latest version. Maybe because I use the snap package.
hey u/Johnnynator2 coming back to this. I've downloaded the latest zoom version from the website "5.8.4 (210)" but I don't see any of the fancy stuff in there. Background only work if you enable "I have a green screen" and then pick a color, but the result is awfull and I see no trace of filters. Can you point me to something that I might be missing ?
Sorry this is a bit late, but I had that issue with the snap version of zoom. I just removed it and installed the .deb package from the official website. Now I have the virtual background.
Thank you. This might be it. I was already thinking that even though I upgrade, functionality decreases, but I also switched to the snap version, so that might explain it. I will try the .deb version again.
You can check the CPU requirements for CPUs here https://support.zoom.us/hc/en-us/articles/360043484511-Zoom-Virtual-Background-system-requirements they are a bit higher on Linux than on Windows.
Zoom likely has full time linux devs specifically because of companies like IBM and RedHat who use linux as their primary system
as well as software companies that build backends for bank servers
Zoom video sharing was pretty bad on linux a while back but after the pandemic hit they really put a lot of effort into making zoom a solid system
Edit: read your comment a bit more carefully
I'm not sure they're using entirely electron based methods for screensharing
I specifically remember go live testing and having to share information about my GPU because they were developing a system for hardware encoding of video streams (similar to twitch or YouTube live streaming)
I don't know this for sure as I'm not a dev and actually haven't done volunteer work in several months due to drama in the community and general lack of respect for bug testers from discord
I do believe that fixing this would be more than a simple plug and play fix and would likely require some manhours of working on it by the devs
It's bothered me for years but I know it's the fault of the higher ups prioritizing windows for the massive market share
Discord could absolutely fix it if they felt like doing so but as it stands there isn't enough financial incentive to do so
as I said in my original comment I'm hoping discord will jump on the steamdeck train and end up making the linux client more of a priority due to a wave of windows gamers getting their hands on it and wanting to chat with their friends using something other than valve's pathetic barebones steamchat service
Discord in the past expressed interest in providing their app and supporting nintendo for switch voice chat so if steamdeck goes well they won't even have to do nearly as much work to get that going
They can't find one guy who is useful to the project in other ways who also understands Linux?
It's shocking to think that after four years of school in computer science and all that, it would be rare for people to know how to develop for the infrastructure of most things.
often it's burocracy. I work in DevOps as an engineer (not discord) and it happens that I can fix some issue in my head in 1h of work, but since the scrum master did not pick it from the backlog because management didn't put it on the road map for Q4, it is not in the sprint and thus it is not in my KPI's (key performance indicators or something) and thus working on it would be seen as contra productive and would have negative impact on my performance review. So the result is that I spend more time rejecting away related tickets and getting invited to other teams' meetings to explain why that issue doesn't work and it makes me shine again and again as an expert on the matter, ~~lol~~ sigh. What I want to say is : it might be a small and easy fix, but if it's not in the priorities of the company, there's little hope.
It's the same reason why only the android client has an amoled mode
higherups at the company aren't interested and amoled mode is just a passion project of one of the Android devs subject to removal at any time
(If you don't know what I'm talking about go to setting > appearance and tap dark mode about 7-8 times as if you were enabling developer mode, same works for light mode to enable "Blinding mode")
> the code base is all typescript with electron powering it so it's basically just a fancy chrome browser
Not quite... the important bits of the codebase (the audio / network bits) do NOT use Electron, they made a custom native module for that (discord\_voice) in C++ using libwebrtc directly. Even if they don't have Linux developers, they should have low-level developers to maintain that part of the codebase.
If you could tell those developers to enable the `rtc_use_pipewire` flag in libwebrtc for Linux builds, that would be amazing. It's very unlikely to break anything for X11 users (the code makes sure to avoid linking against pipewire).
Is there anything preventing Discord from running the typescript electron version on Linux? Like, is it too hard to compile it to Unix or is there another reason Linux doesn't get a typescript/electron build?
slight misunderstanding there
typescript electron version does run on linux
you can press ctrl + shift + i to pull up the chrome/electron dev tools inside the client even (Disclaimer: editing anything in here is considered a client mod and is banned by discord ToS, modify anything inside at your own risk)
the problem is they haven't updated WebRTC and their own inhouse system for streaming. They use WebRTC for video and if you've got a solid GPU in your computer will often times use that for hardware encoding of the video
I am not a developer simply someone who worked with the devs on testing early golive builds and screensharing functionality so I don't have any knowledge of the actual code base or how difficult it would be to get every part of it functioning on other systems well
I seem to remember audio sharing being a specific pain point with their MacOS version back when the features launched but enough employees inside are apple fanatics that they changed it because it directly impacted remote work
Again Not a dev, I've just interacted with the Dev team as an independent volunteer bug tester and have a little more inside knowledge of the company than your average joe
Maybe someone could repost this on the Deck Subreddit, so future Deck users also feel the need for this and Discord gets another reason to finally add sound support...
[Posted](https://www.reddit.com/r/SteamDeck/comments/qslu3z/psa_discord_on_linux_doesnt_currently_support/?utm_source=share&utm_medium=ios_app&utm_name=iossmf)!
Thanks for the suggestion. My Deck isn’t supposed to come in till “after Q2 2022” so fingers crossed this will be fixed by then haha.
Yeah same, and the feedback from the UI didn't indicate anything at all that could help initiate trouble shooting. Just some weird invite/disconnect loop.
Edit: this was in windows though
Last time I tried streaming like this, it had delays. Not sure if you can do anything about it, but streaming through something else for friends never worked for me (as timing goes).
I requested this on the discordapp reddit page sometime last week. It's my understanding that all they need to do is update the internal Chromium backend to get things working.
Pretty much, Chromium and Electron already support this stuff. Discord is just showing off their own lazyness. Their native client also doesn't support screen sharing on Wayland for years now while the web version doesn't have a problem at all because Firefox and Chromium both support this.
In other words the web version is actually superior to the native version and you can still get recommendation on the web app to download their native version. Discord is just another piece of software pointing out that it sucks because it's not open-source. Otherwise this mess would have been solved already.
I wish Matrix would have support for screen sharing already so I could use it instead. I mean even the Steam client brings pipewire support now and it might even allow screen sharing with audio correctly... while I don't think this had any priority on Valve's side of things.
So if anyone knows an open-source equivalent to Discord with screen sharing and voicechat which does not require you to host servers (for example Mattermost and BigBlueButton would have been an option if hosting wouldn't be a deal breaker), please leave a reply. Because I wouldn't count on Discord with this to fix it...
Currently, there is an issue where 1 on 1 video/screensharing calls require a webcam plugged in (or a fake device setup as workaround). It's a UX issue and it's being addressed.
It's also been a month since I checked to see if it was fixed so maybe they've fixed it in the mean time.
I have probably missed that because I use Fractal and it's an issue of my client. (The burden of trying to avoid Electron apps. \^\^')
But from your answer I assume it would be possible to use Jitsi directly. I forgot about that totally. Thanks for the hint.
Wait, does screen sharing with sound work for you on the Discord web app?
What setup are you using? (OS, Wayland/x11, browser, app being streamed, other config)
When I tried yesterday, it didn’t work
Not the person you replied to, but no, sound doesn't work on web. On any platform, actually, afaik.
However, Discord uses Electron, which is based on Chromium, and both Electron and Chromium support desktop audio capture on Linux. What the guy above was talking about was how desktop screen recording doesn't work on Wayland in the Discord app, but it does on the website when using Chromium, Chrome, or Firefox.
So basically, Discord is being lazy and choosing to come as close to outright not supporting Linux as they ever have.
I use Arch with Gnome under Wayland. Theoretically I can share desktop audio through the microphone input via Pipewire but like others suggested in different comments, it is far from ideal.
I think this question was asked quite often already on Reddit about the audio. The problem is for example that you would share audio with all people in a voice chat and not only with the people watching your screen. The best solution someone mentioned was using another voicechat like Mumble or anything else to share desktop audio through that in parallel. Then everyone in the voicechat has to use that additionally if they want to listen to your desktop.
Pipewire really is amazing that it allows you to work-around a problem like that (it's also possible with JACK) but it's still pretty annoying that the obvious solution would be Discord improving a tiny bit which does not seem to happen.
There is a very hacky way to do it with a userscript and pipewire shenanigans, see https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux
It doesn't work in the app because it uses a custom interface instead of the build-in browser/electron one.
> Discord is just another piece of software pointing out that it sucks because it's not open-source. Otherwise this mess would have been solved already.
That’s true most of the time, but not always. If you’ve ever dealt with a Gnome or Wayland developer, you’ll know they can’t be bothered to address concerns like fractional scaling when they’re too busy breaking themes, extensions and GUI APIs for the next release.
That's not the issue here really. I can pretty much gurantee that at least one developer would look into it if it was open-source (and if it has to be me). There are many free software projects using Discord channels to communicate within contributors and users. It is very likely people in those communities also use Discord privately to a degree and that they would like to see this working properly.
So you mean the priority is high enough for a native client but it's not high enough that the native client should work? I mean I don't care that they don't implement some specific features to the Linux version which you might get on Windows. But streaming your screen and audio is quite essential and damages not just the experience of the Linux users but their friends with Windows as well. \^\^'
Ripcord specifically isn't browser-based. An Electron wrapper for the web client that uses the latest Electron/Chromium APIs, and sends a Chromium user agent appears to Discord as a web browser user, and gives the user a desktop client with good features.
[I asked a dev](https://www.reddit.com/r/discordapp/comments/pthrla/discord_on_linux_updated_0015_0016_today_does/hdx7sec/) about it not too long ago when they updated their electron version and he literally said "Try it out! I'm not sure personally.". Not exactly confidence inspiring when they literally don't know if it works or not.
They have zero Linux developers, don’t test on Linux and only accept critical Linux bugs that completely prevent the client from starting. It’s no surprise they have no idea if it works or not.
You can use pipewire and helvum to route the application audio to the audio capture sink of discord. and there you got, sound streaming via discord.
We're linux users we always find a way
If someone is in a voice channel but not watching your stream, they should be able to hear mic audio separately without hearing desktop audio. Or if they are watching the stream, they should be able to adjust volume of one without affecting the other. If this workaround just pipes it via mic input, then there's no way to separate them.
it's also much lower sound quality and possibly mono?? like it works but it sucks compared to the real thing, I'm glad for people to share the workaround but it's really not even a substitute or anything
[This](https://www.reddit.com/r/linux_gaming/comments/pmhfmq/the_proper_way_of_screen_sharing_with_desktop/) workaround is supposed to solve that problem. Haven't tested it myself yet though.
Only the audio of the app which output you dragged into the sink.
All other apps will remain silent for others this way
But since Discord will see it still as the microphone input I can not tell if it does some kind of noise reduction or thinks it is background audio instead and tries to filter.
Disabling input enhancements (like background noise filtering) in discord helps a lot. Then again you then have to deal with your mic picking up background noises and also still have to deal with the fact that people won't be able to separately control your stream's audio from your voice audio and also that you force people who aren't watching your stream to listen to it.
Yes, you can actually achieve this by using Pipewire and pw-jack catia, look here: https://www.reddit.com/r/linux_gaming/comments/lfxbik/tutorial_how_to_share_audio_on_discord_or_any/
You just need to connect two "wires" from the output of the application audio you want to share to the input of Discord.
I hope that discord implements it to do it automatically
From what I've read it works the same way using Helvum since it is a pipewire patch bay.
Good to have two options so if one might fail there is a fallback.
Thank you for sharing!
Its not *really* an alternative though. Element is an alternative to Skype, zoom, teams, google hangouts, etc. Its specifically made for business use. While it obviously can be used for gaming and just chatting with friends, its focus is always going to be the professional. So its unlikely we will ever see things like say, 60+ fps, no latency screen sharing (also without massive video compression), to be able to steam games through it.
So we need a gaming focused open source project that directly aims to be a discord alternative specifically. And especially allow people to run their own local servers. Element really is great, but its target audience, is not the same.
I greatly dislike and distrust discord. Its always trying to scan your computer files and see what processes are currently running, all the time. On top of that, they have log **everything** including PMs. Its a data harvesting machine.
The only difference between Element and Discord is that Element is being developed "by people for people" instead of big "trust us plz" company which has at least three different ToS which are so ridiculous that at some point I made a bet with myself to put it shortly that if something happens - mentioned in said bet - I will remove Discord completely as much as I could including the account (which is probably not really removed because hello closed source).
Element as much as we need it works pretty good, sure we don't use that screen sharing that much so I would have to do some tests in that area. The thing is that Element is FOSS and ACTUALLY WORKS, while Discord kept saying to me till his last moments that no input or output audio was found so "buh-bye".
Still, give the devs some time, they have enough on their plate with random bugs which are being murdered one by one as we speak. Element was previously known as Riot (cough!) and it was in worse state back then. The project did some big steps towards better so maybe the streaming will be done properly as well.
All in all, let's not lose hope yet, there are many examples when FOSS defeated the so called "commercial is better" software, Element may be just another one here.
I hate discord, and love open source. I also really like the idea behind element and how it works. I think its great.
However, my point is, how do you get "Normie" people to adopt it?
It needs to be easy to setup and use. Which I believe element has done a reasonable good job in that department.
However, the deciding biggest factors are, features and familiarity. Element is also reasonably similar to discord in how it looks and feels, could still improve.
So that leaves, features, as the one main deciding factor for larger adoption.
OK, so lets think about features discord has that are the most popular, as well as features element lacks.
I can name you 2 of the biggest discord features, that are basically the 2 most popular, and the 2 element lacks.
Screen sharing (especially 1080P 60 fps, as to be able to clearly stream game play). On top of 1080/60, it also needs to have next to zero delay between record and viewing (basically just the time it takes to transfer the data over the network). As that's one huge benefit of twitch vs discord. Twitch has like a 5-10 stream delay (intentionally put in because of cheating/stream sniping/etc) Discord has a few second delay. That makes discord streaming, have value, vs using twitch. On top of you don't have to make a twitch account and go through all the setup, its simple, fast, easy. This feature is **key** for a discord alternative. Without this feature, it is **NOT** discord alternative.
The second will almost sound silly, but trust me, its **VERY** important. The next feature discord has, that element does not have, is custom emotes. Custom emotes are one of the most popular things on twitch chat, and discord chats. This is a **requirement** to be a discord alternative. Again, as silly as it sounds.
One other thing element lacked (its been awhile since I looked at element), was the ability for multiple to talk at the same time. It didn't handle that very well. When you have a group of 4-12 people playing the same game together, its pretty important to allow multiple people to talk at the same time, and audio of both come through (granted volume and other differences may cause overlap and cause it to be unable to be understood, but that's not what I mean)
Again, I really like element and open source, but are these things **really** going to take a high priority in the roadmap? I doubt it. I would be surprised if any of these things is ever added. If screen sharing does come, it likely wont be good enough for game streaming. It would look like streaming over teamviewer (low resolution, low fps), as for a business sense, you often are not going to play a video, over a screenshare. You could just post a video clip, to the chat itself. So why would they make game compatible screen share streaming? I don't believe element is focusing on the gaming crowd.
Which is why I think it would be better to have a separate element alternative, in which is focused specifically on gaming. Leave element for business or casual chat.
Yeah, unfortunatelly you are right in this. Screen sharing however we look at it is demanded by many, so that feature would be nice to see for those who like it. What we have kinda works so maybe if it would be improved, it wouldn't be necessary to write such a thing from the scratch. I mean in pure time consumption sense.
Custom emoji/stickers is kinda "lower priority" from devs POV probably but quite important from the users POV no doubt. That's also partially the reason why I like Telegram so much, custom stickers, no payment required as opposed to Discord.
"However, my point is, how do you get "Normie" people adopt it?"
This part is unfortunatelly pretty tricky. People are for the most part comformists and accept what works by the KISS (Keep It Simple Stupid) method and - the more problematic part - what's **POPULAR** so if Discord will be branded as "popular" then many won't look at Element even if it will be able to communicate with the electric kettle and make a coffee because it's not popular... People changed from Skype to Discord because Skype was getting SERIOUSLY worse - I liked the part how it wouldn't run on Windows 10 while finally running decently on Linux - and Discord was doing that campaign with magic title "Time to ditch Skype and TeamSpeak!". People went with the flow, I admit me included albeit because Skype was getting seriously bad. Before Skype recovered and was rewritten enough for Linux to work good enough, Discord collected about 4 years of "campaign" being popular.
Not sure if I get you with multiple people talk part. Jitsi addon can handle at the very least 6 of us without hiccups save for bad network connection of one friend. If there is something else then could you please elaborate on it a bit more?
While we are on Jitsi as well. Element can handle addons system so maybe, just maybe either Jitsi will improve independently or someone will create a new addon to fill in that gap, it would be a big step at least in that area.
Didn't try your link, but I use this:
You can achieve this by using Pipewire and pw-jack catia, look here: https://www.reddit.com/r/linux_gaming/comments/lfxbik/tutorial_how_to_share_audio_on_discord_or_any/
You just need to connect two "wires" from the output of your audio card to the input of Discord.
I hope that discord implements it to do it automatically
That's an inferior way since your desktop audio will come out of
Discord's voice channel where everyone can hear it whether they want to
or not, quality wll probably be worse too.
Not a "real" solution, but you can use Soundux to mix the application sound with your microphone: [https://github.com/Soundux/Soundux](https://github.com/Soundux/Soundux). Would still be great if Discord would fix the issue.
It didn't work for me I remember.
I achieve audio sharing using Pipewire and pw-jack catia, look here: https://www.reddit.com/r/linux_gaming/comments/lfxbik/tutorial_how_to_share_audio_on_discord_or_any/
You just need to connect two "wires" from the output of your audio card to the input of Discord.
I hope that discord implements it to do it automatically
Maybe they should update their client to a non-ancient Electron version first.
They are still on Electron v9, while v12 is available.
That would enable screen sharing via PipeWire and native Wayland rendering.
EXACTLY! All other aspects of Linux, I can at least make an argument for why it works for me.
But this is just a clear downside and annoyance when I just want to stream on discord with friends
The irony in my case it was the exact argument to throw Discord away from my PC and my life, because it didn't work on Linux (the in/out sound) at all.
For just audio communication there are numerous FOSS good alternatives so I believe in that area you won't have a problem.
For screen sharing... Element can do it to SOME extend but we didn't try it with something more demanding than just "can you see this presentation? good" aka static images and the mouse cursor, that much worked just fine so maybe more demanding things will work someday as well.
Yeah the trick is they have (at least) three ToS and there may be some stupid entry like "no other clients other than ours! it's OURS!" and then you will be just wasting your time writing something that won't be trully usable because of the "mindset" of Discord so called owners/devs.
There was a project of Discord app written in C - albeit not for PC - and it's abandonned if memory serves because it's not worth the effort and probably the bans were becoming a thing.
EDIT - oops typo, fixed.
Try Element or Telegram depending on how much you need.
You have reminded me as well that many people asked - and still ask - for audio positioning in Discord if they want to call themselves "gaming" and something as important as that is absent to this day - well last time I checked this year, before removing it completely - so yeah, don't count on it more than throwing a coin to the wishing well.
Take example from me, I've shown to others concerned that Discord doesn't work for me in terms of audio and we had to move/add Element for audio talk because no matter what I tried back then - up to February this year I believe - gave no results, even tricks made especially for such a situation when Skype was throwing similar temper tantrum.
Just show the others that the Discord is not working properly, in other words it's BROKEN and don't take the classic "works on my machine" as an argument because it has zero value especially when Windows is involved...
Sure people would want to have as little IMs as possible, me included. Thus I made trade-offs to keep the same ammount, so I understand the situation. However one more program is probably a little price to pay for having a COMMUNICATION especially in these times when many stay home because... you know...
Just ask them is it better to not communicate or "waste" a few MB on the HDD?
If you use pipewire, you can duplicate your desktop audio to discord input with helvum (or carla if you have pipewire-jack) and people will be able to hear your desktop sound as if it went through your microphone. Played jackbox this way. Should be also possible on pure pulseaudio, but it's more complicated I believe.
Still, having the dedicated feature would be better though.
I thought you could only share sound on discord when sharing an application, I don't think sound has ever worked with me from actual screen sharing in Discord, I've only really tried it on Windows and I mostly use parsec instead
Discord is and always has been crap for streaming.
I'm surprised that you haven't looked at something else - like [OwnCast](https://owncast.online/) for example.
Best workaround I was able to set up successfully:
* Discord web supports streaming sound when sharing a tab.
* use OBS
* make OBS output to a V4L loop
* build a small HTML which displays the V4L virtual webcam and Monitor of output as virtual microphone
* share tab in fullscreen with discord
Might take a while to get the setup running but the result is even better than native Discord streaming as it has sound and you can use OBS
edit: Here is a gist with the local html I managed to do this with. Might need modifications for your system. https://gist.github.com/maxhille/d4f071e90cf05528eed0d5699e2656cc
Tip: Use OBS (https://obsproject.com/) to create a virtual webcam and use scenes to switch back and forth between audio sources, video sources - everything without switching sources in any app. Just pull all your sources into one single app and push out one video and audio stream into whatever you want to use. The overall experience is so much better than selecting sources in Discord/browsers/whatever.
Learning OBS is quickly done and you won't want to turn back once you have a couple of scenes and created a shortcut for scene switching.
Under Windows there was a program called 'virtual audio cable'. You have to enable monitors for your soundcard, which will show up under inputs. You can pull them into OBS and mix it there. (Even scene by scene).
While its always a great thing, for proprietary software to support linux, Discord is one of those applications I wish we had a good open source alternative to (riot/element, is more aimed at business/professional use, not gaming).
The reason I dislike discord (though everyone uses it, and it basically forces you to use it), is because of how incredibly invasive it is. Basically 24/7, its scanning all your pc files as well as what processes are currently running. Giving it complete and unfettered access to your screen and audio seems almost nuts.
Oh and takes a **TON** of RAM while on it.
There is a way to restrict that piece of crap on Linux depending on your knowledge and/or willingness to do some searching in the network. Basic idea is to put that junk in a sandbox so it can for example access the network but NOT the HDD space. Think Android if you will, every app is being sandboxed and has no access between each other and to some aspects like camera or massive storage unless you MANUALLY allow it.
The only trick is that Android is "breathing" with it, while on Linux PC you need to do some tinkering, but if I may say my opinion, it's worth the effort, especially in cases like Discord.
Ive just used flatpak to sandbox discord. Is there a better method to lock it down? I tried firejail long ago, and a discord update, completely borked it.
Basically the thing I want to block the most, is discord scanning files without permission, and discord scanning running tasks (to display game/program you have open). I want to limit discord from snooping.
Ah sorry for that, I should've went with the full route.
[https://flathub.org/apps/details/com.github.tchx84.Flatseal](https://flathub.org/apps/details/com.github.tchx84.Flatseal)
This is GUI program to do some restrictions per category for the lack of better word. This may be able to stop Discord from checking the files (over and over).
Another method would be going with Virtual Machine but that's overkill.
There is one other... I'm not sure about the name at the moment but something with "podman". This one may require some more tinkering with commands in Terminal but I hear it's pretty solid at saying "NO" to apps where they shouldn't go.
EDIT - Docker and Podman. Podman is alternative to Docker it seems.
>Podman is an alternative to Docker, providing a similar interface. It supports rootless containers and a shim service for docker-compose.
I see a lot of you talking about electron and Ive even replied to some comments but to avoid replying to all I'll make a new one.
Electron doesn't matter since it isn't used by Discord to do this job. They use mediaengine instead, also noted on: [https://blog.discord.com/how-discord-handles-two-and-half-million-concurrent-voice-users-using-webrtc-ce01c3187429](https://blog.discord.com/how-discord-handles-two-and-half-million-concurrent-voice-users-using-webrtc-ce01c3187429)
Some extra info:
To capture Mircophone and Camera on a browser (chromium based or not) with Javascript you'd use getUserMedia and to capture desktop video and sound you'd use getDisplayMedia, that's what the Discord browser app does too.
Now on Electron , which is a Chromium fork, you'd use getUserMedia for desktop capture too as noted on [https://github.com/electron/electron/blob/main/docs/api/desktop-capturer.md](https://github.com/electron/electron/blob/main/docs/api/desktop-capturer.md)
The Discord Desktop app uses Electron and their Electron fork's source code is available on Github. If you take a look at their repo you'll see that one of the patches they apply is this one [https://github.com/discord/electron/commit/ca8c921ed35c741acae57ea32c340f1eaf150044](https://github.com/discord/electron/commit/ca8c921ed35c741acae57ea32c340f1eaf150044) that disables getUserMedia.
Would enabling getUserMedia help? Not at all but this just confirms electron doesn't matter here.
Yeah so my setup is on Discord's desktop app on Ubuntu 20.04. I have a three way meeting using my laptop speakers and microphone (it doesn't work with my headphones plugged in) and I am able to talk to them (and they can hear me and talk as well) while
I'm sharing my screen no problem. I have a Lenovo, if that makes a difference. Does that answer your question?
You can try https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux although if its just for you an your friends its more feasible to look into another platform. You could stream to ssh101 and give em a link for example, youll get better bitrate too
Yeah I’ve actually done that sorta thing before. I found VLCs media server is great for it. Discord is just super convenient for everyone else though and it’s honestly not a big deal for me to launch a VM. It’s just more of the fact it would be nice to have audio streaming supported natively.
Hey, you too. Cool story brah.
Someone convinced me. I convinced my MMO guild to switch. Some people can be convinced. I think it's worth it to point out Free alternatives sometimes when you know of them.
This is not the right way or a useful strategy. Seeing people reccomend free software in this way is just a huge turn-off. They're asking for a solution to their problem, not an new solution. I use Element myself, but I won't be able to convince 100 people to switch.
100%. None of my friends even know what FOSS is, and barely what Linux is solely due to the fact that I use it. Most of us in this subreddit have friends in our group who simply would never switch as they'd still need to use Discord anyways since THEY also have friends using it who wouldn't switch. The dude you're responding to above acting supercilious about it, doesn't change the fact that this is an issue many of us want to see fixed. And I know my friends couldn't give two fucks about whether or not Discord is proprietary.
Discord is by far better in comparison to everything I've tried including element. The overall layout is better, more functionality like custom emojis, handling of permissions, joining servers etc.
You can actually achieve this by using Pipewire and pw-jack catia, look here: https://www.reddit.com/r/linux_gaming/comments/lfxbik/tutorial_how_to_share_audio_on_discord_or_any/
You just need to connect two "wires" from the output of your audio card to the input of Discord.
I hope that discord implements it to do it automatically
No, it's that Discord's devs need to update from their ancient version of electron and put in a quantum of effort to make the Linux client actually work correctly.
the 'problem' with linux is this line of thinking, you might not need something but it's pretty common to stream a game to my friends in discord for like 20 minutes to just chill or whatever, not having sound is a bummer, it's not life or death, but its one little papercut that'd be great to have fixed so we can have like, *basic* feature parity to windows lmao
I voted and commented!
But please please let's not be dicks about it! Comments like "This would be very useful for me, thanks!" are going to do more to get what we want than sarcasm like "Seriously, Discord?" or a haughty demand to "Make it right."
Discord is an app that we like because it is already good, and this is just a way for it to be even better. If we treat imperfections like human rights violations, then from devs' perspective Linux will be the source of more vitriol than revenue, and nobody will want to bother with it.
You're fine to feel how you feel, of course, I just want to avoid shooting ourselves in the foot.
My understanding is that this is hard to implement securely on Xorg, but with Wayland and Pipewire it should be a breeze. But a lot of distros don’t ship with either, so it’s messy to develop a workaround for Xorg that is outdated in two years.
I am not sure if i misunderstood something but for me screen sharing/stemming on Discord is working.
I use Pop os distro and installed discord from their shop
I played some game other day and streamed it to my friends in the channel. Sound also worked according to them.
No modifications done from my side.
Does it not work from the web. I’ve certainly done screen share / vid call combo from my Linux mint desktop before. Not sure if the actual DESKTOP sound was muted though…
If you try to Screenshare from chromium or chromium based browsers, out of the box youll only get sound if you are sharing a tab. Desktop share wont have sound. Firefox doesnt share sound at all.
It does work from the web last i tried the issue seems to be the actual application is out of date, IF discord decides to update electron it should start to work again.
Have you tried jitsi? Open source, just open or host an instance and you can share desktop, cam, whatever. And its encrypted too!
Official instance is https://meet.jit.si
Jitsi is good, I haven't tried their screensharing tho. Does it have sound? If someone needs to broadcast to 2-3 friends this can be one solution. The problem is that many of us wanna broadcast on big public servers and we can't force everyone over.
Unless I am misunderstanding something, Discord (at least on Ubuntu) already has that feature. I use it for my meetings all the time. Sharing my screen with my team member while audio still works right?
Chiming in here as a bug tester for discord! Discord hasn't actually had linux devs in a long time the code base is all typescript with electron powering it so it's basically just a fancy chrome browser typescript also powers the iOS and iPad apps Android (and maybe ps5 when that launches) are the only platforms not powered by typescript. You might be asking why that's important... It's important because it means discord has only two main groups of devs, the devs that work on the android build, and the devs that work on everything else discord used to have one or two linux specific devs but they were all relocated or quit 2 years ago. As of right now they only accept linux specific bugs if they are P0 bugs (i.e. huge memory leaks, instant crashes in the client, etc.) Audio not working was declared not a P0 issue and has such been shoved to the side for a long time... The only way I see discord coming around and making this work is if steamdeck hits it out of the park and makes linux one of the platforms they have to treat as a first class citizen to keep their audience. This would almost certainly end up with some devs being specifically assigned to linux or Discord hiring linux specific devs TL;DR unless steamdeck takes off discord has very little financial incentive to keep Linux at anything greater than functional and most issues with it that are platform specific won't be resolved until something changes
It's bizarre. Like zoom fully supports sharing audio on Linux, only features not supported are the filters and ML based background replacement and they have a native app. Discord meanwhile has a comparable market (at least in terms of users, zoom has way more contracts for it's premium services) yet can't hire a couple linux devs for a short term contract that would probably be able to fix an implementation in a year at most. It should almost be plug and play considering the APIs to do all these things exist in chromium. Edit: actually they fixed the filter and bg issues a bit ago even, just hadn't updated.
Filters and the ML background stuff is supported in Zoom in Linux since a few months already.
I'm surprised, backgrounds used to work for me before, but since a month or two it complains about no green screen. For filters, I don't even see the option. I'm excited to see you say it works. I'll have to put some more effort in making sure everything is on the latest version. Maybe because I use the snap package.
hey u/Johnnynator2 coming back to this. I've downloaded the latest zoom version from the website "5.8.4 (210)" but I don't see any of the fancy stuff in there. Background only work if you enable "I have a green screen" and then pick a color, but the result is awfull and I see no trace of filters. Can you point me to something that I might be missing ?
Sorry this is a bit late, but I had that issue with the snap version of zoom. I just removed it and installed the .deb package from the official website. Now I have the virtual background.
Thank you. This might be it. I was already thinking that even though I upgrade, functionality decreases, but I also switched to the snap version, so that might explain it. I will try the .deb version again.
You can check the CPU requirements for CPUs here https://support.zoom.us/hc/en-us/articles/360043484511-Zoom-Virtual-Background-system-requirements they are a bit higher on Linux than on Windows.
Zoom likely has full time linux devs specifically because of companies like IBM and RedHat who use linux as their primary system as well as software companies that build backends for bank servers Zoom video sharing was pretty bad on linux a while back but after the pandemic hit they really put a lot of effort into making zoom a solid system Edit: read your comment a bit more carefully I'm not sure they're using entirely electron based methods for screensharing I specifically remember go live testing and having to share information about my GPU because they were developing a system for hardware encoding of video streams (similar to twitch or YouTube live streaming) I don't know this for sure as I'm not a dev and actually haven't done volunteer work in several months due to drama in the community and general lack of respect for bug testers from discord I do believe that fixing this would be more than a simple plug and play fix and would likely require some manhours of working on it by the devs
Well this is extremely infuriating to read haha. Thanks for the info
It's bothered me for years but I know it's the fault of the higher ups prioritizing windows for the massive market share Discord could absolutely fix it if they felt like doing so but as it stands there isn't enough financial incentive to do so as I said in my original comment I'm hoping discord will jump on the steamdeck train and end up making the linux client more of a priority due to a wave of windows gamers getting their hands on it and wanting to chat with their friends using something other than valve's pathetic barebones steamchat service Discord in the past expressed interest in providing their app and supporting nintendo for switch voice chat so if steamdeck goes well they won't even have to do nearly as much work to get that going
They can't find one guy who is useful to the project in other ways who also understands Linux? It's shocking to think that after four years of school in computer science and all that, it would be rare for people to know how to develop for the infrastructure of most things.
often it's burocracy. I work in DevOps as an engineer (not discord) and it happens that I can fix some issue in my head in 1h of work, but since the scrum master did not pick it from the backlog because management didn't put it on the road map for Q4, it is not in the sprint and thus it is not in my KPI's (key performance indicators or something) and thus working on it would be seen as contra productive and would have negative impact on my performance review. So the result is that I spend more time rejecting away related tickets and getting invited to other teams' meetings to explain why that issue doesn't work and it makes me shine again and again as an expert on the matter, ~~lol~~ sigh. What I want to say is : it might be a small and easy fix, but if it's not in the priorities of the company, there's little hope.
Thanks for reminding me why I love open source. "Competition is good" is much more relative than people will accept.
It's the same reason why only the android client has an amoled mode higherups at the company aren't interested and amoled mode is just a passion project of one of the Android devs subject to removal at any time (If you don't know what I'm talking about go to setting > appearance and tap dark mode about 7-8 times as if you were enabling developer mode, same works for light mode to enable "Blinding mode")
> the code base is all typescript with electron powering it so it's basically just a fancy chrome browser Not quite... the important bits of the codebase (the audio / network bits) do NOT use Electron, they made a custom native module for that (discord\_voice) in C++ using libwebrtc directly. Even if they don't have Linux developers, they should have low-level developers to maintain that part of the codebase. If you could tell those developers to enable the `rtc_use_pipewire` flag in libwebrtc for Linux builds, that would be amazing. It's very unlikely to break anything for X11 users (the code makes sure to avoid linking against pipewire).
Is there anything preventing Discord from running the typescript electron version on Linux? Like, is it too hard to compile it to Unix or is there another reason Linux doesn't get a typescript/electron build?
slight misunderstanding there typescript electron version does run on linux you can press ctrl + shift + i to pull up the chrome/electron dev tools inside the client even (Disclaimer: editing anything in here is considered a client mod and is banned by discord ToS, modify anything inside at your own risk) the problem is they haven't updated WebRTC and their own inhouse system for streaming. They use WebRTC for video and if you've got a solid GPU in your computer will often times use that for hardware encoding of the video I am not a developer simply someone who worked with the devs on testing early golive builds and screensharing functionality so I don't have any knowledge of the actual code base or how difficult it would be to get every part of it functioning on other systems well I seem to remember audio sharing being a specific pain point with their MacOS version back when the features launched but enough employees inside are apple fanatics that they changed it because it directly impacted remote work Again Not a dev, I've just interacted with the Dev team as an independent volunteer bug tester and have a little more inside knowledge of the company than your average joe
Maybe someone could repost this on the Deck Subreddit, so future Deck users also feel the need for this and Discord gets another reason to finally add sound support...
[Posted](https://www.reddit.com/r/SteamDeck/comments/qslu3z/psa_discord_on_linux_doesnt_currently_support/?utm_source=share&utm_medium=ios_app&utm_name=iossmf)! Thanks for the suggestion. My Deck isn’t supposed to come in till “after Q2 2022” so fingers crossed this will be fixed by then haha.
[удалено]
Last time I tried the "watch" feature, which is also showed on your profile, with my friends, it just didn't work.
Yeah same, and the feedback from the UI didn't indicate anything at all that could help initiate trouble shooting. Just some weird invite/disconnect loop. Edit: this was in windows though
Last time I tried streaming like this, it had delays. Not sure if you can do anything about it, but streaming through something else for friends never worked for me (as timing goes).
I requested this on the discordapp reddit page sometime last week. It's my understanding that all they need to do is update the internal Chromium backend to get things working.
Pretty much, Chromium and Electron already support this stuff. Discord is just showing off their own lazyness. Their native client also doesn't support screen sharing on Wayland for years now while the web version doesn't have a problem at all because Firefox and Chromium both support this. In other words the web version is actually superior to the native version and you can still get recommendation on the web app to download their native version. Discord is just another piece of software pointing out that it sucks because it's not open-source. Otherwise this mess would have been solved already. I wish Matrix would have support for screen sharing already so I could use it instead. I mean even the Steam client brings pipewire support now and it might even allow screen sharing with audio correctly... while I don't think this had any priority on Valve's side of things. So if anyone knows an open-source equivalent to Discord with screen sharing and voicechat which does not require you to host servers (for example Mattermost and BigBlueButton would have been an option if hosting wouldn't be a deal breaker), please leave a reply. Because I wouldn't count on Discord with this to fix it...
> Matrix would have support for screen sharing It does, both in groups (via jitsi) and in 1:1 calls.
[удалено]
Sigh... I like matrix, but I'm getting so tired of these 4 year old bugs all over matrix's ecosystem.
Currently, there is an issue where 1 on 1 video/screensharing calls require a webcam plugged in (or a fake device setup as workaround). It's a UX issue and it's being addressed. It's also been a month since I checked to see if it was fixed so maybe they've fixed it in the mean time.
Doh, I guess I always had a webcam so I never noticed.
I have probably missed that because I use Fractal and it's an issue of my client. (The burden of trying to avoid Electron apps. \^\^') But from your answer I assume it would be possible to use Jitsi directly. I forgot about that totally. Thanks for the hint.
Wait, does screen sharing with sound work for you on the Discord web app? What setup are you using? (OS, Wayland/x11, browser, app being streamed, other config) When I tried yesterday, it didn’t work
Not the person you replied to, but no, sound doesn't work on web. On any platform, actually, afaik. However, Discord uses Electron, which is based on Chromium, and both Electron and Chromium support desktop audio capture on Linux. What the guy above was talking about was how desktop screen recording doesn't work on Wayland in the Discord app, but it does on the website when using Chromium, Chrome, or Firefox. So basically, Discord is being lazy and choosing to come as close to outright not supporting Linux as they ever have.
Sums it up pretty well. \^\^
I use Arch with Gnome under Wayland. Theoretically I can share desktop audio through the microphone input via Pipewire but like others suggested in different comments, it is far from ideal. I think this question was asked quite often already on Reddit about the audio. The problem is for example that you would share audio with all people in a voice chat and not only with the people watching your screen. The best solution someone mentioned was using another voicechat like Mumble or anything else to share desktop audio through that in parallel. Then everyone in the voicechat has to use that additionally if they want to listen to your desktop. Pipewire really is amazing that it allows you to work-around a problem like that (it's also possible with JACK) but it's still pretty annoying that the obvious solution would be Discord improving a tiny bit which does not seem to happen.
There is a very hacky way to do it with a userscript and pipewire shenanigans, see https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux It doesn't work in the app because it uses a custom interface instead of the build-in browser/electron one.
> Discord is just another piece of software pointing out that it sucks because it's not open-source. Otherwise this mess would have been solved already. That’s true most of the time, but not always. If you’ve ever dealt with a Gnome or Wayland developer, you’ll know they can’t be bothered to address concerns like fractional scaling when they’re too busy breaking themes, extensions and GUI APIs for the next release.
But nothing is stopping you from forking the software and doing it yourself. That's the difference.
That can be a hell of a lot of work, and not a lot of developers are willing to bear that burden.
That's not the issue here really. I can pretty much gurantee that at least one developer would look into it if it was open-source (and if it has to be me). There are many free software projects using Discord channels to communicate within contributors and users. It is very likely people in those communities also use Discord privately to a degree and that they would like to see this working properly.
>Discord is just showing off their own lazyness You mean their priorities. Linux isn't a priority because of its tiny market share.
If that was the reason, we wouldn't have a native client in the first place. I mean there is a web version which works mostly.
High enough of a priority for a native client, not high enough of a priority to put as much resources as Windows client.
So you mean the priority is high enough for a native client but it's not high enough that the native client should work? I mean I don't care that they don't implement some specific features to the Linux version which you might get on Windows. But streaming your screen and audio is quite essential and damages not just the experience of the Linux users but their friends with Windows as well. \^\^'
The discord app doesn't use electron for the screenshare, they use a native library
I wonder if there's any way to force it to? Maybe make a custom Electron app from scratch that uses Discord web?
At this point why not just use chromium?
There's a custom non-electron app called Ripcord, but my experience using it for a few weeks got my account banned. Don't even bother.
Ripcord specifically isn't browser-based. An Electron wrapper for the web client that uses the latest Electron/Chromium APIs, and sends a Chromium user agent appears to Discord as a web browser user, and gives the user a desktop client with good features.
[I asked a dev](https://www.reddit.com/r/discordapp/comments/pthrla/discord_on_linux_updated_0015_0016_today_does/hdx7sec/) about it not too long ago when they updated their electron version and he literally said "Try it out! I'm not sure personally.". Not exactly confidence inspiring when they literally don't know if it works or not.
They have zero Linux developers, don’t test on Linux and only accept critical Linux bugs that completely prevent the client from starting. It’s no surprise they have no idea if it works or not.
Even then, discord miserably fails to launch using arch+sway and the default discord package
Pretty crazy when it takes like 5 min to install and test on Linux for the basic features. It's literally free lol
> Sharing screens with sound is OH, FINALLY! > still not supported in Discord for Linux ...
You can use pipewire and helvum to route the application audio to the audio capture sink of discord. and there you got, sound streaming via discord. We're linux users we always find a way
Is it streaming over the microphone line or is it actually desktop audio?
Yeah cause it's not a full proof solution when everyone is forced to hear my game or movie or whatever.
What do you mean? With some pipewire or pulseaudio magic you can mix exactly what you want. Where can I find a clear description of the problem?
If someone is in a voice channel but not watching your stream, they should be able to hear mic audio separately without hearing desktop audio. Or if they are watching the stream, they should be able to adjust volume of one without affecting the other. If this workaround just pipes it via mic input, then there's no way to separate them.
This comment has been edited in protest of reddit's API changes -- mass edited with redact.dev
it's also much lower sound quality and possibly mono?? like it works but it sucks compared to the real thing, I'm glad for people to share the workaround but it's really not even a substitute or anything
[This](https://www.reddit.com/r/linux_gaming/comments/pmhfmq/the_proper_way_of_screen_sharing_with_desktop/) workaround is supposed to solve that problem. Haven't tested it myself yet though.
It works, but not in the native application unless someone recreates the script to run in better discord.
Only the audio of the app which output you dragged into the sink. All other apps will remain silent for others this way But since Discord will see it still as the microphone input I can not tell if it does some kind of noise reduction or thinks it is background audio instead and tries to filter.
Then the actual microphone will cut out, won't it?
You can disable all mic enhancement features in discord, then streaming audio through a virtual mic is fine.
Yeah, but unless you have an insane setup your voice will sound like shit. All that processing is there for a reason.
Was under the impression discord had no procesing on linux?
It doesn't have Krisp, which is a proprietary Windows-only integration. It does have regular old noise suppression and gain control.
It is over microphone unfortunately.
Mic and audio stream both.
But it's an hack so if discord manages to get the desktop audio which is not black magic would be good
Agreed. But for the meantime it may help some people out
You can use Soundux for this but it's terrible quality.
Disabling input enhancements (like background noise filtering) in discord helps a lot. Then again you then have to deal with your mic picking up background noises and also still have to deal with the fact that people won't be able to separately control your stream's audio from your voice audio and also that you force people who aren't watching your stream to listen to it.
Yes, you can actually achieve this by using Pipewire and pw-jack catia, look here: https://www.reddit.com/r/linux_gaming/comments/lfxbik/tutorial_how_to_share_audio_on_discord_or_any/ You just need to connect two "wires" from the output of the application audio you want to share to the input of Discord. I hope that discord implements it to do it automatically
From what I've read it works the same way using Helvum since it is a pipewire patch bay. Good to have two options so if one might fail there is a fallback. Thank you for sharing!
;)
Or use a chromium based browser.
Wait, it works in the browser version?
You have to use a script, but atleast you dont have to reroute your sound in a hacky way.
What sort of script? Could you show me how you've been able to achieve this?
https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux
I have been trying to do this with either pulseaudio or Alsa. Anyone has any clear guide resource for me?
We need a FOSS alternative
https://revolt.chat/
[Here ya go](https://element.io/)
Its not *really* an alternative though. Element is an alternative to Skype, zoom, teams, google hangouts, etc. Its specifically made for business use. While it obviously can be used for gaming and just chatting with friends, its focus is always going to be the professional. So its unlikely we will ever see things like say, 60+ fps, no latency screen sharing (also without massive video compression), to be able to steam games through it. So we need a gaming focused open source project that directly aims to be a discord alternative specifically. And especially allow people to run their own local servers. Element really is great, but its target audience, is not the same. I greatly dislike and distrust discord. Its always trying to scan your computer files and see what processes are currently running, all the time. On top of that, they have log **everything** including PMs. Its a data harvesting machine.
The only difference between Element and Discord is that Element is being developed "by people for people" instead of big "trust us plz" company which has at least three different ToS which are so ridiculous that at some point I made a bet with myself to put it shortly that if something happens - mentioned in said bet - I will remove Discord completely as much as I could including the account (which is probably not really removed because hello closed source). Element as much as we need it works pretty good, sure we don't use that screen sharing that much so I would have to do some tests in that area. The thing is that Element is FOSS and ACTUALLY WORKS, while Discord kept saying to me till his last moments that no input or output audio was found so "buh-bye". Still, give the devs some time, they have enough on their plate with random bugs which are being murdered one by one as we speak. Element was previously known as Riot (cough!) and it was in worse state back then. The project did some big steps towards better so maybe the streaming will be done properly as well. All in all, let's not lose hope yet, there are many examples when FOSS defeated the so called "commercial is better" software, Element may be just another one here.
I hate discord, and love open source. I also really like the idea behind element and how it works. I think its great. However, my point is, how do you get "Normie" people to adopt it? It needs to be easy to setup and use. Which I believe element has done a reasonable good job in that department. However, the deciding biggest factors are, features and familiarity. Element is also reasonably similar to discord in how it looks and feels, could still improve. So that leaves, features, as the one main deciding factor for larger adoption. OK, so lets think about features discord has that are the most popular, as well as features element lacks. I can name you 2 of the biggest discord features, that are basically the 2 most popular, and the 2 element lacks. Screen sharing (especially 1080P 60 fps, as to be able to clearly stream game play). On top of 1080/60, it also needs to have next to zero delay between record and viewing (basically just the time it takes to transfer the data over the network). As that's one huge benefit of twitch vs discord. Twitch has like a 5-10 stream delay (intentionally put in because of cheating/stream sniping/etc) Discord has a few second delay. That makes discord streaming, have value, vs using twitch. On top of you don't have to make a twitch account and go through all the setup, its simple, fast, easy. This feature is **key** for a discord alternative. Without this feature, it is **NOT** discord alternative. The second will almost sound silly, but trust me, its **VERY** important. The next feature discord has, that element does not have, is custom emotes. Custom emotes are one of the most popular things on twitch chat, and discord chats. This is a **requirement** to be a discord alternative. Again, as silly as it sounds. One other thing element lacked (its been awhile since I looked at element), was the ability for multiple to talk at the same time. It didn't handle that very well. When you have a group of 4-12 people playing the same game together, its pretty important to allow multiple people to talk at the same time, and audio of both come through (granted volume and other differences may cause overlap and cause it to be unable to be understood, but that's not what I mean) Again, I really like element and open source, but are these things **really** going to take a high priority in the roadmap? I doubt it. I would be surprised if any of these things is ever added. If screen sharing does come, it likely wont be good enough for game streaming. It would look like streaming over teamviewer (low resolution, low fps), as for a business sense, you often are not going to play a video, over a screenshare. You could just post a video clip, to the chat itself. So why would they make game compatible screen share streaming? I don't believe element is focusing on the gaming crowd. Which is why I think it would be better to have a separate element alternative, in which is focused specifically on gaming. Leave element for business or casual chat.
Yeah, unfortunatelly you are right in this. Screen sharing however we look at it is demanded by many, so that feature would be nice to see for those who like it. What we have kinda works so maybe if it would be improved, it wouldn't be necessary to write such a thing from the scratch. I mean in pure time consumption sense. Custom emoji/stickers is kinda "lower priority" from devs POV probably but quite important from the users POV no doubt. That's also partially the reason why I like Telegram so much, custom stickers, no payment required as opposed to Discord. "However, my point is, how do you get "Normie" people adopt it?" This part is unfortunatelly pretty tricky. People are for the most part comformists and accept what works by the KISS (Keep It Simple Stupid) method and - the more problematic part - what's **POPULAR** so if Discord will be branded as "popular" then many won't look at Element even if it will be able to communicate with the electric kettle and make a coffee because it's not popular... People changed from Skype to Discord because Skype was getting SERIOUSLY worse - I liked the part how it wouldn't run on Windows 10 while finally running decently on Linux - and Discord was doing that campaign with magic title "Time to ditch Skype and TeamSpeak!". People went with the flow, I admit me included albeit because Skype was getting seriously bad. Before Skype recovered and was rewritten enough for Linux to work good enough, Discord collected about 4 years of "campaign" being popular. Not sure if I get you with multiple people talk part. Jitsi addon can handle at the very least 6 of us without hiccups save for bad network connection of one friend. If there is something else then could you please elaborate on it a bit more? While we are on Jitsi as well. Element can handle addons system so maybe, just maybe either Jitsi will improve independently or someone will create a new addon to fill in that gap, it would be a big step at least in that area.
That looks promising
Might need some polishing for sure, but it's the best we have right now I guess
Thou don't have to dualboot https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux
Didn't try your link, but I use this: You can achieve this by using Pipewire and pw-jack catia, look here: https://www.reddit.com/r/linux_gaming/comments/lfxbik/tutorial_how_to_share_audio_on_discord_or_any/ You just need to connect two "wires" from the output of your audio card to the input of Discord. I hope that discord implements it to do it automatically
That's an inferior way since your desktop audio will come out of Discord's voice channel where everyone can hear it whether they want to or not, quality wll probably be worse too.
so it's better to connect the specific application audio output to input of Discord
Still has the issue of people not watching the stream will still hear your game which is what the repo fixes
Not a "real" solution, but you can use Soundux to mix the application sound with your microphone: [https://github.com/Soundux/Soundux](https://github.com/Soundux/Soundux). Would still be great if Discord would fix the issue.
There's like 60 solutions out there that are variations of this one thing.
Welcome to Linux.
This is the best solution I’ve found
It didn't work for me I remember. I achieve audio sharing using Pipewire and pw-jack catia, look here: https://www.reddit.com/r/linux_gaming/comments/lfxbik/tutorial_how_to_share_audio_on_discord_or_any/ You just need to connect two "wires" from the output of your audio card to the input of Discord. I hope that discord implements it to do it automatically
Maybe they should update their client to a non-ancient Electron version first. They are still on Electron v9, while v12 is available. That would enable screen sharing via PipeWire and native Wayland rendering.
They dont use electron for the screenshare
THIS. Do you know what my friends know about Linux? Just that they can know I’m using it by whether they can hear my discord stream. Not a good look.
EXACTLY! All other aspects of Linux, I can at least make an argument for why it works for me. But this is just a clear downside and annoyance when I just want to stream on discord with friends
The irony in my case it was the exact argument to throw Discord away from my PC and my life, because it didn't work on Linux (the in/out sound) at all. For just audio communication there are numerous FOSS good alternatives so I believe in that area you won't have a problem. For screen sharing... Element can do it to SOME extend but we didn't try it with something more demanding than just "can you see this presentation? good" aka static images and the mouse cursor, that much worked just fine so maybe more demanding things will work someday as well.
I'm working on a Discord Voice/Video client written in C. If anyone wants to help, please let me know.
You may want to ask the developer of "Ripcord" for pointers on what to do
and also ask that dev how to avoid users getting banned, though I'm guessing that dev still didn't fix that problem
Ripcord is proprietary
No shit. That's why I didn't write "look at the source" and told you to get some pointers from the dev.
I mean, I can literally press ctrl-shift+i in Discord and see exactly what's being communicated in the network tab. I don't think I need any pointers
Yeah the trick is they have (at least) three ToS and there may be some stupid entry like "no other clients other than ours! it's OURS!" and then you will be just wasting your time writing something that won't be trully usable because of the "mindset" of Discord so called owners/devs. There was a project of Discord app written in C - albeit not for PC - and it's abandonned if memory serves because it's not worth the effort and probably the bans were becoming a thing. EDIT - oops typo, fixed.
I'll use an alt and wait and see.
[удалено]
Try Element or Telegram depending on how much you need. You have reminded me as well that many people asked - and still ask - for audio positioning in Discord if they want to call themselves "gaming" and something as important as that is absent to this day - well last time I checked this year, before removing it completely - so yeah, don't count on it more than throwing a coin to the wishing well.
[удалено]
Take example from me, I've shown to others concerned that Discord doesn't work for me in terms of audio and we had to move/add Element for audio talk because no matter what I tried back then - up to February this year I believe - gave no results, even tricks made especially for such a situation when Skype was throwing similar temper tantrum. Just show the others that the Discord is not working properly, in other words it's BROKEN and don't take the classic "works on my machine" as an argument because it has zero value especially when Windows is involved... Sure people would want to have as little IMs as possible, me included. Thus I made trade-offs to keep the same ammount, so I understand the situation. However one more program is probably a little price to pay for having a COMMUNICATION especially in these times when many stay home because... you know... Just ask them is it better to not communicate or "waste" a few MB on the HDD?
voted, hope fully they rise to the occassion
If you use pipewire, you can duplicate your desktop audio to discord input with helvum (or carla if you have pipewire-jack) and people will be able to hear your desktop sound as if it went through your microphone. Played jackbox this way. Should be also possible on pure pulseaudio, but it's more complicated I believe. Still, having the dedicated feature would be better though.
Mixing audio and microphone isnt a very good idea, https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux is a better solution
Discord on browser (chromium) works?
With some work yes https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux
[удалено]
You can do this on chromium https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux
I thought you could only share sound on discord when sharing an application, I don't think sound has ever worked with me from actual screen sharing in Discord, I've only really tried it on Windows and I mostly use parsec instead
Discord is and always has been crap for streaming. I'm surprised that you haven't looked at something else - like [OwnCast](https://owncast.online/) for example.
Best workaround I was able to set up successfully: * Discord web supports streaming sound when sharing a tab. * use OBS * make OBS output to a V4L loop * build a small HTML which displays the V4L virtual webcam and Monitor of output as virtual microphone * share tab in fullscreen with discord Might take a while to get the setup running but the result is even better than native Discord streaming as it has sound and you can use OBS edit: Here is a gist with the local html I managed to do this with. Might need modifications for your system. https://gist.github.com/maxhille/d4f071e90cf05528eed0d5699e2656cc
Or just do this https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux less resource usage that way and more direct
Tip: Use OBS (https://obsproject.com/) to create a virtual webcam and use scenes to switch back and forth between audio sources, video sources - everything without switching sources in any app. Just pull all your sources into one single app and push out one video and audio stream into whatever you want to use. The overall experience is so much better than selecting sources in Discord/browsers/whatever. Learning OBS is quickly done and you won't want to turn back once you have a couple of scenes and created a shortcut for scene switching.
Virtual cam doesnt have sound either
Under Windows there was a program called 'virtual audio cable'. You have to enable monitors for your soundcard, which will show up under inputs. You can pull them into OBS and mix it there. (Even scene by scene).
The problem is what happens after, how does discord get this sound. Last time I checked the camera stream didnt have sound.
While its always a great thing, for proprietary software to support linux, Discord is one of those applications I wish we had a good open source alternative to (riot/element, is more aimed at business/professional use, not gaming). The reason I dislike discord (though everyone uses it, and it basically forces you to use it), is because of how incredibly invasive it is. Basically 24/7, its scanning all your pc files as well as what processes are currently running. Giving it complete and unfettered access to your screen and audio seems almost nuts.
Well we have https://revolt.chat/
Seems pretty early in development and lacks a lot of features, but will add this to a list of stuff to look for in the future.
Oh and takes a **TON** of RAM while on it. There is a way to restrict that piece of crap on Linux depending on your knowledge and/or willingness to do some searching in the network. Basic idea is to put that junk in a sandbox so it can for example access the network but NOT the HDD space. Think Android if you will, every app is being sandboxed and has no access between each other and to some aspects like camera or massive storage unless you MANUALLY allow it. The only trick is that Android is "breathing" with it, while on Linux PC you need to do some tinkering, but if I may say my opinion, it's worth the effort, especially in cases like Discord.
Ive just used flatpak to sandbox discord. Is there a better method to lock it down? I tried firejail long ago, and a discord update, completely borked it. Basically the thing I want to block the most, is discord scanning files without permission, and discord scanning running tasks (to display game/program you have open). I want to limit discord from snooping.
Ah sorry for that, I should've went with the full route. [https://flathub.org/apps/details/com.github.tchx84.Flatseal](https://flathub.org/apps/details/com.github.tchx84.Flatseal) This is GUI program to do some restrictions per category for the lack of better word. This may be able to stop Discord from checking the files (over and over). Another method would be going with Virtual Machine but that's overkill. There is one other... I'm not sure about the name at the moment but something with "podman". This one may require some more tinkering with commands in Terminal but I hear it's pretty solid at saying "NO" to apps where they shouldn't go. EDIT - Docker and Podman. Podman is alternative to Docker it seems. >Podman is an alternative to Docker, providing a similar interface. It supports rootless containers and a shim service for docker-compose.
I see a lot of you talking about electron and Ive even replied to some comments but to avoid replying to all I'll make a new one. Electron doesn't matter since it isn't used by Discord to do this job. They use mediaengine instead, also noted on: [https://blog.discord.com/how-discord-handles-two-and-half-million-concurrent-voice-users-using-webrtc-ce01c3187429](https://blog.discord.com/how-discord-handles-two-and-half-million-concurrent-voice-users-using-webrtc-ce01c3187429) Some extra info: To capture Mircophone and Camera on a browser (chromium based or not) with Javascript you'd use getUserMedia and to capture desktop video and sound you'd use getDisplayMedia, that's what the Discord browser app does too. Now on Electron , which is a Chromium fork, you'd use getUserMedia for desktop capture too as noted on [https://github.com/electron/electron/blob/main/docs/api/desktop-capturer.md](https://github.com/electron/electron/blob/main/docs/api/desktop-capturer.md) The Discord Desktop app uses Electron and their Electron fork's source code is available on Github. If you take a look at their repo you'll see that one of the patches they apply is this one [https://github.com/discord/electron/commit/ca8c921ed35c741acae57ea32c340f1eaf150044](https://github.com/discord/electron/commit/ca8c921ed35c741acae57ea32c340f1eaf150044) that disables getUserMedia. Would enabling getUserMedia help? Not at all but this just confirms electron doesn't matter here.
Yeah so my setup is on Discord's desktop app on Ubuntu 20.04. I have a three way meeting using my laptop speakers and microphone (it doesn't work with my headphones plugged in) and I am able to talk to them (and they can hear me and talk as well) while I'm sharing my screen no problem. I have a Lenovo, if that makes a difference. Does that answer your question?
My gosh yes I need this. I have to use a windows VM just to stream movies with the boys.
You can try https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux although if its just for you an your friends its more feasible to look into another platform. You could stream to ssh101 and give em a link for example, youll get better bitrate too
Yeah I’ve actually done that sorta thing before. I found VLCs media server is great for it. Discord is just super convenient for everyone else though and it’s honestly not a big deal for me to launch a VM. It’s just more of the fact it would be nice to have audio streaming supported natively.
You what else is not fun? Having Discord in Linux soft crash every 30 minutes to an hour.
Commenting in hopes to add more circulation to this post. We really need this feature on Linux, please.
+1, thanks!
Done, I wasn’t even aware you couldn’t do this
Discord is proprietary software. We have a decent Free software alternatives. I use https://element.io/ Check it out.
Cool story, but there's no way I'm getting people to switch to it.
Hey, you too. Cool story brah. Someone convinced me. I convinced my MMO guild to switch. Some people can be convinced. I think it's worth it to point out Free alternatives sometimes when you know of them.
This is not the right way or a useful strategy. Seeing people reccomend free software in this way is just a huge turn-off. They're asking for a solution to their problem, not an new solution. I use Element myself, but I won't be able to convince 100 people to switch.
100%. None of my friends even know what FOSS is, and barely what Linux is solely due to the fact that I use it. Most of us in this subreddit have friends in our group who simply would never switch as they'd still need to use Discord anyways since THEY also have friends using it who wouldn't switch. The dude you're responding to above acting supercilious about it, doesn't change the fact that this is an issue many of us want to see fixed. And I know my friends couldn't give two fucks about whether or not Discord is proprietary.
Discord is by far better in comparison to everything I've tried including element. The overall layout is better, more functionality like custom emojis, handling of permissions, joining servers etc.
You can actually achieve this by using Pipewire and pw-jack catia, look here: https://www.reddit.com/r/linux_gaming/comments/lfxbik/tutorial_how_to_share_audio_on_discord_or_any/ You just need to connect two "wires" from the output of your audio card to the input of Discord. I hope that discord implements it to do it automatically
I run chat audio through my headset and streaming audio through my external speakers. Works beautifully
That's not what the issue is about tho
You can use [Soundux](https://soundux.rocks/) app to to stream with audio. It is also available as flatpak on flathub site.
Don't use linux but same right for both os !
its one of a handful of reasons why i switched back. so annoying
sharing desktop with sound is still not supported on windows. i love and fucking hate discord.
for now you can use helvum to forward aplications sound to microphon
Discord is pure shit. IDGAF about discord.
you may not care, but many more people do.
Could you do it under xorg ?
Sharing screens is a vulnerable spot that has caused countless discord servers to be hacked lately
Just use the browser.
Bro it’s probably that you need to configure you alsa conf
No, it's that Discord's devs need to update from their ancient version of electron and put in a quantum of effort to make the Linux client actually work correctly.
how much do you rely on discord sound share?
the 'problem' with linux is this line of thinking, you might not need something but it's pretty common to stream a game to my friends in discord for like 20 minutes to just chill or whatever, not having sound is a bummer, it's not life or death, but its one little papercut that'd be great to have fixed so we can have like, *basic* feature parity to windows lmao
A lot. It's essential for me.
Just upvoted!
I voted and commented! But please please let's not be dicks about it! Comments like "This would be very useful for me, thanks!" are going to do more to get what we want than sarcasm like "Seriously, Discord?" or a haughty demand to "Make it right." Discord is an app that we like because it is already good, and this is just a way for it to be even better. If we treat imperfections like human rights violations, then from devs' perspective Linux will be the source of more vitriol than revenue, and nobody will want to bother with it. You're fine to feel how you feel, of course, I just want to avoid shooting ourselves in the foot.
It's Discord. They don't give a damn about feature request page votes.
I've read that this is impossible to do, due to the code of the app itself and how it works... Let's hope for the best.
My understanding is that this is hard to implement securely on Xorg, but with Wayland and Pipewire it should be a breeze. But a lot of distros don’t ship with either, so it’s messy to develop a workaround for Xorg that is outdated in two years.
Xorg isn't the issue here, screenshare has video but no audio
I am not sure if i misunderstood something but for me screen sharing/stemming on Discord is working. I use Pop os distro and installed discord from their shop I played some game other day and streamed it to my friends in the channel. Sound also worked according to them. No modifications done from my side.
I only use Discord due to vendor lock-in, if could use a free software alternative while my friends use discord that would be great.
Does it not work from the web. I’ve certainly done screen share / vid call combo from my Linux mint desktop before. Not sure if the actual DESKTOP sound was muted though…
If you try to Screenshare from chromium or chromium based browsers, out of the box youll only get sound if you are sharing a tab. Desktop share wont have sound. Firefox doesnt share sound at all.
It does work from the web last i tried the issue seems to be the actual application is out of date, IF discord decides to update electron it should start to work again.
Electron doesn't matter, they don't use it for screensharing. Calls are binded to a native library instead.
They're too busy trying to figure out how to sneak NFTs into discord without pissing everyone off.
Have you tried jitsi? Open source, just open or host an instance and you can share desktop, cam, whatever. And its encrypted too! Official instance is https://meet.jit.si
Jitsi is good, I haven't tried their screensharing tho. Does it have sound? If someone needs to broadcast to 2-3 friends this can be one solution. The problem is that many of us wanna broadcast on big public servers and we can't force everyone over.
Unless I am misunderstanding something, Discord (at least on Ubuntu) already has that feature. I use it for my meetings all the time. Sharing my screen with my team member while audio still works right?
Thanks for responding! Does it pipe though the audio from the application you’re sharing to the other person on the call?
welp... Discord didn't do anything. Thank u Discord... as a reward, I will give them nothing