Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Audio for screen sharing support on debian #33

Open
LennickeBe opened this issue Oct 12, 2024 · 2 comments
Open

[Feature Request] Audio for screen sharing support on debian #33

LennickeBe opened this issue Oct 12, 2024 · 2 comments
Labels
duplicate This issue or pull request already exists outdated-system Issues related to outdated system dependencies under-consideration Might or might not be implemented

Comments

@LennickeBe
Copy link

LennickeBe commented Oct 12, 2024

Debian and the distros based on Debian are a huge part of the linux community. For example distrowatch, a commonly used tool to estimate which distros are used alot, lists debian in the top 5. This plugin is part of the Vesktop Discord App which is "aiming to give you better performance and improve linux support" (as written under 'about' on their github page). Therefore Vesktop is usable on a variety of systems and offers a .deb-file for the installation on Ubuntu/Debian.

When trying to share the screen the following error message pops up.

Failed to import venmic Error: /lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.32' not found (required by /tmp/.org.chromium.Chromium.goKREW)
at process.func [as dlopen] (node:electron/js2c/node_init:2:2559)
at Module._extensions..node (node:internal/modules/cjs/loader:1470:18)
at Object.func [as .node] (node:electron/js2c/node_init:2:2786)
at Module.load (node:internal/modules/cjs/loader:1215:32)
at Module._load (node:internal/modules/cjs/loader:1031:12)
at c._load (node:electron/js2c/node_init:2:17025)
at Module.require (node:internal/modules/cjs/loader:1240:19)
at require (node:internal/modules/helpers:179:18)
at l6 (VCDMain:15:5336)
at fo (VCDMain:15:5562) {
code: 'ERR_DLOPEN_FAILED'
}

It is still possible to share the screen or specific programs but no audio options are available. Instead the following message is displayed:

Failed to retreive Audio Sources because your C++ library is too old to run venmic. See this guide for possible solutions.

The first comment on the site for possible solution also references the fact, that debian and ubuntu as well as their derivatives do not offer the required libstdc++6 version. For debian it is not even included in the backports at this time. The work around provided in the comments is to just use a different distro in a container. Which means the feature of sharing stream audio is currently not included for debian and its derivatives.
I think the goal "improve linux support" should include a fully working vesktop app on debian 12, as it is a widely used linux distribution. This is only possible if the requirements for this plugin are available on debian 12.
Is it possible for this plugin to work with an older glibc++ version?
The current supported versions on debian 12 are:

~$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_3.4.29
GLIBCXX_3.4.30
GLIBCXX_DEBUG_MESSAGE_LENGTH

Or is no full debian support intended for the Vesktop project? Maybe further development for this plugin could consider the software versions on debian and offer full support once debian 13 rolls out (prob including glibc++ 3.4.32)?

Thank you

@Curve
Copy link
Member

Curve commented Oct 12, 2024

Is it possible for this plugin to work with an older glibc++ version?

No. We have a hard dependency on C++20 and most toolchains that support said standard will pull in GLIBC++ 3.4.32.

and offer full support once debian 13 rolls out

If Debian 13 includes the minimum required GLIBC(XX) versions venmic will work without changes required.

Or is no full debian support intended for the Vesktop project?

We have a Flatpak. If your distros ships too old packages, use the Flatpak.

We've had this discussion in the past, if I find the time to do so, I'll check if we can ship a fallback glibcxx and pull that in through RPATH, or in the worst case provide static-built binaries...

@Curve Curve added duplicate This issue or pull request already exists under-consideration Might or might not be implemented outdated-system Issues related to outdated system dependencies labels Oct 12, 2024
@LennickeBe
Copy link
Author

Thanks for the quick reply.
The hard dependency is unfortunate but that is how it is then.

Yeah I wanted to avoid using flatpak. Mainly because I prefer having everything done with one package management system so via apt (I think apt repo is even as an idea on the Vesktop roadmap).
But you are right that is an option. I will just wait and see if it is running on debian 13 then.

Regarding the static-built binaries. Vesktop is offering an appimage. Afaik there the idea is an fully built system to avoid missing dependecies etc.. I was actually expecting the appimage to run after running into the problem using the .deb.
Maybe it is possible to include the static-built binaries in there?

Thanks again for your time

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists outdated-system Issues related to outdated system dependencies under-consideration Might or might not be implemented
Projects
None yet
Development

No branches or pull requests

2 participants