Vencord / venmic

linux audio screenshare for discord (or any electron app) via pipewire
Mozilla Public License 2.0
82 stars 5 forks source link

Vesktop 1.5.1 soft locks when trying to start a stream #18

Closed Keheck closed 5 months ago

Keheck commented 6 months ago

Describe the bug

When trying to stream an application or monitor, the client soft locks after selecting the application or monitor, hanging at "Loading Audio Sources...". Voice Chatting is still possible and the client still animates everything properly, but no longer responds to user input. The desktop environment eventually reports that Vesktop is no longer responding.

To Reproduce

  1. Join a Voice Chat
  2. Click the button to stream
  3. Select a video source

Expected behavior

Expected the client to not crash and instead load everything properly

Screenshots

Example

Desktop (please complete the following information):

Command line output

[2024-03-13 18:08:06.592] [venmic] [info] [patchbay] (get) running venmic 3.3.2

This is the only output that I get EDIT: I tried to run with VENMIC_ENABE_LOG set as an environment variable (as suggested in the README), this is what it produced. It doesn't seem that useful to my untrained eye, but maybe there is something there that'll help

[2024-03-18 16:00:18.385] [venmic] [debug] [patchbay] (has_pipewire) pulse-server is "pulseaudio (on pipewire 0.3.48)"
[2024-03-18 16:00:18.388] [venmic] [info] [patchbay] (get) running venmic 3.3.2
[2024-03-18 16:00:18.388] [venmic] [trace] [patchbay] (has_pipewire) using cached result

Additional context

I have updated to 1.5.1 today, but haven't streamed in a bit so I can't say for sure that updating the app is what caused the issue, but this was the first time this has happened to me UPDATE: I have just confirmed that the issue is definitely the jump from 1.5.0 to 1.5.1 or something associated with it

RafaelJust commented 6 months ago

Exactly the same problem for me. Using Linux Mint 21.3 (kernel 5.15.0-100-generic), but with Cinnamon DE 6.0.4 instead. This also started when I updated Vesktop to 1.5.1

ranidspace commented 5 months ago

Can confirm this on 1.5.1 as well, on Debian 12, KDE wayland.

Running pactl info | grep "Server Name" gives me Server Name: PulseAudio (on PipeWire 0.3.65) so may be related to that, what does it say for everyone else?

wayhoi commented 5 months ago

Hello. I have the same problem, when starting screen share after changing pulseaudio to pipewire freezes the client.

Screenshot from 2024-03-27 16-25-53

             ...-:::::-...                 pc
          .-MMMMMMMMMMMMMMM-.              -------------- 
      .-MMMM`..-:::::::-..`MMMM-.          OS: Linux Mint 21.3 x86_64 
    .:MMMM.:MMMMMMMMMMMMMMM:.MMMM:.        Host: Adder WS addw3 
   -MMM-M---MMMMMMMMMMMMMMMMMMM.MMM-       Kernel: 6.6.10-76060610-generic 
 `:MMM:MM`  :MMMM:....::-...-MMMM:MMM:`    Uptime: 1 day, 26 mins 
 :MMM:MMM`  :MM:`  ``    ``  `:MMM:MMM:    Packages: 2303 (dpkg), 21 (flatpak) 
.MMM.MMMM`  :MM.  -MM.  .MM-  `MMMM.MMM.   Shell: zsh 5.8.1 
:MMM:MMMM`  :MM.  -MM-  .MM:  `MMMM-MMM:   Resolution: 1920x1080 
:MMM:MMMM`  :MM.  -MM-  .MM:  `MMMM:MMM:   DE: Cinnamon 6.0.4 
:MMM:MMMM`  :MM.  -MM-  .MM:  `MMMM-MMM:   WM: Mutter (Muffin) 
.MMM.MMMM`  :MM:--:MM:--:MM:  `MMMM.MMM.   WM Theme: Mint-Y-Dark-Orange (Mint-Y) 
 :MMM:MMM-  `-MMMMMMMMMMMM-`  -MMM-MMM:    Theme: Mint-Y-Dark-Orange [GTK2/3] 
  :MMM:MMM:`                `:MMM:MMM:     Icons: Mint-Y-Yaru [GTK2/3] 
   .MMM.MMMM:--------------:MMMM.MMM.      Terminal: gnome-terminal 
     '-MMMM.-MMMMMMMMMMMMMMM-.MMMM-'       CPU: 13th Gen Intel i9-13900HX (32) @ 5. 
       '.-MMMM``--:::::--``MMMM-.'         GPU: NVIDIA 01:00.0 NVIDIA Corporation D 
            '-MMMMMMMMMMMMM-'              GPU: Intel Device a788 
               ``-:::::-``                 Memory: 10362MiB / 31936MiB
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 426
Tile Size: 65472
User Name: sedyh
Host Name: sedyh-pc
Server Name: PulseAudio (on PipeWire 0.3.48)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1f.3.analog-stereo
Default Source: alsa_input.pci-0000_00_1f.3.analog-stereo
Cookie: dca1:1bd6
/opt/Vesktop/vesktop
[8698:0327/163219.611204:ERROR:nss_util.cc(357)] After loading Root Certs, loaded==false: NSS error code: -8018
[2024-03-27 16:32:31.380] [venmic] [info] [patchbay] (get) running venmic 3.3.2
Curve commented 5 months ago

