Audio Fix
Clone this wiki locally
While not perfect this fix will make the audio at least bearable. It will switch the audio output from the upper tweeters to the down firing woofers. The fix is explained here: https://github.com/PJungkamp/yoga9-linux/issues/8#issuecomment-1265454056
Unfortunately values set by i2cset seem not to be permanent. If a media stream is stopped it often resets to the default tweeters. If you have know more and have an idea for a more permanent solution pls reach out :) thx
In summary
sudo su and execute following steps:
Make sure to have i2c-tools installed:
fedora:
dnf install i2c-tools
ubuntu:
apt install i2c-tools
arch:
pacman -S i2c-tools
Create a service to switch to the woofers on boot:
cat > /etc/systemd/system/yoga7-speaker-boot-fix.service << 'UNIT'
[Unit]
Description=yoga7 bass speaker on
After=graphical.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target
[Service]
ExecStart=/bin/bash -c '/usr/sbin/i2cset -y 3 0x48 0x2 0 && /usr/sbin/i2cset -y 3 0x48 0x3 0'
[Install]
WantedBy=graphical.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target
and make it executable:
chmod +x /etc/systemd/system/yoga7-speaker-boot-fix.service
Disable sound power management:
Note: This might come with a risk of damaging the speakers if over amplified
cat > /etc/modprobe.d/alsa-base.conf << 'CONF'
options snd_hda_intel power_save=0 power_save_controller=N
CONF
Enable, start and reload:
systemctl daemon-reload
systemctl enable --now yoga7-speaker-boot-fix.service
Work is still in progress, though stuff has gotten better with Kernel 6.1. I you have a fix for the Audio or the S3 sleep or something entirely else regarding this project, pls let me know by opening an issue thanks :))