You are not logged in.
Hi all,
After using Manjaro for 3 months on my HP14a (BLOOGLET) Chromebook (using MrChromebox's UEFI-FW), I decided to switch to vanilla Arch. Everything is working perfectly except audio. Audio has been quite problematic on Gemini Lake laptops. Thanks to MrChromebox's SMBIOS patches we now have laptop speakers working OOTB (I tested: Manjaro, Debian & Ubuntu). Thanks to nsx2brz workaround script we have fully working audio (headphone-jack, microphone, etc)Full progress: Thesofproject | No output on glkda7219
I moved Manjaro to an SDcard using CloneZilla and installed Arch to my main eMMC device to dual-boot and compare the two.
On both I pulled a list of all installed package to compared them, and installed the missing packages on Arch.
Since I installed the packages below audio works over Bluetooth and USB, but still no soundcard is detected:
alsa-firmware alsa-lib alsa-oss alsa-plugins alsa-topology-conf alsa-ucm-conf alsa-utils pulse-audio pulseaudio pulseaudio-alsa pulseaudio-bluetooth pulseaudio-ctl pulseaudio-jack pulseaudio-lirc pulseaudio-rtp pulseaudio-zeroconf
It really puzzles me why audio is fully working on Manjaro but not on vanilla Arch. I compared the installed packages and systemctl, I'm probably missing something...
sudo dmesg | grep -e sof- -e glk -e 7219 -e hda
[ 2.118752] da7219 i2c-DLGS7219:00: Using default DAI clk names: da7219-dai-wclk, da7219-dai-bclk
[ 2.126227] snd_hda_intel 0000:00:0e.0: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 2.217273] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/glk_dmc_ver1_04.bin (v1.4)
[ 2.631928] sof-audio-pci-intel-apl 0000:00:0e.0: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 2.632285] sof-audio-pci-intel-apl 0000:00:0e.0: DSP detected with PCI class/subclass/prog-if 0x040100
[ 2.632389] sof-audio-pci-intel-apl 0000:00:0e.0: init of i915 and HDMI codec failed
[ 2.633486] sof-audio-pci-intel-apl 0000:00:0e.0: use msi interrupt mode
[ 2.638096] sof-audio-pci-intel-apl 0000:00:0e.0: NHLT_DEVICE_I2S detected, ssp_mask 0x6
[ 2.638103] sof-audio-pci-intel-apl 0000:00:0e.0: no hda codecs found!
[ 2.657025] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware info: version 2:1:1-3964a
[ 2.657034] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware: ABI 3:21:0 Kernel ABI 3:19:1
[ 2.657037] sof-audio-pci-intel-apl 0000:00:0e.0: warn: FW ABI is more recent than kernel
[ 2.657046] sof-audio-pci-intel-apl 0000:00:0e.0: unknown sof_ext_man header type 3 size 0x30
[ 2.785138] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware info: version 2:1:1-3964a
[ 2.785146] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware: ABI 3:21:0 Kernel ABI 3:19:1
[ 2.785149] sof-audio-pci-intel-apl 0000:00:0e.0: warn: FW ABI is more recent than kernel
aplay -l
aplay: device_list:274: no soundcards found...
inxi -Fazy
System:
Kernel: 5.18.1-arch1-1 arch: x86_64 bits: 64 compiler: gcc v: 12.1.0
parameters: initrd=\intel-ucode.img initrd=\initramfs-linux.img
root=PARTUUID=8299cc6f-e9d7-49d4-be79-92d27827d408 rootflags=subvol=@ rw
intel_pstate=no_hwp rootfstype=btrfs
Desktop: Xfce v: 4.16.0 tk: Gtk v: 3.24.29 info: xfce4-panel, plank
wm: xfwm v: 4.16.1 vt: 7 dm: LightDM v: 1.30.0 Distro: Arch Linux
Machine:
Type: Laptop System: Google product: Blooglet v: rev4
serial: <superuser required> Chassis: type: 9 serial: <superuser required>
Mobo: HP model: Blooglet v: rev4 serial: <superuser required>
UEFI: coreboot v: MrChromebox-4.16 date: 04/09/2022
Battery:
ID-1: BAT0 charge: 43.6 Wh (92.0%) condition: 47.4/47.4 Wh (100.2%)
volts: 8.4 min: 7.7 model: 333-54- GH02047 type: Li-ion serial: <filter>
status: discharging cycles: 73
Device-1: hidpp_battery_0 model: Logitech Wireless Mouse MX Master 3
serial: <filter> charge: 100% (should be ignored) rechargeable: yes
status: discharging
CPU:
Info: model: Intel Pentium Silver N5030 bits: 64 type: MCP
arch: Goldmont Plus family: 6 model-id: 0x7A (122) stepping: 8
microcode: 0x1E
Topology: cpus: 1x cores: 4 smt: <unsupported> cache: L1: 224 KiB
desc: d-4x24 KiB; i-4x32 KiB L2: 4 MiB desc: 1x4 MiB
Speed (MHz): avg: 1042 high: 1232 min/max: 800/3100 scaling:
driver: intel_cpufreq governor: schedutil cores: 1: 758 2: 1232 3: 950
4: 1229 bogomips: 8756
Flags: ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: spec_store_bypass
mitigation: Speculative Store Bypass disabled via prctl
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: Intel GeminiLake [UHD Graphics 605] driver: i915 v: kernel ports:
active: eDP-1 empty: DP-1,DP-2 bus-ID: 00:02.0 chip-ID: 8086:3184
class-ID: 0380
Device-2: Luxvisions Innotech HP Wide Vision HD Camera type: USB
driver: uvcvideo bus-ID: 1-7:3 chip-ID: 30c9:0016 class-ID: 0e02
serial: <filter>
Display: x11 server: X.org v: 1.21.1.3 compositor: xfwm v: 4.16.1 driver:
X: loaded: modesetting alternate: fbdev,intel,vesa gpu: i915
display-ID: :0.0 screens: 1
Screen-1: 0 s-res: 1920x1080 s-size: <missing: xdpyinfo>
Monitor-1: eDP-1 model: LG Display 0x060f built: 2018 res: 1920x1080
hz: 60 dpi: 158 gamma: 1.2 size: 309x174mm (12.17x6.85") diag: 355mm (14")
ratio: 16:9 modes: 1920x1080
OpenGL: renderer: Mesa Intel UHD Graphics 605 (GLK 3) v: 4.6 Mesa 22.1.0
direct render: Yes
Audio:
Device-1: Intel Celeron/Pentium Silver Processor High Definition Audio
driver: sof-audio-pci-intel-apl
alternate: snd_hda_intel,snd_soc_skl,snd_sof_pci_intel_apl bus-ID: 00:0e.0
chip-ID: 8086:3198 class-ID: 0401
Sound Server-1: ALSA v: k5.18.1-arch1-1 running: yes
Sound Server-2: JACK v: 1.9.21 running: no
Sound Server-3: PulseAudio v: 15.0 running: yes
Sound Server-4: PipeWire v: 0.3.51 running: no
Network:
Device-1: Realtek RTL8822CE 802.11ac PCIe Wireless Network Adapter
vendor: Hewlett-Packard driver: rtw_8822ce v: N/A modules: rtw88_8822ce
pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: 1000 bus-ID: 01:00.0
chip-ID: 10ec:c822 class-ID: 0280
IF: wlan0 state: up mac: <filter>
Bluetooth:
Device-1: Realtek Bluetooth Radio type: USB driver: btusb v: 0.8
bus-ID: 1-3:2 chip-ID: 0bda:b00c class-ID: e001 serial: <filter>
Report: rfkill ID: hci0 rfk-id: 1 state: up address: see --recommends
Drives:
Local Storage: total: 296.54 GiB used: 38.64 GiB (13.0%)
ID-1: /dev/mmcblk0 maj-min: 179:0 vendor: Samsung model: CUTB42
size: 58.24 GiB block-size: physical: 512 B logical: 512 B type: SSD
serial: <filter> rev: 0x8 scheme: GPT
SMART Message: Unknown smartctl error. Unable to generate data.
ID-2: /dev/sda maj-min: 8:0 type: USB vendor: Generic
model: STORAGE DEVICE size: 238.3 GiB block-size: physical: 512 B
logical: 512 B type: N/A serial: <filter> rev: 0819 scheme: GPT
SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
Partition:
ID-1: / raw-size: 58.04 GiB size: 58.04 GiB (100.00%)
used: 16.57 GiB (28.6%) fs: btrfs dev: /dev/mmcblk0p2 maj-min: 179:2
ID-2: /boot raw-size: 199 MiB size: 195.9 MiB (98.45%)
used: 58.7 MiB (30.0%) fs: vfat dev: /dev/mmcblk0p1 maj-min: 179:1
ID-3: /home raw-size: 58.04 GiB size: 58.04 GiB (100.00%)
used: 16.57 GiB (28.6%) fs: btrfs dev: /dev/mmcblk0p2 maj-min: 179:2
ID-4: /var/log raw-size: 58.04 GiB size: 58.04 GiB (100.00%)
used: 16.57 GiB (28.6%) fs: btrfs dev: /dev/mmcblk0p2 maj-min: 179:2
Swap:
Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
ID-1: swap-1 type: file size: 4 GiB used: 0 KiB (0.0%) priority: -2
file: /swapfile
Sensors:
System Temperatures: cpu: 50.0 C mobo: N/A
Fan Speeds (RPM): N/A
Info:
Processes: 212 Uptime: 7m wakeups: 23 Memory: 3.7 GiB used: 1.79 GiB (48.4%)
Init: systemd v: 251 tool: systemctl Compilers: gcc: 12.1.0 Packages:
pacman: 966 lib: 362 Shell: Bash v: 5.1.16 running-in: xfce4-terminal
inxi: 3.3.16
sudo dmesg | grep -e sof- -e glk -e 7219 -e hda
[ 6.528718] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/glk_dmc_ver1_04.bin (v1.4)
[ 6.583247] snd_hda_intel 0000:00:0e.0: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 6.597108] da7219 i2c-DLGS7219:00: Using default DAI clk names: da7219-dai-wclk, da7219-dai-bclk
[ 7.246426] sof-audio-pci-intel-apl 0000:00:0e.0: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 7.246791] sof-audio-pci-intel-apl 0000:00:0e.0: DSP detected with PCI class/subclass/prog-if 0x040100
[ 7.247042] sof-audio-pci-intel-apl 0000:00:0e.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 7.252925] sof-audio-pci-intel-apl 0000:00:0e.0: use msi interrupt mode
[ 7.282347] sof-audio-pci-intel-apl 0000:00:0e.0: hda codecs found, mask 4
[ 7.307460] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware info: version 2:1:1-3964a
[ 7.307471] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware: ABI 3:21:0 Kernel ABI 3:18:0
[ 7.307474] sof-audio-pci-intel-apl 0000:00:0e.0: warn: FW ABI is more recent than kernel
[ 7.307485] sof-audio-pci-intel-apl 0000:00:0e.0: unknown sof_ext_man header type 3 size 0x30
[ 7.435121] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware info: version 2:1:1-3964a
[ 7.435144] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware: ABI 3:21:0 Kernel ABI 3:18:0
[ 7.435166] sof-audio-pci-intel-apl 0000:00:0e.0: warn: FW ABI is more recent than kernel
[ 7.490714] sof-audio-pci-intel-apl 0000:00:0e.0: Topology: ABI 3:21:0 Kernel ABI 3:18:0
[ 7.490726] sof-audio-pci-intel-apl 0000:00:0e.0: warn: topology ABI is more recent than kernel
[ 7.491035] bxt_da7219_max98357a glk_da7219_mx98357a: ASoC: Parent card not yet available, widget card binding deferred
[ 7.503674] da7219 i2c-DLGS7219:00: supply VDD not found, using dummy regulator
[ 7.503728] da7219 i2c-DLGS7219:00: supply VDDMIC not found, using dummy regulator
[ 7.503738] da7219 i2c-DLGS7219:00: supply VDDIO not found, using dummy regulator
[ 7.503750] da7219 i2c-DLGS7219:00: Invalid VDDIO voltage
[ 7.528157] bxt_da7219_max98357a glk_da7219_mx98357a: ASoC: sink widget DMic overwritten
[ 7.528214] bxt_da7219_max98357a glk_da7219_mx98357a: ASoC: source widget Capture overwritten
[ 7.615649] input: sof-glkda7219max Headset Jack as /devices/pci0000:00/0000:00:0e.0/glk_da7219_mx98357a/sound/card0/input10
[ 7.615750] input: sof-glkda7219max HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:0e.0/glk_da7219_mx98357a/sound/card0/input11
[ 7.615831] input: sof-glkda7219max HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:0e.0/glk_da7219_mx98357a/sound/card0/input12
[ 7.616068] input: sof-glkda7219max HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:0e.0/glk_da7219_mx98357a/sound/card0/input13
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofglkda7219max [sof-glkda7219max], device 0: Speakers (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofglkda7219max [sof-glkda7219max], device 1: Headset (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofglkda7219max [sof-glkda7219max], device 5: HDMI1 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofglkda7219max [sof-glkda7219max], device 6: HDMI2 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofglkda7219max [sof-glkda7219max], device 7: HDMI3 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
Audio seems to be broken on the mainline 5.18.1-arch1-1 arch kernel. I reverted to LTS (5.15.44-1-lts) and sound was working OOTB.
Like on other distro's sound isn't fully working OOTB though. There's a problem with sound scaling on pulseaudio (not a problem with pipewire) and a workaround is needed to add headphone-jack, microphone, etc.
Sound scaling fix (by u/ericwoud)
cd /usr/share/pulseaudio/alsa-mixer/profile-sets/
sudo cp default.conf default.conf.bak
sudo nano default.conf
Add the following content:
[General]
auto-profiles = no
[Mapping analog-stereo-speaker]
description = Internal speakers
device-strings = hw:%f,0
channel-map = left,right
direction = output
priority = 9
paths-output = sof-glk-speaker-output
[Profile myprofile]
description = GLK-Chromebook
output-mappings = analog-stereo-speaker
priority = 60
Create a file names 'sof-glk-speaker-output.conf' under '/usr/share/pulseaudio/alsa-mixer/paths/' add the following content:
[General]
priority = 200
description-key = analog-output-speaker
[Properties]
device.icon_name = audio-speakers
[Element PGA1.0 1 Master]
volume = merge
override-map. 1= all
override-map.2 = all-left,all-right
[Element Spk]
switch = mute
Workaround script (by u/nsx2brz)
Workaround to get all audio devices working on Gemini Lake sof-glkda7219max devices (until we have a prober UCM file)
Source
#!/bin/bash
echo Adding microphone to Pulseaudio
grep -qxF 'load-module module-alsa-source device=hw:0,99' /etc/pulse/default.pa || echo 'load-module module-alsa-source device=hw:0,99' >> /etc/pulse/default.pa
echo Adding headphone to Pulseaudio
grep -qxF 'load-module module-alsa-sink device=hw:0,1' /etc/pulse/default.pa || echo 'load-module module-alsa-sink device=hw:0,1' >> /etc/pulse/default.pa
echo Adding headset microphone to Pulseaudio
grep -qxF 'load-module module-alsa-source device=hw:0,1' /etc/pulse/default.pa || echo 'load-module module-alsa-source device=hw:0,1' >> /etc/pulse/default.pa
echo Restarting Pulseaudio
killall pulseaudio
echo Configuring headphone/headset mixer
amixer cset name='Playback Digital Volume' 111
amixer cset name='Playback Digital Switch' 1
amixer cset name='Out DACL Mux' DAIL
amixer cset name='Out DACR Mux' DAIR
amixer cset name='Mixer Out FilterL DACL Switch' 1
amixer cset name='Mixer Out FilterR DACR Switch' 1
amixer cset name='ST Mixer Out FilterL Out FilterL Switch' 1
amixer cset name='ST Mixer Out FilterR Out FilterR Switch' 1
amixer cset name='Headphone Jack Switch' on
amixer cset name='Headset Mic Switch' on
amixer cset name='Mic Volume' 5
amixer cset name='Capture Digital Volume' 111
amixer cset name='Capture Digital Switch' 1
amixer cset name='Mixin Volume' 10
amixer cset name='Mixin Switch' 1
amixer cset name='Mixer In Mic Switch' 1
amixer cset name='Out DAIL Mux' ADC
amixer cset name='Out DAIR Mux' ADC
amixer cset name='Pin5-Port0 Mux' 1
amixer cset name='Pin5-Port1 Mux' 1
amixer cset name='Pin5-Port2 Mux' 1
amixer cset name='Pin6-Port0 Mux' 2
amixer cset name='Pin6-Port1 Mux' 2
amixer cset name='Pin6-Port2 Mux' 2
amixer cset name='Gain Ramp Rate' 1
Last edited by denisuu (2022-07-11 15:38:37)
Offline
There's no sof-firmware in your list though the dmesg log suggests it is present. Maybe a regression with the 5.18 kernel? Test LTS or grab a 5.17 variant from the ALA to get a fairer comparison.
Last edited by V1del (2022-06-01 11:20:20)
Offline
There's no sof-firmware in your list though the dmesg log suggests it is present. Maybe a regression with the 5.18 kernel? Test LTS or grab a 5.17 variant from the ALA to get a fairer comparison.
Reverting to 5.15.44-1-lts solved it! Should I report this somewhere?
I just installed the LTS kernel and made a new systemd-boot entry. I didn't roll back packages from ALA to match the kernel is it recommended?
Trying to fix this issue I installed a lot of packages. I can probably remove half of these right? Can I find information somewhere on the default packages that are installed on a clean Arch install?
I guess I could just try to remove all of them, the ones that have dependencies won't uninstall anyway right? I could also run archinstall (2.5.0) again on the SDcard and check, since I don't need Manjaro anymore now!
alsa-card-profiles 1:0.3.51-1
alsa-firmware 1.2.4-2
alsa-lib 1.2.6.1-1
alsa-oss 1.1.8-4
alsa-plugins 1:1.2.6-3
alsa-topology-conf 1.2.5.1-1
alsa-ucm-conf 1.2.6.3-1
alsa-utils 1.2.6-1
jack2 1.9.21-1
lib32-alsa-lib 1.2.6.1-1
lib32-alsa-plugins 1.2.6-1
linux 5.18.1.arch1-1
linux-api-headers 5.17.5-2
linux-firmware 20220509.b19cbdc-1
linux-firmware-whence 20220509.b19cbdc-1
linux-lts 5.15.44-1
pavucontrol 1:5.0+r35+g964f298-1
pipewire 1:0.3.51-1
pulseaudio 16.0-1
pulseaudio-alsa 1:1.2.6-3
pulseaudio-bluetooth 16.0-1
pulseaudio-jack 16.0-1
pulseaudio-lirc 16.0-1
pulseaudio-rtp 16.0-1
pulseaudio-zeroconf 16.0-1
sof-firmware 2.1.1-1
Thanks a lot for the help! I'm happy everything is working now!
Offline
You can always have LTS installed alongside whatever is the current kernel, so you can technically keep using that and occasionally retest the standard kernel to check whether the issue got fixed in an update. The more future proof and better approach would be to git bisect the kernel between a known good and bad version and then actively doing a regression bug report to bugzilla.kernel.org so it can be properly fixed if no one has done so yet. But doing this properly (i.e. with a proper bisect that can accurately identify the faulty commit can be quite time consuming)
From this list, you don't need alsa-firmware since the firmware you need will be from sof-firmware, all of the other things are stuff that might generally be required and is not really anything out of the ordinary so you can keep most of that. one might argue that you are very unlikely to ever need alsa-oss and if so doing the OSS emulation via padsp might be a better/more compatible approach if/while you are using pulseaudio.
Offline
That's a good idea! I'll keep the the original mainline kernel systemd-boot entry so I can try every new kernel release to see if the problem was solved.
To be honest I think the kernel bisecting is a bit above my head. I don't know much about the Linux kernel (yet), I'm quite a newbie to Linux. I could try every release until it breaks and report that, but that's probably not of much help.
Ok thanks, I removed those 2 packages.
I updated the first post with the other fixes that are needed to get audio fully working incase anyone else with glkda7219max needs this. I saw the original posts on SOF's Github because it was too offtopic. That way the info is still posted somewhere when someone Googles: Blooglet, or glkda7219max.
Last edited by denisuu (2022-06-01 19:35:49)
Offline
Sound is working again on the latest mainline kernel: 5.18.10-arch1-1 plbossart's kernel patches got merged too, so the only thing this laptop needs now is a working UCM.
Offline