UPDATE: I have just confirmed that the issue is definitely the jump from 1.5.0 to 1.5.1 or something associated with it

Will do a bisect from 3.2.3 to 3.3.2 to see what could cause the issue.

Curve commented 5 months ago

I think the problem may be this change introduced in rohrkabel.

What it does is use the pw_proxy_events::bound_props event instead of pw_proxy_events::bound. The new event was only introduced in pipewire 0.3.68 though, which probably leads to it never getting fired on earlier pipewire versions (0.3.48 in this case).

I will see if I can add back support for older pipewire versions.

Curve commented 5 months ago

Should be fixed in v3.3.3

Curve commented 5 months ago

Should be fixed in v3.3.3

Could anyone affected by the issue manually bump venmic in Vesktop to 3.3.3 and see if that fixes it?

tempname1024 commented 5 months ago

Should be fixed in v3.3.3

Could anyone affected by the issue manually bump venmic in Vesktop to 3.3.3 and see if that fixes it?

The issue is fixed in venmic 3.3.3, thanks so much!

Curve commented 5 months ago

Should be fixed in v3.3.3

Could anyone affected by the issue manually bump venmic in Vesktop to 3.3.3 and see if that fixes it?

The issue is fixed in venmic 3.3.3, thanks so much!

Thanks for confirming!

@Vendicated could you bump venmic in vesktop?

wayhoi commented 5 months ago

Hmm, I guess its not in vesktop at the moment? Where can I check the status? Can I apply that fix manually to check on my pc?

Curve commented 5 months ago

Hmm, I guess its not in vesktop at the moment? Where can I check the status? Can I apply that fix manually to check on my pc?

No it's not in Vesktop yet, you can however clone the vesktop repository and bump Venmic in the package.json to 3.3.3.

Thanks for mentioning, I still need to submit a PR for the update ^^

cloudskater commented 3 months ago

Hmm, I guess its not in vesktop at the moment? Where can I check the status? Can I apply that fix manually to check on my pc?

No it's not in Vesktop yet, you can however clone the vesktop repository and bump Venmic in the package.json to 3.3.3.

Thanks for mentioning, I still need to submit a PR for the update ^^

Hey, could you inform me where that json file is to "bump" it? I only just switched to Linux Mint yesterday and I've been trying to fix this issue for hours yet can't find this one file I seemingly need to correct or change. Please let me know how I can correct package.json.

Curve commented 3 months ago

Hmm, I guess its not in vesktop at the moment? Where can I check the status? Can I apply that fix manually to check on my pc?

No it's not in Vesktop yet, you can however clone the vesktop repository and bump Venmic in the package.json to 3.3.3.

Thanks for mentioning, I still need to submit a PR for the update ^^

Hey, could you inform me where that json file is to "bump" it? I only just switched to Linux Mint yesterday and I've been trying to fix this issue for hours yet can't find this one file I seemingly need to correct or change. Please let me know how I can correct package.json.

You can also switch to pipewire, then you'll actually be able to share audio - pulse does not support this yet

Vendicated commented 3 months ago

https://gist.github.com/the-spyke/2de98b22ff4f978ebf0650c90e82027e?permalink_comment_id=3976215#install

Curve commented 3 months ago

can someone say explicitly where it is that i can bump venmic to 3.3.3?

Try building #621 (this tree), it has venmic bumped to the latest version.

Curve commented 3 months ago

when will this be in the official build?

As soon as the PR is merged.

Curve commented 3 months ago

I cant say for sure, but I am nearly certain it is caused by not owning discord nitro, the default vencord screensharing option is 1920x1080@60 but if you manage to change it to 720@30 (before it crashes) it seems to work.

This is most certainly related to audio share and not the video quality. #621 is merged now so you might as well try latest git to see if it fixes the issue for you.

jzupko commented 3 months ago

Note (and maybe this should be a separate issue?) - on a Linux Mint 21.3 distro, I still ran into this soft lock on Vesktop 1.5.2 until I updated my distro to use PipeWire. Prior to those versions, the capture screen would display a user friendly error about needing PipeWire. In 1.5.1 and 1.5.2, it soft locks instead.

Vendicated commented 3 months ago

known. will be fixed in next release (is already fixed on master)

KweezyCode commented 1 month ago

is there any fix? i can still reproduce issue with the latest flatpak version

TheBloodyScreen commented 1 month ago

This issue indeed still occurs for me too on v 1.5.3 flatpak.