-
Notifications
You must be signed in to change notification settings - Fork 69
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
no sound on many games on a pure alsa system #20
Comments
I would ask does the sound work when ran on the host but I guess you can't run steam with your libc? This flatpak passes all devices through so in theory its just up to the games how they behave. |
yeah, I doubt I can run steam installer outside of flatpak on my musl-based system (unless steam runtime comes with glibc and the installer doesn't rely on glibc), but I will try well I wouldn't be surprised if the games I tested had poor alsa support, it's just puzzling how McOsu works perfectly, maybe the sound library it uses (bass iirc) just has a better alsa implementation I will try to come up with more tests, lemme know if you can think of anything else |
just set up a 32-bit glibc chroot with steam and sound works fine for Hotline Miami, so I don't think it's an issue with the game's ALSA support seeing how McOsu had nil as a default device in flatpak steam, this leads me to believe that there's something wrong with the default device when pulse is missing |
I just noticed, /dev/snd seems to be owned by "nfsnobody" inside the flatpak, is that normal?
|
Flatpak spec says Pulseaudio is expected on target platforms and Flatpak authors are encouraged to rely on it FWIW |
Pulseaudio will be sandboxable at some point, so yea it is certainly recommended. This specific flatpak does pass all devices through though so this usage of alsa should work in that case. Might be worth discussing in the flatpak/flatpak repo. |
@TingPing I meant as the spec expects PA, submitter is expected to run into issues with other flatpaks later even if Steam flatpak can be made to work without. |
looking forward to sandboxed pulseadio! :) but yeah, since audio works fine from a regular glibc chroot with steam and no pulseaudio, there's probably a way to fix this flatpak. I still haven't found any more clues as to what could be wrong other than somehow incorrect default device. |
Just in case there might be some id/gid peculiarities with regards to the sandbox, I'd personally try to run id inside and outside the sandbox to make sure you are who you think you are |
uid and gid appear to be right
in the manual glibc chroot I had to change audio gid (it's 8 on my host system which did not match) to get audio working, but flatpak doesn't seem to have an audio group so it should be fine |
is there any easy way to get alsa-utils inside the flatpak so I can do aplay -l and speaker-test? |
@Francesco149 except apparently inside the flatpak you belong into group nfsnobody which incidentally has write access to the devices. |
@Francesco149 there were some workarounds added for ALSA, can you please retest? |
I experience the same issue with the latest version. Without PulseAudio there is no sound for video playback inside the Steam client and Proton games simply crash. Installing PulseAudio everything works as expected, but I would like to be able to use it without PulseAudio. |
Note for sandboxing since the comments here are quite obsolete: PipeWire is the sandbox-friendly soluton which is likely to replace PulseAudio and Jack and will provide low-latency sound. It's not here yet though, it will apparently first do Jack compat. |
Does flatpak/flatpak#3663 resolve this issue? |
Maybe I am missing something. It does not work for me. I have built and installed Flatpak 1.7.3 from sources and uninstalled Pulseaudio. I have issued the following command: |
From my understanding of this change, an application that has access to PulseAudio (which Unfortunately I don't have Flatpak 1.7.3 yet so I'm unable to test it. |
Let me know if it works for you. |
It doesn't work with Flatpak 1.8.0.
|
I got it to work by copying the system ALSA config file to the app data directory.
This also works with Flatpak 1.6.x. |
It is not working for me. I don't know if this is related, but in /etc/modprobe.d/alsa-base.conf I need the following line to have sound working on a pure ALSA system: |
I'm not sure. I build my kernel with the modules built-in. If you haven't done so already, run Steam from the terminal then watch the output for any clues as to why it doesn't work. |
@amak79
Did not helped me. As well as figuring out with It is weird that I've got this issue after recent update of host ALSA libs to v1.2.3.2 and then updating Flatpak. I think I have alsa-lib v1.1.9 for Also I found flatpak/flatpak#3593 which was closed with saying that |
@ony Running |
I know this thread has some time but, since I am having the same issues with Flatpak applications in general in a pure ALSA system, I want to ask if this have been reported to upstream or similar being either Flatpak itself or Flathub. |
I think that the main issue to be pointed is https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/issues/1135 which is in the org.freedesktop.Platform development repository. |
I was randomly thinking about this longstanding issue just minutes before you commented on this. Telepathy. 😄 |
@dariox86 the hilarious bit here is I originally commented at the beginning of thread that this will probably become non-issue because PulseAudio will be so prevalent. It has now been prevalent for many many years, yet people seem to try to get games running on pure ALSA systems... |
People with custom settings, WMs and alternative desktop environments such as TDE (which use aRTS which is other sound server) will have to rely always on ALSA. |
Right. And on those systems I'm expecting this app will continue being a hit or miss when it comes to sound. |
This bug also affect some other apps. It is common to be exact. I am just here because of that. Not a Steam user. Any FlatHub application which needs sound that I use, is without sound. |
Sure. Any further comments please to https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/issues/1135 though. |
@nanonyme, I think many do not need PulseAudio at all. For me everything works just fine on pure ALSA with no additional layer. |
I'm running with no pulseaudio on a pure alsa setup, 64-bit flatpak built with
--disable-system-helper
.McOsu plays audio just fine, except I had to manually select the sound device which was nil by default.
Every other game I've tried (Hotline Miami, Duke Nukem 3D: Megaton Edition, World of Goo, Terraria) is just silent.
I inspected the console output for Hotline Miami (https://gist.github.com/Francesco149/69c238cadbc3a701a33c60f019da2526#file-steam-nosound-hotline-miami-log-L104) and saw that it was correctly trying to use alsa but failed with connection refused, but I already know alsa works inside flatpak, as McOsu can play audio just fine.
I thought the issue was that it wasn't picking up my default sound device so I tried allowing it to see ~/.asoundrc and /etc/asound.conf with --filesystem but that didn't help.
I tried disabling all my virtual sound devices so my default sound device was card0, device0 but still no dice.
I realize this is a niche setup I'm on, but flatpak is a great tool to bring software that's tied to complex dependencies and GNU libc such as steam on minimalistic distros such as musl-based ones like void or sabotage where people often use pure alsa and it would be cool to have this fixed.
I can provide logs for more games if you want.
The text was updated successfully, but these errors were encountered: