-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] No sound on Acer Swift SFG14-72-735T (Intel Ultra 7 155H) #4970
Comments
@liquidev can you try installing v2.9 https://github.com/thesofproject/sof-bin/releases/tag/v2024.03 |
@lgirdwood I did try installing the latest release there before submitting this issue but to no avail. (Tried uninstalling the Arch-provided package and then using install.sh from the tarball, the effect was the same.) I believe the Arch-provided package may simply be the same as the |
Just tried installing v2.9 from the |
Can you try a soft link here so the kernel will find a similar file. @ujfalusi @plbossart fyi - could the arch kernel be missing a kernel patch ? |
It is a SDW device:
Since no SDW machine driver was found the stack falls back to HDMI only topology, but indeed we only have the basic The root cause is that we don't know this setup, so we fail to get the correct machine driver and the fallback to HDMI+DMIC does not work due to missing tplg. @kv2019i, FYI |
|
Is there anything I can do to fix this (or help fix this?) @lgirdwood I tried making the symlink but it's failing with a different error now:
|
@ujfalusi It looks promising but I have no idea where to begin testing out the patches. Do I need to compile the thesofproject/linux kernel with the patches, and then put the tplg file wherever the kernel module will tell me to? Or does this only involve recompiling the sof-specific kernel modules and then installing them somehow? Any pointers or instructions would be appreciated 😄 |
Can you attach the results of this updated script (bash alsa-info.sh.txt), i'll help us check if this is really a SoundWire topology. |
Sure, here it is: I'll get to setting up a local kernel for testing in the meantime. |
I'm afraid I can't set up a custom kernel by myself, it's beyond my technical ability at the moment. After a couple hours I managed to compile it successfully but then Arch's I just want my audio to work 😕 |
From https://www.acer.com/us-en/laptops/swift/swift-go/pdp/NX.KR0AA.001 Operating System: Windows 11
The only way not to have to go through all this pain is to buy a device that officially supports Linux. This is especially true with audio where there is a lot of hardware "creativity". I hope you can find someone who can help you with this sort of kernel hacking. |
@liquidev, you can try to follow this official Arch documentation: https://wiki.archlinux.org/title/Kernel/Traditional_compilation#Installation
grub-mkconfig can break booting (been there several times myself, but 'easy' to recover) on a system where the grub install was done with older version of GRUB, if in doubt you might want to run grub-install prior mkconfig, see Reboot, then select Advanced/Additional options or something and select linuxSOF to boot (keep fingers crossed). |
@marc-hb Sorry if my comment came off as urging for this to get solved, that was not my intention. I too would like Linux to support more hardware configurations :) I'm having another stab at it today and will probably make slow progress over the week with some support from a friend that's more savvy with using custom kernels on Arch. No hard promises, but fingers crossed I can get it to work and report something back here. @ujfalusi I mostly followed the instructions described on that Arch wiki page, but when running
and then the image fails to boot. The way I set up my kernel was:
Which leads me to believe the kernel may be missing some modules to mount my disk/partitions. I would debug further whether it's the drive or partitions, but the laptop keyboard is not working in the emergency shell. I might try an external keyboard later. |
It didn't :-)
The only way for this to happen at scale is for customers to buy more Linux. Volunteering can only go so far. AND it saves all these hassles from a more "selfish" perspective.
Good idea.
In doubt just say "yes". It won't take much more time and unused Linux drivers cannot cause any harm. Optimize only after you have something working.
Yes, looks like something missing in initramfs. Try Have you considered the user-friendlier https://wiki.archlinux.org/title/Dracut ? Also:
(all this seems much easier on Ubuntu or Fedora) |
@liquidev, the issue is at step 4
So kconfig is starting from a blank config, lacking vital drivers.
Check the sizes of the initrd images ( |
That's what would happen in an ideal world, but from my own selfish perspective I really wanted to have a laptop with a nice, HiDPI OLED display in a fairly thin and light 14" form factor. I'm not aware of any Linux-friendly manufacturers offer that yet, not to mention living in Poland further limits my choices. But let's cut that thread here to not go too offtopic, insted let's focus on getting audio to work on this darn thing :^) I managed to get the kernel running. Turns out it's just that rEFInd's default heuristics for assigning initrds to kernels ended up confused and loaded the vanilla In the journal, I get this, which includes a couple warnings, and then a whole slew of errors:
The last few errors are repeated over and over again. Now for the practical results - the good part is, the headphone jack works! \o/ The bad part is, the internal speakers don't. I haven't tested HDMI yet, will test it out in a minute. |
One weird thing that happens with the headphone jack is a two very loud audible clicks coming from my amplifier whenever there's a new audio source in PipeWire (or any other change in audio configuration, for that matter.) This doesn't happen with my other laptop so I'm thinking it might be a soundcard configuration issue. Either way, here's a video demonstrating the issue: speaker.popping.issue.mp4Another odd issue is that when the amplifier is connected to the headphone jack but off (in standby), the GNOME OSD for audio volume shows the headphone output getting muted as if you hit the Volume Down key combo repeatedly in a steady interval: Screencast.from.2024-04-29.00-07-18.webmwhich actually confused the heck out of me when I first saw it. I presume it may be another soundcard-related issue. (On the video, I'm the counteracting the volume changes manually by holding down the appropriate Fn-key combination.) |
@liquidev Can you run "sudo alsaucm reload" command and see if there is any error output? |
The firmware panic is a ChainDMA start
To have more information the sof-dyndbg.conf as described here #4923 (comment) and a full dmesg would probably give more insights. |
@bardliao, UCM is looking for rt712.conf? There is not such a file in UCM, not even in git version...
|
@bardliao Same thing as in the journal:
@ujfalusi dmesg after booting with the configuration you requested: dmesg.txt (just ran Note this is with headphones plugged in; I can also provide the logs when no headphones are connected as well as when HDMI is connected if that makes a difference. |
Right, rt722.conf is missing in UCM. @shumingfan FYI |
Edit: never mind, it's indeed the same hardware as thesofproject/sof#9041 and #4923
|
And there's something completely corrupted in the setup reported in alsa-info:
The last error means that the topology file for HDaudio was overidden with a topology file for SoundWire. Obviously this can't work. it's like putting diesel instead of regular gas in your car. Don't do it. |
So the summary is that this device has TWO PCH-attached DMICs, and RT712 on link0.
|
@liquidev Could you try to test the patch (shumingfan/alsa-ucm-conf@395ed2a)? |
This kernel log does not have the exception printed, how did it happened when it did? Unfortunately it is missing the start of the boot (SDW boards tend to be pretty chatty on boot). Adding |
Or, much simpler and better: use |
That does not occur in the patched kernel, see logs in #4970. @ujfalusi @marc-hb Here's the journal from a fresh boot (I only opened Firefox to start typing out this comment, then ran @shumingfan I assume the patch you sent is supposed to get rid of the errors thrown by ALSA. Should I expect any other changes in behavior? So far there seems to be no observable side effects. I haven't looked at the logs yet, but the journal logs I attached above are from a boot with your patch applied. |
@liquidev at the dmesg/journalctl level there's nothing suspicious. the alsa-ucm patch is to expose endpoints to PipeWire, this doesn't change anything at the journaltctl level. You would need to open the Gnome audio settings app to see if the endpoints are exposed. You can alternatively test using aplay/arecord with the -Dhw: devices. |
I don't see much difference in GNOME's audio settings, but here's the output of
To the uninitiated eye it would seem that three outputs should be present (jack, speakers, HDMI.) What are |
we can have 3 concurrent HDMI outputs, so that looks ok. you can safely ignore the deepbuffer stuff. |
@liquidev, I'm a bit lost. Can you summarize what works (Speaker/Headset/HDMI) and what not? Also note the kernel, topology, ucm that is used. Thanks |
@ujfalusi What works:
$ uname -a
Linux construct 6.9.0-rc3-sof-2-sof thesofproject/sof#2 SMP PREEMPT_DYNAMIC Sat, 27 Apr 2024 20:41:01 +0000 x86_64 GNU/Linux Compiled from thesofproject/linux Topology file used can be found in the logs:
I'm not sure how to check the UCM config used, but previously the warnings mentioned Let me know if you need anything else. |
@liquidev, strange, HDMI should just work, the Speaker might needs some tweaking to let audio out.
Check which section have non 0 or empty
now, use --- For the
and in another terminal start You preferable want PW stopped, but if it is idle, that is fine also. It might be that the UCM profile is not correct, it might be that the rt712 driver has some bugs, something else, but if playback 'works' but silent then it is most likely wither of the two. |
@ujfalusi The trick with I did
then in another terminal After unmuting that output in the mixer though, PipeWire still doesn't seem to be able to output to the speakers. Perhaps something in the PW config has to be tweaked? As for HDMI, I'll try what you suggested later as I currently don't have time. |
marking as duplicate of issue #4923 |
@liquidev, thanks for testing and it is great that you have something on the speaker. |
Sounds like it could work, but getting speakers to work is not a priority for me so I'll watch the PR to be merged. I'll be happy to test things out or provide more info you may need in the meantime. |
@ujfalusi @bardliao I'm now looking at alsa-project/alsa-ucm-conf#409 again in hopes of testing it out but it implements a UCM config for rt722, whereas my hardware seems to report itself as rt712 in |
can you share the result of 'amixer -Dhw:0 info'? UCM uses the 'component' string to identify which chips are present in hardware. |
@liquidev Did you ever test the rt712 UCM config? |
@shumingfan Yes, I'm using that patch right now - it made the warnings go away but there's still no sound coming from the speakers when using PipeWire. |
@liquidev How about the headphone/headset mic? |
@shumingfan Headphones are working fine, I don't have a headset with a mic to test. Here's the output of And here's the output of
|
@liquidev I think the speaker should have sound when the DAPM path turns on.
$ cat /sys/kernel/debug/regmap/sdw:0:0:025d:0712:01-sdw-mbq/registers |
Hi. I also have this laptop and I'm waiting for this problem to be solved. |
It's a duplicate of #4923, and the fix is already submitted for 6.11 |
There seems to be missing firmware for the DSP chip used in this particular laptop. Journalctl mentions a missing topology file:
I've looked for this topology file but it doesn't seem to exist anywhere. There's only
sof-tplg/sof-hda-generic-idisp-2ch.tplg
, but notsof-ace-tplg/sof-hda-generic-idisp-2ch.tplg
.The following audio chip is reported in
lspci
:Environment
6.8.7-zen1-1-zen thesofproject/sof#1 ZEN SMP PREEMPT_DYNAMIC Wed, 17 Apr 2024 15:20:00 +0000 x86_64 GNU/Linux
extra/sof-firmware 2024.03-1
The text was updated successfully, but these errors were encountered: