Just want to check if there’s any update about it
You may limit the output volume by setting channelmix.max-volume with a reasonably recent wireplumber installation.
On my sona I am using the following configuration:
# /etc/wireplumber/wireplumber.conf.d/51-max-volume.conf
monitor.alsa.rules = [
{
matches = [
{
node.name = "~alsa_output.platform-avs_max98357a.*"
}
]
actions = {
update-props = {
channelmix.max-volume = 0.35
}
}
}
]
I’ve had userspace limiter working for almost a year using pipewire’s plugin, but I don’t want to ship it to users.
Given how many people don’t bother reading the documentation or providing logs, I don’t want to be blamed for hardware damage because someone didn’t read the instructions correctly and did not apply the fix.
As much as I wish we could do something about it, APL requires DSP firmware to be signed by Intel so our hands are kinda tied on that end.
In theory peakvol can be added to the topology. But too bad the topology format is proprietary and unreadable.
yuck
@elly I’ve got sona, I’d like to make sound working on it on my own risk. Could you provide me fix anyway by posting private message or sending e-mail?
Also I consider usb adapter to m.2. Is it worth it or is any better way to get fastest speeds out of nvme drive in sona?
Hi!
I just happen to have SONA here, but with eMMC removed (it was dead).
Been thinking about re-assembling it as-is and using external SSD for testing, so I should be able to help you with that.
Speakers can be made to work, but you will need to stay under ~30% of volume, and we can’t take any responsibility of potential hardware damage of course
Would it possibly be worthwhile to try this config with the BARD board? I understand the risk. It’s also amberlake/kabylake with an 8th gen i3-8130U. Unless I’m missing something, it seems a possibility.
EDIT: Maybe I should try it and let you know.
I’m running Garuda arch-based linux which comes with the pipewire plugin. Any chance you could spell out how to make it work? And possibly fill me in on the documentation I should read before I try?
╭─user@garudabook in /usr/share/wireplumber/wireplumber.conf.d🔒 as 🧙 took 59s
╰─λ inxi -A
Audio:
Device-1: Intel Sunrise Point-LP HD Audio driver: snd_soc_avs
API: ALSA v: k6.13.1-zen1-1-zen status: kernel-api
Server-1: PipeWire v: 1.2.7 status: active
I haven’t tried the chromebook-linux-audio script with the --force-avs-install option yet but I did create the file supplied by @91aa7fcc. I’m wondering, should I just run the script and force the install? Then start at minimum volume and check it out? I’d usually just try and see, but the speakers would be a big loss. That’s why I’m asking. Does that sound correct to you guys?
EDIT: The way I did this is wrong. Be sure to READ THIS THREAD TO THE END so future readers don’t make the same mistake!!
Okay. I used this command to find the location to create the config file supplied by @91aa7fcc as the directory in Garuda Linux was different.
sudo find -type d -name 'wireplumber.conf.d'
I then created the file and ran the script, forcing the avs install. After a reboot, my speakers are now working in what appears to be a very safe volume range. I may adjust the config to increase the max volume just a bit. I also turned on the mic switches to see if I could see the usual input line showing input in the sound applet and did not see any input, but I haven’t tried an actual recording yet. Even if the mics don’t work I am so relieved to hear sound from my Chrultrabook. Thank you guys so much for sharing the info that just sealed my decision to keep this super sweet machine (Acer Chromebook 715 [BARD])
Generally you should not change anything inside /usr, /etc/wireplumber/wireplumber.conf.d
overrides /usr/share/wireplumber/wireplumber.conf.d
, in case that directory does not exist you should create it yourself
Garuda is heavily customized. When I saw that /etc/wireplumber didn’t exist at all I assumed Garuda had relocated it when I found it existed with the matching sub-directory (wireplumber.conf.d) in /usr/share. I still don’t know that they didn’t, and since it’s working beautifully where I placed it I will leave it for now, but I will keep that in mind for next time or if I have any issues. On second thought, since an issue (such as deletion of the config by an update) would result in blown speakers, I’d better look into this now. Thank you for the heads up. Could you please tell me if /usr/share/wireplumber/wireplumber.conf.d exists in your system? If it does, then I will relocate the config, but if it does not, then I will check with the Garuda devs to find out if they moved it on purpose and if our pipewire still checks for /etc/wireplumber configs. Might I also ask what distro you are using? Arch is bleeding edge, so the wireplumber configs may have been relocated by pipewire itself in the latest versions. I just want to be sure that, if I move the config, it will still be seen and used. I’d hate to blow my speakers now after I had already gotten it working correctly. Also, your pipewire version would tell me a lot. Mine is 1.2.7.
Sure, the best way to ensure that config does work is to set an extremely small number, e.g. 0.01 in that config and test it. In terms of modifying configs in /usr, it is very likely this action buried a hidden conflict with your package manager, someday when you upgrade your system this hidden bomb will go off. Maybe the config will get overwritten or deleted, maybe your whole upgrade process will be halted, who knows. Never touch /usr, this is my advice.
But what I set the config to won’t matter at all if my pipewire doesn’t see it or use it. Could you please tell me your pipewire version and what distro your config is working in and whether or not /usr/shre/wireplumber/wireplumber.conf.d exists in your system? I apologize if those seem to be silly questions, but they would tell me a lot, I may be a bit paranoid, but it would be just my luck to change it now and blow my speakers.
EDIT: Nevermind. I figured out a way to test it without your answers and tried to make the /etc/wireplumber directory. It already existed. I must have had a typo when I initially checked and saw that it didn’t exist. I was mistaken. I will move the config and thank you very much for your advice. I did not know that about the /usr directory.
archlinux, pipewire 1.2.7, wireplumber 0.5.7, /usr/share/wireplumber/wireplumber.conf.d does exist, /etc/wireplumber/wireplumber.conf.d does not exist by default
I figured out a way to test it without your answers and tried to make the /etc/wireplumber directory. It already existed! I must have had a typo when I initially checked and saw that it didn’t exist. I was mistaken. I will move the config and thank you very much for your advice. I did not know that about the /usr directory. You may have just saved my speakers, but you already knew that. I thought you may be a debian user and on an older version so I was wary.
EDIT: Okay. All I can really say is, if all max98357a Chromebooks are like this one, @WeirdTreeThing is the one who is paranoid (kidding), but I’m glad he’s so worried as to make us search for a way to limit our max volume and I hope I can use 91aa7fcc’s config to increase my max volume, instead, in other Chrultrabooks.
EDIT2: Okay, maybe I can say more. Turns out, the config wasn’t working where I originally placed it. Once placed correctly and tested, I know that raising the volume is what would be more beneficial to this machine, if anything. It would definitely need more volume if I weren’t running KDE with the extra 50% max volume enabled. I wonder if this Chromebook has been miscatagorized in the max98357a group. Either that, or max98357a is not necessarily too loud, but just unpredictable and sometimes makes some Chromebooks so loud it might blow their speakers. Not mine. I should have ignored the warning altogether but this model may be the exception. This is my 4th Chromebook on Linux and my 1st with max98357a. Three had no internal speakers without the chromebook-linux-audio script. I am beyond grateful for that script, and before I found his keyboard script I had about 30 one liner scripts in a directory I’d added to $PATH to call up diferent brightnesses for my keyboard and display backlights. If not for the WeirdTreeThing scripts I certainly wouldn’t have 4 Chromebooks on Linux, but now I’m hooked. A big thank you to @WeirdTreeThing for making my Chrultrabooks have sound. You’re a hero to many, me included, along with all who’ve made this possible. It’s currently my very favorite project. I almost sold this Chromebook when I first ran the script and saw that warning. I would have asked that the max98357a issue be listed in the known issues section, because it isn’t. I checked that section before I bought this one to make sure and felt misguided when I saw that warning in the chromebook-linux-audio script, but if all Chromebooks with that driver are like this one I think the warning would be enough without having to type a whole sentence in CAPS with a Chromebook keyboard. Like I said, BARD must be an exception. It should be mentioned in the docs so no one misses this wonderful machine unnecessarily.
I apologize for reviving an old thread, but I have a question related to this. Is there a way to tell if you have max98357a? Have a CYAN board myself and I’d rather be safe than sorry due to not wanting to lose my speakers.
1: Cyan does not have max98357a.
2: This only applies to devices using the AVS driver, which cyan does not use.
3: The script will warn you if this applies to you, which it does not.
Thank you for letting me know!