this post was submitted on 29 Jun 2023
817 points (96.5% liked)

linuxmemes

20734 readers
1715 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 1 year ago (2 children)

Meanwhile, the huge improvements that Proton has gone through since 2018 have made Windows damn near obsolete for myself and many other Linux users. I really only keep it around on my gaming machine for VR titles and if I want to use Discord screen sharing (since they still haven't fixed the lack of audio on Linux) at this point, and my main laptop has been Windows-free for years now.

[–] [email protected] 1 points 1 year ago (1 children)

since they still haven’t fixed the lack of audio on Linux

Huh, never heard of this. Do you mean that it's impossible to stream desktop audio through discord? As a workaround, you can try switching to Pipewire and patching your audio output's monitor into Discord through helvum. Or write a script that does that automatically.

[–] [email protected] 2 points 1 year ago (1 children)

Yeah, when you stream your desktop from Linux over Discord, your desktop's audio doesn't come through. It's been a known issue for years but it's a very low priority fix for Discord's developers.

Does the method you're describing play well with speaking at the same time, or do you have to decide whether you want speech or audio?

[–] [email protected] 2 points 1 year ago (1 children)

Does the method you’re describing play well with speaking at the same time

Yes.
With pipewire, it is possible to patch two sources (i.e. your microphone and an application's audio) into a single input, and it will mix them together into one stream. I just tested this with Audacity (didn't feel like booting up Discord, but it should work the same). I could hear my voice and the application's audio at the same time. This is what it looked like for me in Helvum:

The gray PortAudio block is Audacity (would be Discord in your case). "ALC3232 Analog" is my microphone (on the left) and my headphones (on the right). Music Player Daemon is the application whose audio I wanted to stream. The connection between the microphone and Audacity was made automatically as soon as I started the recording. I had to manually make the connections from Music Player Daemon to Audacity for both left and right channels. After that I could see both the mic sound and the music player daemon sound in the recording, mixed into one stream. It should work the same way with Discord. If you wanted to, for example, make your voice louder or quiter compared to the application audio, you could just adjust your mic's gain (or the application's volume) with Pavucontrol (it's an app made for Pulseaudio, but it works flawlessly under pipewire as well).

In my original comment, I said that you could patch your output's monitor back into Discord. This is a bad idea, since if anyone speaks to you in the call, that audio will also be echoed back to them. So it's better to connect the individual applications' audio into Discord as opposed to the output monitor.

Now, this could get a little tedious, making those connections by hand every time you want to screen share. So you could try to make a script that does something like that automatically. Pipewire also has the concept of a "session manager", which is basically a daemon that decides which connections are made by default, when new sources or sinks register with Pipewire. For example, wireplumber, the default session manager, was responsible for connection audacity to my microphone automatically. Maybe you could try to configure your session manager to also automatically make connection between Discord and any app that outputs audio (idk tho, never done it before).

[–] [email protected] 2 points 1 year ago (2 children)

Huh, this is all very informative. Thanks for the breakdown. I'll have to see if I can get Pipewire going on my gaming setup.

[–] [email protected] 2 points 1 year ago (1 children)

There's also discord-screenaudio on Flathub if you don't feel like doing the work yourself. It works out of the box for me.

[–] [email protected] 2 points 1 year ago

Oh, that's good to know. I just hope it isn't a ban risk. Well, worst case scenario, I can use my alternate account for video streaming, since i have one for using unofficial clients.

[–] [email protected] 1 points 1 year ago

No problem! I'm just happy to spread the good word of Pipewire! Good luck with the setup!

[–] [email protected] 1 points 1 year ago (1 children)

It's certainly progressed massively but I have to admit I still use Windows primarily for gaming. It's still a little faffy for my likes. I'm more excited by Vulkan - I think that and proton together is what will make Windows a choice rather than a necessity for gaming.

[–] [email protected] 1 points 1 year ago

It can be a bit temperamental, I will admit. Mostly with newer games that have anti-cheat, and with VRchat where you have to use ProtonGE to get in-game video players to work. But gaming on Linux has truly advanced by staggering leaps and bounds since Proton began life. Those were dark days.