alsa-project / alsa-ucm-conf

ALSA Use Case Manager configuration
BSD 3-Clause "New" or "Revised" License
76 stars 222 forks source link

Tiny sound on ASUS Zenbook UM5606 out of the box #467

Open IShashkin opened 5 days ago

IShashkin commented 5 days ago

ASUS Zenbook UM5606 doesn't use subwoofers out of the box. So sound is tiny on the laptop. There is a workaround described here https://wiki.archlinux.org/title/ASUS_Zenbook_UM5606#Audio but it's broken in the last alsa release.

alsa-info.sh --no-upload alsa-info.txt.zip

Let me know if you need more info.

perexg commented 5 days ago

While you play something (assuming working 4.0 config workaround), how the mixer controls Speaker and Headphone react (use alsamixer -c 1) ? Do they control normal/additional speakers separately ?

EDIT: Please, also grab and upload alsa-info output when the playback is active.

IShashkin commented 4 days ago

While you play something (assuming working 4.0 config workaround), how the mixer controls Speaker and Headphone react (use alsamixer -c 1) ? Do they control normal/additional speakers separately ?

I'm not sure what I need to check. I started a youtube video and it's how alsamixer looks like When using speakers Screenshot From 2024-11-21 08-35-09 When using headphones Screenshot From 2024-11-21 08-35-25

EDIT: Please, also grab and upload alsa-info output when the playback is active.

alsa-info-youtube.txt.zip

simontrimmer commented 4 days ago

Hi @IShashkin, Can you upload your dmesg too please, I'd like to check that the kernel started the amplifiers properly -Simon

IShashkin commented 4 days ago

Hello @simontrimmer

journalctl --dmesg >> gmesg.txt

gmesg.txt

simontrimmer commented 4 days ago

Hi @IShashkin , Thanks that looks good - the amplifiers are fully configured with firmware, tuning and calibration -Simon

perexg commented 4 days ago

@simontrimmer : Could you explain, how the volume should be controlled in this case for tweeters/bass speakers at the ALSA control API level?

The 4ch workaround seems really wrong. The multichannel setup uses HDA DAC node 0x03 (with volume control) and 0x06 (without volume control).

There are 4 mono AMP? Speaker controls for the digital amplifiers. We should probably use them , too. Also only one HDA DAC output for nodes 0x15 (woofer output) and 0x18 (tweeter output) should be used to route signal to both speakers simultaneously.

@IShashkin : Could you stop pipewire (systemctl --user stop wireplumber) and play a stereo file using aplay using aplay -D hw:1 <wav_file> command. Show alsa-info output and try to play with mixer settings (Bass Speaker, Speaker, AMP?) . Describe the behaviour.

IShashkin commented 3 days ago

@perexg Bass Speaker can't be changed. I wasn't able to activate the bass speakers. AMP1 Speaker controls the right tweeter, AMP2 Speaker and AMP3 Speaker do nothing, AMP4 Speaker controls the left tweeter. Speaker controls both tweeters.

alsa-info-wav.txt.zip

perexg commented 3 days ago

@IShashkin : Bass Speaker can be only muted/unmuted. Press m in alsamixer when this bar is selected.

IShashkin commented 2 days ago

@perexg No luck. I don't hear the bass speakers Screenshot From 2024-11-23 08-52-11

Chevek commented 2 days ago

I have the same issue here with Fedora 41.

smithfred commented 2 days ago

For reference, the latest version from the original comment is 1.2.13, and the previous version for which there is a functioning workaround is 1.2.12.

On 1.2.12, "AMP2 Speaker" adjusts the level of the right woofer, and "AMP3 speaker" controls the left woofer.

Edit: and muting "Bass Speaker" completely mutes audio.

perexg commented 2 days ago

Analysis from the alsa-info output:

So the driver does not do a right job.

@IShashkin: Could you run command sudo hda-verb /dev/snd/hwC1D0 0x15 SET_CONNECT_SEL 1 and retest aplay? The connection list in /proc/asound/card1/codec#0 file for Node 0x17 should be changed from 0x02 0x03 0x06* to 0x02 0x03* 0x06.

Referred info from procfs (part of alsa-info.sh output):

Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Converter: stream=5, channel=0
Node 0x06 [Audio Output] wcaps 0x411: Stereo
  Converter: stream=0, channel=0
Node 0x15 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Bass Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Connection: 3
     0x02 0x03 0x06*
Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
 Connection: 3
     0x02 0x03* 0x06
Chevek commented 1 day ago

@IShashkin: Could you run command sudo hda-verb /dev/snd/hwC1D0 0x15 SET_CONNECT_SEL 1 and retest aplay? The connection list in /proc/asound/card1/codec#0 file for Node 0x17 should be changed from 0x02 0x03 0x06* to 0x02 0x03* 0x06.

I tested it, and the sound seems ok: the bass speakers are playing the music. Beside I could mute the bass speakers in alsamixer. Thank you! Is there a config file we could use to have this with pipewire?

perexg commented 1 day ago

The driver should set this by default. You may try kernel patch like ALC294_FIXUP_BASS_SPEAKER_15.txt . If you confirm that it works, I'll send it to linux-sound kernel mailing list.

Chevek commented 7 minutes ago

The driver should set this by default. You may try kernel patch like ALC294_FIXUP_BASS_SPEAKER_15.txt . If you confirm that it works, I'll send it to linux-sound kernel mailing list.

Simple instructions to test this on almost any distributions (Debian/Ubuntu/Fedora...) using the TKG Kernel:

git clone https://github.com/Frogging-Family/linux-tkg.git
cd linux-tkg
mkdir linux612-tkg-userpatches
cd linux612-tkg-userpatches/
wget -O ALC294_FIXUP_BASS_SPEAKER_15.mypatch https://github.com/user-attachments/files/17894729/ALC294_FIXUP_BASS_SPEAKER_15.txt
cd ..
./install.sh install

Our CPU is architecture "zen5", choose kernel 6.12. If you have secureboot enable, you should disable it with those simple instructions.

I tested just a few minutes on Fedora 41and it is definitely an improvement. I'll do further tests comparing with Windows. I also had to push everything to the max in alsamixer to get a better balance.

Thank you!!