ALSA-UCM config...
Hello. I'm a bit newb so please bear with me- I have a DAW (usb interface SSL2) for recording. It is not recognized by bazzite because "ucm error" and I cannot update UCM-CONF because of bazzite's atomic nature. I have looked through install.sh scripting in web search, and also this thread here from 2023: https://discordapp.com/channels/1072614816579063828/1176218547769319495
When I try to run the script, I get an error that essentially says 'read only file system' which is the usual error for Bazzite, but I thought install.sh was specifically to layer for RPM in this case?? Maybe I used it wrong?
With the 'answer' linked by @Zelaf in the thread from 2023, I used the terminal command to install alsa-ucm-conf-rpm and the error returned is: "No matches for "alsa-ucm" in repo...." which might just mean it's out of date. Thank you in advance for your help!
Solution:Jump to solution
38 Replies
I have forgotten I made my name this and got so confused lmao
hahaha your work comes back to haunt you
Is the UCM config for the sound card available on the upstream alsa-ucm git? https://github.com/alsa-project/alsa-ucm-conf
GitHub
GitHub - alsa-project/alsa-ucm-conf: ALSA Use Case Manager configur...
ALSA Use Case Manager configuration. Contribute to alsa-project/alsa-ucm-conf development by creating an account on GitHub.
Alsa UCM should work under fedora 42.
Does Bazzite have its own repos?
They do
In the end I made a whole repo and package that I overlayed into bazzite because of the old version of UCM
Since then the UCM got updated and my card got added
You seem much more familiar with this particular issue than I am.
Sorry I can't help further lol
I have touched parts of Alsa I never wanted to 🥲
My solution for this problem is "use pipewire wtf" but that's not helpful
Pipewire uses Alsa
hahah yes, I went that route first too
wireplumber etc to just see if I could tweak something in gui
it's a Framework 13 AMD RYZEN AI 300
ah.
pipewire can use alsa, but it can also run directly for alsa apps via
pipewire-alsa
using the built in soundcard, not the soundcard expansion slot
I'm not sure how that affects a USB peripheral, but good to know
Unless Alsa gets told what inputs and outputs are available Pipewire and Wireplumber won't know what the cards inputs and outputs actually are
so, according to the system 'file exists,' but also quits with an error when I see if the config is there - output is "tar: ucm2/sof-soundwire: Cannot utime: Read-only file system
tar: ucm2/ucm.conf: Cannot open: File exists
tar: ucm2: Cannot utime: Read-only file system
tar: Exiting with failure status due to previous errors"
What? None of that sentence is correct.
GitHub
alsa-ucm-conf/ucm2/USB-Audio/SolidStateLabs at 1b69ade9b6d7ee37a87c...
ALSA Use Case Manager configuration. Contribute to alsa-project/alsa-ucm-conf development by creating an account on GitHub.
wpctl fully handles input and output devices, ALSA is not required
pactl is a pulseaudio utility for configuring pulseaudio volume levels and such, it works with pipewire/wireplumber because of pipewire-pulse
It's nothing but a front-end
incorrect util name, sorry
wpctl is the same thing but for wireplumber
Which handles what inputs and outputs goes where for pipewire
Correct. Pipewire + Wireplumber are the only things you need (plus pipewire-pulse, pipewire-alsa, etc for compatibility)
Great! there it is... now, this is where the 'imanewb' part comes in, how do I add that to my bazzite... I tried a quick 'wget' and it failed
if this is breaking, make sure you have fully removed alsa/jack/pulse before testing.
Yea you need to get a modified package going on a copr repo for the most seamless integration for this
anyways this is getting way off topic for helping OP
ok.... sorry, never used copr repo before, no idea what it is... part of it is that I come from long-term debian/ubuntu use, so all the fedora stuff is new to me
I'll see if I can update my existing copr repo for you. I'm currently not on Bazzite so I have no idea how well it'll work but should be just to update a few lines of text for my existing repo
What system are you on? Deck or other handheld or a desktop/laptop?
Alright I've sent it off to a build on the copr repo
https://copr.fedorainfracloud.org/coprs/zelaf/alsa-ucm/build/9295024/
Solution
You'll have to test and see for yourself if it works since I have no clue if it will
Running
sudo dnf copr enable zelaf/alsa-ucm
should enable the repo. I highly recommend you check the build log and package content before installing it so you can trust what is actually included.
Do keep in mind, overriding packages on a ostree based distro will make so that the container that your distro is running build locally. Updates are going to take more time that way
Keep me posted of how it works or if you need any further help. I'll change what I can and gladly help troubleshootingThank you so much! I will look into it. Sorry I missed ur question above, its for a new framework 13laptop. Ill give it a try tonight when I am homr
Alright goodie, in case it tries to replace some deck specific UCM configs it won't matter
Hopefully there aren't any Framework specific ones it overwrites but even if there are the files should be named differently and not be overwritten or replaced in any way
Also I believe there's some command you need to run to overwrite the specific package or make the repo have a higher priority by writing in the repo priority number lower. I've forgotten if that's the case since it might complain about the package already being installed. But hopefully it won't be. There should be some info regarding overwriting a package from another repo somewhere
OK, I did see it say "file already exists" as an error when I tried the old one. Ill look it up
So, I think you did it. The best news is that I now hear output from the SSL 2, even though it still says "UCM error" next to it. I first tried your original command; but 'dnf' is not supported on bazzite and it took me through the usual schpiel about package management, and the 'tier of recommendations' ... the only one that made sense was
rpm-ostree install zelaf/alsa-ucm
which I did, but package not found, then I looked it up and actually bazzite has a copr utility built in, so I tried sudo copr enable zelaf/alsa-ucm
and it seems to have succeeded... it didn't work yesterday, (gave an error) but somehow worked this morning, no output, just next line in CLI. After first restart, my DAW (reaper) gave an error, but killing pulse audio, resetting and restarting the DAW seems to have fixed it for now! I'm 100000% grateful, thank you thank you!I'm so glad it worked out! Keep in mind to check the Bazzite packages occasionally for upstream updates in case they get updated, then this will be outdated. It's just UCM configs in this case and they most likely won't get updated very often but it's a good practice for duct tape solutions like this!
OK! if that happens, and the package does get updated (and lets assume breaks the fix instead of fixing it), then should I just run the
sudo copr enable zelaf/alsa-ucm
again? sorry never 'duct taped' before!disable
or remove
instead, unsure which is the right command but you'll need to remove the custom repoI believe for copr it's disable
you can also 'reset' or replace I believe...
Yea, as long as it gets removed when the bazzite repo package is updated with the config it should be golden!