How do I make my Lenovo Y50's subwoofer work on linux?
Here is a link to solution of mine, based on a python script: https://github.com/dragosprju/y50-subwoofer-linux-enabler.
Please also refer to the follow-up question for answers on which the solution above is based on: How to disable power saving on my Lenovo Y50's subwoofer audio pins?.
Related videos on Youtube
Dragoș
Updated on September 18, 2022Comments
-
Dragoș almost 2 years
I have a Lenovo Y50 laptop which has a subwoofer integrated that works only on Linux Mint 17.2, if I download HDA Analyzer and change with it:
- PIN 0x17 -> Widget Control -> Check OUT
- PIN 0x17 -> Output Amplifier -> Val[0] -> Uncheck Mute
- PIN 0x1a -> VREF -> Set it to 100
The problem is I tried various other distributions (Ubuntu, Antegros, Manjaro, Debian, Fedora) and doing the same thing doesn't make the subwoofer work. On the other distributions I tried to apply various other solutions (along with the previous mentioned solution), such as:
- Trying
hdajackretask
from thealsa-tools
package (can only do something on Ubuntu, on others it reportstee: /sys/class/sound/hwC0D0/reconfig: Device or resource busy
; keep in mind that I tried various settings with it on Ubuntu but subwoofer still fails to work) - Setting
enable-lfe-remixing = yes
in/etc/pulse/daemon.conf
- Setting
default-sample-channels = 3
anddefault-channel-map = front-left,front-right,lfe
in/etc/pulse/daemon.conf
- Uninstalling PulseAudio and leaving ALSA only (I haven't tried much at this state, only noticed
speaker-test -c 6
only detects 2 channels: Front Left and Front Right) -
Leaving only
alsa-base.conf
in/etc/modprobe.d/
with the following content (this only reorders the cards, but I believe it helped when the system was ALSA only, to set the PCH as primary):# Intel PCH options snd-hda-intel index=0 model=auto vid=8086 pid=8c20 # Intel HDMI options snd-hda-intel index=1 model=auto vid=8086 pid=0c0c
-
Copying many related configuration folders from Linux Mint to Fedora, such as:
-
/etc/alsa/
,/etc/modprobe.d/
and/etc/pulse/
-
/usr/share/pulseaudio/alsa-mixer/
and/usr/share/alsa/
-
All of these attempted solutions didn't work.
I started analyzing the problem further by running a few information commands. From the command
wget -O alsa-info.sh http://www.alsa-project.org/alsa-info.sh && chmod +x ./alsa-info.sh && ./alsa-info.sh
, I got the following information for Linux Mint and Fedora Workstation 22 (on which I'm currently on). I didn't spot anything interesting, but maybe you will.However, by running the command
pactl list
on both distributions, I got for Linux Mint (Pastebin ID #Z81bqaR3) and Fedora (Pastebin ID #gDNJg4Lq) and I noticed this:On Fedora (and also Ubuntu):
Card #1 .... device.product.name = "8 Series/C220 Series Chipset High Definition Audio Controller"
And on Linux Mint:
Card #1 .... device.product.name = "Lynx Point High Definition Audio Controller"
In this regard, I followed the first link of the Google search
ubuntu Lynx Point High Definition Audio Controller
and noticed many Dell laptops having this sound, then Google'dpulseaudio models.txt
(first link) and therefore tried setting in myalsa-base.conf
in/etc/modprobe.d/
the following:# Intel PCH options snd-hda-intel index=0 model=dell-vostro-3500 vid=8086 pid=8c20 # Intel HDMI options snd-hda-intel index=1 model=auto vid=8086 pid=0c0c
Didn't work.
Sorry for the search mentions instead of links and unproper pastebin links, but I'm new and only get 2 links maximum to post. Now, my questions are:
- Do you know a proper way to make my subwoofer for this laptop work on any distribution (not just Linux Mint)? or
- Do you know how to make my Fedora installation see the sound card as
Lynx Point High Definition Audio Controller
as Linux Mint sees it? (I haven't found anything on the internet to help in this regard) or - Do you know other model names to set for
model=...
in thealsa-base.conf
that might work? I've only trieddell-vostro-3500
. or - Do you know other solutions that might help without PulseAudio installed? (Isn't HDA Analyzer for ALSA? PulseAudio might break things I don't notice but ALSA alone doesn't detect the subwoofer still, as I've mentioned trying)
I can also try running any other commands from both distributions (Fedora and Linux Mint on Live USB) that might help you guys and post the information here.
Thank you! Hopefully someone can help me, because I've grown crazy this last week. Only Monday I found out about HDA Analyzer, and I lost hope making the subwoofer work on Linux ever since I bought this laptop.
EDIT: Follow-up question with solution here.
EDIT2: My own solution using a python script here.
-
ddulic almost 9 yearsThis is what worked for me, might help you :) askubuntu.com/a/667688
-
Dragoș almost 9 yearsThank you for your answer, but the solution you're referring to is actually linking to this question and what I've tried already.
-
Dragoș almost 9 yearsHere is a follow-up question, as I've had a bit more time to investigate: superuser.com/questions/975219/…
-
miyalys almost 9 yearsA bit OT, but what version of python do you use to run HDA Analyzer? Do you obtain and run it from that URL in ddulic92's link? Then I can see if it works in Archlinux for what that's worth. I tried the other solution mentioned on Ask Ubuntu, but that doesn't make a difference for me, but then again I'm not using Pulse Audio as far as I know, but rather Alsa (strangely enough the pulse folder existed, though).
-
Dragoș almost 9 yearsI use Python 2. On Fedora, I type
python2
in the terminal. Yes, I do obtain it from ddulic92's link, I just modify the python command accordingly and also usesudo
. Please do come back with your findings on Arch Linux - I'm curious myself as I haven't tried. -
miyalys almost 9 yearsNevermind, figured out it's because /usr/bin/env python is a symlink to python3 for me, so even though I ran the initial script with python2, the other ones were executed with python3, giving that error. One step closer, at least.
-
miyalys almost 9 yearsI tried it now: It doesn't seem to make a difference for me either. On the other hand, I started to consider how to test this. I dual boot, so I created a 65 hz sine wave and played in back in Windows, but it doesn't really sound that much different in linux(?) I think, so maybe it's actually already working for me? (or maybe it's not working in Windows 10 either.) Here's my testing file: miyalys.eu.org/files/65hzsine.wav How have you tested? Can you hear my example file? (maybe the frequency is not low enough?)
-
Dragoș almost 9 yearsI just test by putting my ear on the subwoofer when I play a YouTube video. That wav file does work on Windows, but the file itself is pretty silent. Haven't tried on Fedora (I'm pretty sure it won't work). On a related note, on Linux Mint, the subwoofer is louder than Windows as Linux doesn't filter out the bass to send to the subwoofer and just outputs all the sounds. I fix that by balancing the left-right sounds by making right side quieter.
-
miyalys almost 9 yearsThe volume of the test file should be as loud as possible according to Audacity(?), but maybe the frequency is off compared to what the subwoofer can play back? Maybe we can turn off the regular speakers somehow, so only the subwoofer is on? I have difficulty hearing the subwoofer over both the speakers and the idle noise of the computer, hah. But that could just mean it's always off, or I haven't found a good way to test it. Will try testing with some music, maybe.
-
sherpaurgen about 8 yearsI found my solution here bbs.archlinux.org/viewtopic.php?id=64935 I had similar problem in my hpdv4-5113cl ,the audio was working fine on windows7(beats audio driver) and when i switched to linux mint 17(rosa) my subwoofer was not working.