Skip to content

Audio Fix

Tom edited this page Nov 10, 2022 · 17 revisions

Audio Fix

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

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:

fedora specific:

cat > /etc/systemd/system/yoga7-bass-speaker-on.service << 'UNIT'
[Unit]
Description=yoga7 bass speaker on
After=rtkit-daemon.service
[Service]
ExecStart=/bin/bash -c '/usr/sbin/i2cset -y 3 0x48 0x2 0 && /usr/sbin/i2cset -y 3 0x48 0x3 0'
[Install]
WantedBy=multi-user.target
UNIT

most other distros(i guess..):

cat > /etc/systemd/system/yoga7-bass-speaker-on.service << 'UNIT'
[Unit]
Description=yoga7 bass speaker on
After=pipewire.service
[Service]
ExecStart=/bin/bash -c '/usr/sbin/i2cset -y 3 0x48 0x2 0 && /usr/sbin/i2cset -y 3 0x48 0x3 0'
[Install]
WantedBy=pipewire.target
UNIT

Disable sound power management:

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

Start and reload:

systemctl daemon-reload

systemctl enable yoga7-bass-speaker-on.service && systemctl start yoga7-bass-speaker-on.service