Vencord / Vesktop

Vesktop is a custom Discord App aiming to give you better performance and improve linux support
GNU General Public License v3.0
3.49k stars 168 forks source link

Venmic fails to retrieve audio sources despite me running pipewire (Flatpak) #500

Closed atlrvrse closed 4 months ago

atlrvrse commented 4 months ago

Describe the bug Venmic fails to start despite me running pipewire

To Reproduce Go to a voice channel Open the screenshare menu

Expected behavior Screenaudio working as normal

Screenshots 2024-04-12T14:46:40,008419641-04:00

Desktop (please complete the following information):

Command line output

[3:0412/143754.250214:ERROR:shared_x_display.cc(39)] Unable to open display
'loop->recurse > 0' failed at ../src/pipewire/thread-loop.c:426 pw_thread_loop_wait()
[2024-04-12 14:37:56.467] [venmic] [error] could not create core or registry
Failed to initialise venmic. Make sure you're using pipewire Error: Failed to create patchbay instance
    at Ga (VCDMain:31:4930)
    at VCDMain:31:5259
    at WebContents.<anonymous> (node:electron/js2c/browser_init:2:78183)
    at WebContents.emit (node:events:514:28)
Curve commented 4 months ago

Please post with debug logs enabled, see: https://github.com/Vencord/venmic?tab=readme-ov-file#-debugging

Curve commented 4 months ago

[2024-04-12 14:37:56.467] [venmic] [error] could not create core or registry

This is a pretty bad sign, not sure what happens here

atlrvrse commented 4 months ago

Please post with debug logs enabled, see: https://github.com/Vencord/venmic?tab=readme-ov-file#-debugging

[3:0412/150123.133389:ERROR:shared_x_display.cc(39)] Unable to open display
'loop->recurse > 0' failed at ../src/pipewire/thread-loop.c:426 pw_thread_loop_wait()
[2024-04-12 15:01:24.330] [venmic] [debug] [patchbay] (has_pipewire) pulse-server is "pulseaudio (on pipewire 1.0.3)"
[2024-04-12 15:01:24.333] [venmic] [error] could not create core or registry
Failed to initialise venmic. Make sure you're using pipewire Error: Failed to create patchbay instance
at Ga (VCDMain:31:4930)
at VCDMain:31:5259
at WebContents.<anonymous> (node:electron/js2c/browser_init:2:78183)
at WebContents.emit (node:events:514:28)
Curve commented 4 months ago

Ah shoot this might require a Rohrkabel debug build to get proper info.

I'll take a look when I'm back home ^^

atlrvrse commented 4 months ago

Venmic works on the appimage, maybe it's an issue with the flatpak?

Curve commented 4 months ago

Venmic works on the appimage, maybe it's an issue with the flatpak?

Interesting, maybe some sort of permission issue? Have you allowed access to the host audio system to the Flatpak? (Should happen automatically unless tampered with through flat-seal or similar)

atlrvrse commented 4 months ago

Interesting, maybe some sort of permission issue? Have you allowed access to the host audio system to the Flatpak? (Should happen automatically unless tampered with through flat-seal or similar)

2024-04-12T16:28:55,545552426-04:00

Curve commented 4 months ago

The creation fails either here or here so it's almost certainly not a venmic / rohrkabel issue.

Especially when it works in the AppImage, it seems like a Flatpak issue, I'm not too familiar with the Flatpak, maybe someone more intimate with it can help out?

atlrvrse commented 4 months ago

hey i fixed the issue by just not using void linux because dbus is a nightmare to work with when you're not using systemd

dclipca commented 4 months ago

I had to actually install pipewire-pulse.

To enable Pipewire with PulseAudio support on Linux Mint, you need to install Pipewire and configure it to handle audio instead of the default PulseAudio. Here’s a step-by-step guide on how to do it:

Update Your System: Before starting, ensure your system is up-to-date.

sudo apt update
sudo apt upgrade
Install Pipewire: You need to install Pipewire and the PulseAudio compatibility layer.
sudo apt install pipewire pipewire-pulse pipewire-audio-client-libraries

Disable PulseAudio: To prevent conflicts, disable PulseAudio from starting automatically.

systemctl --user mask pulseaudio
systemctl --user stop pulseaudio.socket
systemctl --user stop pulseaudio.service

Enable Pipewire: You need to enable the Pipewire media session and the Pipewire PulseAudio server.

systemctl --user enable pipewire pipewire-pulse
systemctl --user start pipewire pipewire-pulse

Check the Status: To verify that Pipewire is running, you can check its status.

systemctl --user status pipewire pipewire-pulse

Test Audio Output: Ensure that your audio is functioning correctly. You can test this by playing audio through any media player or using command-line tools like aplay or paplay. Reboot (Optional): While not always necessary, rebooting can ensure all changes are correctly applied and that Pipewire starts correctly on boot.

apprehensions commented 3 months ago

As i run a custom linux system with no elogind, this is what i had to do: flatpak run --env=XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR --filesystem=$XDG_RUNTIME_DIR dev.vencord.Vesktop --enable-features=UseOzonePlatform --ozone-platform=wayland