You are not logged in.
So a month ago i installed arch and took it really slowly, just 2 weeks ago i installed hyprland and everything was nice until suddenly i had no audio, at first i thought it was a problem with pipewire but every program showed it recognized audio had to be played but the computer just didn't play it, i made a reddit post and i couldn't solve it so i thought it meant i had to go back to just using Windows as not having audio would be a deal breaker for me. Yesterday i installed arch again (Tried using other distros to see if it would solve it, it didn't work) and noticed that closing and opening the lid would solve the problem (at least for a good while). So i want to do one of 2 things, either simulate the process of closing and opening the lid or finding out what happens under the hood so that i solve it without suspending the machine
I have tried using both pipewire and pulseaudio, the problem happens with both
I have installed sof-firmware
Tried changing the sinks used for the audio (Not sure if i did this right or not, but i think i did)
And tried a script from https://github.com/cszach/linux-on-leno … wer-saving and turned it into a systemd unit. I probably did something wrong tho cause i run
systemctl --failed
and it failed
tas2781-fix.service loaded failed failed Run the tas2781-fix script after the relevant sysfs paths become available
Legend: LOAD → Reflects whether the unit definition was properly loaded.
ACTIVE → The high-level unit activation state, i.e. generalization of SUB.
SUB → The low-level unit activation state, values depend on unit type.
1 loaded units listed.
I'm sorry i don't know how to format the result of
systemctl --failed
nor what would be useful to help like what logs for example. So, please ask me whatever you need. I really want to use linux as a daily driver, but i can't if i don't solve this. Also, sorry if i posted this in an incorrect section, it seems like a hardware issue i think.
edit: Idk if it's the case but it seems like having pavucontrol open makes it so that the audio doesn;t mute itself again, i'm not 100% sure of this, but it happens to be the case.
Any tips for making better posts would be appreciated so that i don't make the same mistakes like in this posts.
Last edited by lucad05 (2025-04-10 22:25:59)
Offline
I have the exact same issue. Did you ever find a solution?
Offline
No, I just suspend the laptop the laptop with pavucontrol opened. That solves the issue until I turn off the laptop. And sometimes, when I turn the laptop on it has sound enabled but idk if it's random or something. Still looking for a permanent solution, but i didn't receive any suggestions or answers unfortunately lol.
Last edited by lucad05 (2025-07-05 17:30:22)
Offline
peoples complains again and again about pulse.
pulse is only best/convionence for maybe advanced usage.
if you just listen mp3 or watch video then bare 'alsa' is best imo.
So i suggest disable pulse then enable alsa if fits you.(its even needs to be enabled?)
install alsa-utils to use mixer if DE lacks one.
Offline
It clearly has something to do with power savings. The powertop optimizations seem to make it worse, and this fix seems to be working for now: https://forum.manjaro.org/t/finally-got … x8h/164447
Offline
Thanks for the link - lucad05, if you still want help with the workaround (I don't have this hardware), check that Manjaro thread closely.
The service is running the script as root, which is waiting forever until the files exist so it can write to them.
However the service kills it after 60 seconds and this may appear as a failure.
To check the service:
journalctl -u tas2781-fix.service
The two files the script is looking for are (you can check for them with `ls` as root):
/sys/bus/i2c/drivers/tas2781-hda/i2c-TIAS2781:00/power/control
/sys/module/snd_hda_intel/parameters/power_save
If they appear, you can try writing to them as root to achieve the same thing as the service.
This needs to be redone after boot, possibly other power events
echo 0 > /sys/module/snd_hda_intel/parameters/power_save
echo on > /sys/bus/i2c/drivers/tas2781-hda/i2c-TIAS2781:00/power/control
Long-term I believe this should be brought to the driver maintainers so they can check and consider adding it to a quirks list internally at least, but please someone correct me on process.
It sounds like you might want Shenghao Ding who created tas2781-hda and others at TEXAS INSTRUMENTS AUDIO (ASoC/HDA) DRIVERS under MAINTAINERS
Offline
So, i've been running that script since before i did this post, but it never worked. I still kept it hoping it would work one day lol. What's interesting to me, is that i've checked the files
/sys/module/snd_hda_intel/parameters/power_save, and there's a 1 there. Not a 0. The script runs, it hasn't failed since april 10th, but there's still a 1 there. I tried changing manually with
echo 0 > /sys/module/snd_hda_intel/parameters/power_save
And i get
bash: /sys/module/snd_hda_intel/parameters/power_save: Permission denied
I try
sudo echo 0 > /sys/module/snd_hda_intel/parameters/power_save
And get the same message
Then i tried changing it manually using neovim, but that had a weird behaviour where i did :wq but nvim wouldn't close and the fans started spinning rather quickly.
So tbh, i have no idea what to do, if try changing it manually again or what.
Thanks for the help. i appreciate it
Offline
redirecting output with > happens as the current user, which is not root.
Either become root first or else use something like tee to directly write to the file:
echo 0 | sudo tee /sys/module/snd_hda_intel/parameters/power_save
Offline