0

Folks, I have recently purchased this laptop: https://psref.lenovo.com/Product/Yoga/Yoga_Pro_9_14IRP8

And I can only get the front speakers working on Ubuntu 22.04 which results in the sound being not great to say the least.

From reading around I found out that the laptop comes with two sets of speakers like many new Yoga laptops and both of them are supposed to be playing at the same time: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1926165

Same issue on Fedora: https://discussion.fedoraproject.org/t/problem-with-sound-on-new-lenovo-laptops/72456

I was not able to get the speakers running with the tricks above, does anyone have an idea? Thank you in advance.

I am currently running the kernel: 6.2.0-33-generic.

muru
  • 197,895
  • 55
  • 485
  • 740
  • Did you run alsamixer to check whether all speakers are enabled? – Jos Oct 02 '23 at 13:49
  • Yes, I can see the bass speakers enabled, but the other set is at 0 and I am not allowed to increase the levels. – Antonín Hoskovec Oct 12 '23 at 13:01
  • How about sudo alsamixer? – Jos Oct 12 '23 at 13:10
  • It did not help, I tried enabling in pulseaudio as well, but the speaker level in alsamixer is fixed at 0 and I cannot change it. – Antonín Hoskovec Oct 16 '23 at 08:27
  • I also tried this: https://github.com/thiagotei/linux-realtek-alc287/tree/main/lenovo-legion – Antonín Hoskovec Oct 16 '23 at 09:48
  • Which resulted in no sound being played back, not even the weak one. So I reverted the change. – Antonín Hoskovec Oct 16 '23 at 09:49
  • I also found this: https://bugzilla.kernel.org/show_bug.cgi?id=208555

    But I really do not want to build my own kernel.

    – Antonín Hoskovec Oct 16 '23 at 09:57
  • It would be useful to know why you can't change the volume level from alsamixer. You might try an amixer command, just to see what kind of error message you get. The command should be something like amixer -c <card-number> set <control> <value> as explained here. – Jos Oct 16 '23 at 10:02
  • It says Invalid command! I listed the devices with amixer and the "Speaker" does not have volume control listed as an available command, only Capabilities: pswitch. – Antonín Hoskovec Oct 17 '23 at 11:39
  • That makes sense, as the bass speakers are probably intended to play at the same volume as the treble speakers. However, it appears that you can override this with an alsa plugin. If you're comfortable with doing some experiments, you could copy and paste the softvol plugin found [here] (https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html#pcm_plugins_softvol) into your ~/asoundrc file. Modify as needed. This should enable you to control their volume from alsamixer. Note: I haven't tried this myself. – Jos Oct 17 '23 at 13:06
  • I meant ~/.asoundrc. – Jos Oct 17 '23 at 13:16
  • So I read through it and right now I am not feeling that experimental since reverting the changes if they don't work is not about just deleting some files. I use the laptop for work and "terrible sound is better than no sound" is what I am thinking. I agree that there is a good chance to get it working like that, but from what I have seen in other places, it is a drivers issue. – Antonín Hoskovec Oct 23 '23 at 10:35

1 Answers1

2

I was able to get the bass speakers working on a Yoga pro 9 14IRP8 with Pop OS 22.04.

I followed this comment :

  1. Install i2c-tools :
    sudo apt install i2c-tools
    
  2. Get the i2c-bus number on which the TIAS2781 component is connected. I don't know how to do that. I tried the fix with 0 and it didn't work, but it worked with 1. Use at your own risks.
  3. Download this script and run it as sudo :
    sudo bash ./2pa-byps.sh 1
    
    where you replace 1 by the bus number that works for you.

Your subwoofers should work at this point. You need to run the script after each reboot, personally I added it to my root's cron.

The only remaining problem is that the system volume doesn't control the applications volume, so I have to set each app volume from the sound settings (same problem as here). It's annoying but it's better than having no bass.