GalliumOS / galliumos-distro

Docs, issues, and artwork sources for GalliumOS
https://galliumos.org/
GNU General Public License v2.0
345 stars 11 forks source link

Sound on Skylake #379

Open simonheb opened 6 years ago

simonheb commented 6 years ago

This is to concentrate efforts and document progress on the sound issues related to skylake and GalliumOS. All other skylake users are asked to also contribute their logs and use this issue to document progress towards finding a solution.

I am runnning a plain GalliumOS 2.1 via chrx on a CAVE model (Asus C302CA).

Right after the install, the system looks as follows:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ lspci | grep  -P audio\|snd\|sound\|audio
00:1f.3 Multimedia audio controller: Intel Corporation Sunrise Point-LP HD Audio (rev 21)

$ dmesg | grep -P audio\|snd\|sound\|audio
[    4.433088] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.559255] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input7
[    4.559335] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input8
[    4.559421] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input9

My first step is trying out he solution @volfyd suggested for Caroline (https://github.com/GalliumOS/galliumos-distro/issues/274#issuecomment-311751198), I will post the result here.

reynhout commented 6 years ago

@simonheb You only have HDMI devices listed there, so the driver is not loaded properly.

If my notes are correct, CAVE should have a Maxim 98357A codec, driver skl_nau88l25_max98357a_i2s (the nau88l25 part is a headphone codec).

The first thing to check is which kernel you're running (uname -r). Unless you're on the testing repo, you'll probably have 4.8.17, which doesn't have the required modules.

To enable the testing repo:

sudo galliumos-repodist --enable testing
galliumos-update

You should get a 4.10.5 kernel package, which might be an improvement. But it'll be more interesting to test on a 4.11 or 4.12 kernel. Currently only 4.12.0 is available in the repo: sudo apt install linux-image-4.12.0-galliumos.

If you still have only HDMI devices in aplay -l, there might be something revealing in dmesg. Actually journalctl has most of the same info, with warnings and errors helpfully colorized...and apparently unhelpfully truncated, but you can use the left and right arrow keys to "scroll" the viewport. systemd, feh.

simonheb commented 6 years ago

@reynhout, thanks for your comments.

The output in the previous post was indeed produced on an 4.8.17 kernel. Now I followed your steps and booted into the 4.12.0 kernel.

Now aplay -l lists more, but apparently all still hdmi devices:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1

dmesg is rather quiet on sound/audio, giving more or less the same messages as on the other kernel (just one more hdmi line). jounrnalctl gives no related highlighted errors. Only something about tpm_tis, bluetoothd, NetworkManager and ntpd.

Is there something I should look at via the shell in ChromeOS, e.g. to figure out which driver is needed?

In the post where volfyd got it working on Caroline, he mentioned some files he added to the system, which he seems to have gotten from ChromeOS. I assume the equivalent for CAVE would bet getting:

?

Other posts mentioning blackinsting snd-hda-intel. Anything to try there?

reynhout commented 6 years ago

@simonheb You can check the logs in ChromeOS, but the driver name might be different.

I'm not sure if copying files over will help -- I think you should see some noise in the logs well before those files become useful...though they might be needed for later stages of progress of course. Still, worth a try.

Re: blacklisting. It's possible there's a conflict, but I would expect to see some relevant log entries. Can't hurt to try either, although it will likely disable the HDMI devices, of course.

simonheb commented 6 years ago

Ok, thanks again @reynhout for the comments. Blacklisting snd-hda-intel seems to bring the issue to light: w/o blacklisting it:

$ dmesg | grep snd -B 2 -A 2
[    3.172835] Bluetooth: L2CAP socket layer initialized
[    3.172842] Bluetooth: SCO socket layer initialized
[    3.188837] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.205698] media: Linux media interface: v0.10
[    3.209708] usbcore: registered new interface driver btusb

w/ blacklisting snd-hda-intel:

$ dmesg | grep snd -B 2 -A 2
[    3.311489] input: Elan Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-ELAN0000:00/input/input5
[    3.319982] iwlwifi 0000:01:00.0: loaded firmware version 22.391740.0 op_mode iwlmvm
[    3.327879] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.332008] uvcvideo: Found UVC 1.00 device USB2.0 HD UVC WebCam (13d3:5679)
[    3.333514] uvcvideo 1-7:1.0: Entity type for entity Realtek Extended Controls Unit was not initialized!
--
[    3.677456] iwlwifi 0000:01:00.0 wlp1s0: renamed from wlan0
[    3.680975] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3
[    3.688197] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-CORE-COREBOOT-0-tplg.bin failed with error -2
[    3.688201] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-CORE-COREBOOT-0-tplg.bin load failed with -2
[    3.688216] snd_soc_skl 0000:00:1f.3: Direct firmware load for dfw_sst.bin failed with error -2
[    3.688218] snd_soc_skl 0000:00:1f.3: Fallback tplg fw dfw_sst.bin load failed with -2
[    3.688219] snd_soc_skl 0000:00:1f.3: Failed to init topology!
[    3.688221] snd_soc_skl 0000:00:1f.3: ASoC: failed to probe component -2
[    3.688258] skl_n88l25_m98357a skl_n88l25_m98357a: ASoC: failed to instantiate card -2
[    3.696423] skl_n88l25_m98357a: probe of skl_n88l25_m98357a failed with error -2

I also copied the aforementioned files from ChromeOS and ran called alsaucm

$ sudo alsaucm -c sklnau8825max set _verb HiFi
ALSA lib main.c:344:(execute_sequence) unable to open ctl device 'hw:sklnau8825max'
ALSA lib main.c:1546:(set_verb_user) error: failed to initialize new use case: HiFi
alsaucm: error failed to set _verb=HiFi: No such device

As you suspected earlier this didn't really yield anything new.

When booting after the files were copied into the system, dmesg contains:

[    3.636850] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3
[    3.639588] iwlwifi 0000:01:00.0 wlp1s0: renamed from wlan0
[    3.645834] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-CORE-COREBOOT-0-tplg.bin failed with error -2
[    3.645838] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-CORE-COREBOOT-0-tplg.bin load failed with -2
[    3.649295] snd_soc_skl 0000:00:1f.3: ASoC: invalid manifest size
[    3.651591] snd_soc_skl 0000:00:1f.3: tplg component load failed-22
[    3.652948] snd_soc_skl 0000:00:1f.3: Failed to init topology!
[    3.652950] snd_soc_skl 0000:00:1f.3: ASoC: failed to probe component -22
[    3.653011] skl_n88l25_m98357a skl_n88l25_m98357a: ASoC: failed to instantiate card -22
[    3.660528] skl_n88l25_m98357a: probe of skl_n88l25_m98357a failed with error -22
simonheb commented 6 years ago

I made some very mild progress on this, not sure whether this is good though as what is described below only works on the 4.10.5 kernel, even though @reynhout suggested to try the 4.12.0.

After reading that the hardware is similar on SENTRY, I went ahead and used the topology binary provided in https://github.com/GalliumOS/galliumos-distro/issues/274#issuecomment-292821069 and placed it in /lib/firmware/dfw_sst.bin. This got me a little further. More specifically, dmesg shows:

[ 1457.234035] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 1457.264801] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3
[ 1457.282043] nau8825 i2c-10508825:00: No 'mclk' clock found, assume MCLK is managed externally
[ 1457.296992] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-CORE-COREBOOT-0-tplg.bin failed with error -2
[ 1457.296998] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-CORE-COREBOOT-0-tplg.bin load failed with -2
[ 1457.297118] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297122] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297125] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297139] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297142] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297145] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297160] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297163] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297166] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297376] snd_soc_skl 0000:00:1f.3: ASoC: Parent card not yet available,Do not add new widgets now
[ 1457.345873] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> System Pin mapping ok
[ 1457.345959] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> System Pin mapping ok
[ 1457.346023] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> Reference Pin mapping ok
[ 1457.346105] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> DMIC Pin mapping ok
[ 1457.346169] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> HDMI1 Pin mapping ok
[ 1457.346232] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> HDMI2 Pin mapping ok
[ 1457.346297] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> HDMI3 Pin mapping ok
[ 1457.346330] skl_n88l25_m98357a skl_n88l25_m98357a: HiFi <-> SSP0 Pin mapping ok
[ 1457.346955] skl_n88l25_m98357a skl_n88l25_m98357a: nau8825-hifi <-> SSP1 Pin mapping ok
[ 1457.347002] skl_n88l25_m98357a skl_n88l25_m98357a: dmic-hifi <-> DMIC01 Pin mapping ok
[ 1457.347054] skl_n88l25_m98357a skl_n88l25_m98357a: intel-hdmi-hifi1 <-> iDisp1 Pin mapping ok
[ 1457.347100] skl_n88l25_m98357a skl_n88l25_m98357a: intel-hdmi-hifi2 <-> iDisp2 Pin mapping ok
[ 1457.347142] skl_n88l25_m98357a skl_n88l25_m98357a: intel-hdmi-hifi3 <-> iDisp3 Pin mapping ok
[ 1457.349524] input: sklnau8825max Headset Jack as /devices/platform/skl_n88l25_m98357a/sound/card0/input7
[ 1457.349837] input: sklnau8825max HDMI/DP, pcm=4 Jack as /devices/platform/skl_n88l25_m98357a/sound/card0/input8
[ 1457.350032] input: sklnau8825max HDMI/DP, pcm=5 Jack as /devices/platform/skl_n88l25_m98357a/sound/card0/input9
[ 1457.350182] input: sklnau8825max HDMI/DP, pcm=6 Jack as /devices/platform/skl_n88l25_m98357a/sound/card0/input10

aplay -l now gives me these:

**** List of PLAYBACK Hardware Devices ****
card 0: sklnau8825max [sklnau8825max], device 0: Audio (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sklnau8825max [sklnau8825max], device 4: Hdmi1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sklnau8825max [sklnau8825max], device 5: Hdmi2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sklnau8825max [sklnau8825max], device 6: Hdmi3 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

And I was able to hear a humming/beeping sound on my headphones when unmuting codec1_out in alsamixer (i hope i didn't break anything).

I'm not sure if i moved closer to or further from solving the issue for CAVE, any input on what to try next?

Update: I just booted into ChromeOS to confirm that I didn't break anything and it seems sound is still working fine from the hardware side.

Update 2: On the 4.9.4-galliumos-braswell kernel it works as on the 4.10.5 kernel, i.e. the drivers seems to get loaded, but other than humming/beeping on the headphones i get no sound. amixer lists the following items, in case anybody is able to learn from that what's going on:

amixer |grep -ivP Item\|mono\|channels\|front
Simple mixer control 'Headphone',0
  Capabilities: volume
  Limits: 0 - 63
Simple mixer control 'Headphone Bypass',0
  Capabilities: volume
  Limits: 0 - 15
Simple mixer control 'Headphone Crosstalk',0
  Capabilities: volume
  Limits: 0 - 255
Simple mixer control 'Headphone Jack',0
  Capabilities: pswitch pswitch-joined
  Capabilities: volume volume-joined
  Limits: 0 - 37
Simple mixer control 'Mic',0
  Capabilities: volume volume-joined
  Limits: 0 - 255
Simple mixer control 'ADC Decimation Rate',0
  Capabilities: enum
Simple mixer control 'BIQ Path Select',0
  Capabilities: enum
Simple mixer control 'DAC Oversampling Rate',0
  Capabilities: enum
Simple mixer control 'DACL Mux',0
  Capabilities: enum
Simple mixer control 'DACR Mux',0
  Capabilities: enum
Simple mixer control 'Headset Mic',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'Pin 5 Mux',0
  Capabilities: enum
Simple mixer control 'Pin 6 Mux',0
  Capabilities: enum
Simple mixer control 'Pin 7 Mux',0
  Capabilities: enum
Simple mixer control 'Spk',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'codec0_out mo codec0_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'codec0_out mo dmic01_hifi_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'codec0_out mo media0_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'codec1_out mo codec0_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'codec1_out mo dmic01_hifi_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'codec1_out mo media0_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'media0_out mo codec0_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'media0_out mo dmic01_hifi_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'media0_out mo media0_in mi',0
  Capabilities: pswitch pswitch-joined
PennRobotics commented 6 years ago

On a ThinkPad (SENTRY) with 2.1, I had messed around before trying to get sound to work (such as blacklisting snd_hda_intel) and implemented the steps @volfyd listed on #274, except trying to replace "adi" with "max", although I'm not even sure that would work or is the right chipset for this Chromebook. I admittedly don't know much of what I'm doing when it comes to kernel stuff. Here's my log:

~ > uname -r
4.12.0-galliumos

~ > galliumos-repodist
xenon-devel       (disabled)  GalliumOS "devel" packages
xenon-prerelease  (enabled)   GalliumOS "prerelease" packages
xenon-testing     (enabled)   GalliumOS "testing" packages

~ > aplay -l
aplay: device_list:268: no soundcards found...

~ > lspci | grep  -P audio\|snd\|sound\|audio
00:1f.3 Multimedia audio controller: Intel Corporation Sunrise Point-LP HD Audio (rev 21)

~ > dmesg | grep -P audio\|snd\|sound\|audio
[   14.792796] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   14.929469] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3
[   14.938491] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-CORE-COREBOOT-0-tplg.bin failed with error -2
[   14.938495] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-CORE-COREBOOT-0-tplg.bin load failed with -2
[   14.940684] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940687] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940689] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940696] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940698] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940699] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940707] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940708] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940710] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940772] snd_soc_skl 0000:00:1f.3: ASoC: Parent card not yet available,Do not add new widgets now
LufyCZ commented 6 years ago

Got exactly the same output as @usfbrian on LARS

azertyfun commented 6 years ago

I tried @volfyd's instructions to LARS running Arch, and things went very wrong. Please do not try to reproduce if you don't want to damage your hardware.

What I did:

I could now play audio, but it seems the hardware output was maxed out, regardless of my settings (in kde or alsa-mixer). Lowering software audio just made the sound very compressed, but still very loud. I tried plugging in my headphones, but before I could get them to work, I smelled the unmistakable smell of something burning coming from my audio jack. The lower right corner of the laptop also became very hot.

As it turns out, it seems, on LARS at least, that the sound card was maxed out or something, and it was literally burning.

I don't have Chrome OS installed right now to assess whether or not the sound card still works.

I am baffled that it is possible to (potentially?) destroy hardware like that using software. The sound card should have shut down by the point I could smell it...

RedTopSR20 commented 6 years ago

I've got a CHELL, m7. If anyone needs me to do an experiment on my hardware, i'd be glad to help. Preferably not whatever @azertyfun did and literally burn my sound card.

I'm not knowledgeable enough to do any good on my own, but I can follow directions.

I'll be following this thread.

LufyCZ commented 6 years ago

@azertyfun how come that I am getting an error on Gallium when using your tut ? The output is on #274

azertyfun commented 6 years ago

That's weird. Only thing I can think of is a missing HiFi.conf somewhere?

LufyCZ commented 6 years ago

@azertyfun: Could you please try to locate all HiFi.conf files on your system ?

azertyfun commented 6 years ago

Mhm, I deleted them after I (probably) fried my sound card, but I'm pretty sure I had two unmodified HiFi.conf files at /usr/share/alsa/ucm/Acer-Lars-1.0-Lars/HiFi.conf and /usr/share/asla/ucm/sklnau8825max/HiFi.conf.

LufyCZ commented 6 years ago

Well I tried that, didn't work

RiverCambria commented 6 years ago

Anyone make progress? I tried updating to newest linux kernel since I saw some release notes citing skylake audio driver compatibility but no dice.

LufyCZ commented 6 years ago

@RiverCambria Nope, everybody that is / would be able to do something is silent. I can't do anything without somebody pointing me into the right direction.

moookino commented 6 years ago

is it possible somehow to use audio settings from ChromeOS?

MrChromebox commented 6 years ago

@LufyCZ it's on our to do list, chill. This isn't our FT job, nor our #1 priority even for GalliumOS.

@moookino unfortunately the (much older) ChromeOS kernel and mailline Linux kernel are sufficiently different to where we can't simply move the drivers/settings/etc directly from ChromeOS to GalliumOS. If we could, we would have done that a long time ago :)

RedTopSR20 commented 6 years ago

@MattDevo

What's the best way to support GalliumOS? I don't have the knowledge to do anything about the Skylake audio issue, but I love GalliumOS and the doors it opens for me on my Chromebook.

Should I buy GalliumOS stickers? Lol. TELL ME HOW TO BE USEFUL

RedTopSR20 commented 6 years ago

@LufyCZ I bought a Sabrent USB audio adapter from Amazon for $8. It was plug and play with GalliumOS. It's going to be very useful until a fix is developed.

LufyCZ commented 6 years ago

Just tried out @azertyfun 's instructions, ready to turn off my CB as soon as I heard something (to not get my speakers damaged). After the reboot, I ran a test "alsaucm -c sklnau8825max set _verb HiFi", and I got the same exact output as he did (that the conf file Acer-Lars.... wasn't found). When I was typing the command to make the Acer-Lars... directory, I (by mistake) pressed backspace on an empty line. That normally makes a sound. Howewer, I just heard a very loud static-like sound, and almost jumped up with my heartbeat at double the normal speed. The files seem to do something, but I wasn't brave enough to continue testing. The speakers work fine in ChromeOS. This was tested on arch.

azertyfun commented 6 years ago

Yes, I used my chromebook recently, and I think some kernel update or other enabled the speakers — I didn't do anything since last time, but the speakers seem to "work" (emphasis on the quotes).

It looks like the sound would be fine on maximum volume (aside from bursting your eardrums), and reducing the volume only compresses the sound (acceptable volume is at 2%, at which point it is nearly unrecognizable).

The good news is that means my sound card wasn't damaged from last time, which is good. If I find the time, I'll investigate; my guess is that the Caroline soundcard and LARS soundcard differ slightly, and finding the right ones would make everything work.

LufyCZ commented 6 years ago

Well we could try the LARS files from ChromeOS. Here are the files. Could you please test them out @azertyfun ?

LufyCZ commented 6 years ago

I GOT AUDIO TO WORK!!!!! Just copy over the files, reboot, and voilá :)

Edit: Just found out that at 100% it is the high static noise @azertyfun talked about, and when it is low it is highly compressed. It looks like that 20% = 100% in ChromeOS. When going lower it gets compressed. When higher, the sound goes from not-understandeable to high static. I tested it by manually setting the % in terminal and then using Gnomes built-in "speaker test"

moookino commented 6 years ago

@LufyCZ, can u provide details about distribution, kernel, etc?

LufyCZ commented 6 years ago

@moookino I tested it on Arch. Kernel version is 4.12.10-1.

Crowesesse commented 6 years ago

This process works for CAVE as well, don't think I've seen anyone post a success for that yet. I have CAVE working with the same files from #274, renamed things to sklnau8825max as others have mentioned. There is definitely an issue with the audio gain that I still haven't figured out how to fix. Output is far too loud. Can't have volume up more than a couple notches.

RiverCambria commented 6 years ago

@LufyCZ I copied the files you posted but I get the following when trying to initialize:

alsaucm -c sklnau8825max set _verb HiFi
ALSA lib main.c:344:(execute_sequence) unable to open ctl device 'hw:sklnau8825max'
ALSA lib main.c:1546:(set_verb_user) error: failed to initialize new use case: HiFi
alsaucm: error failed to set _verb=HiFi: No such device

I have no sound devices now listed under volume control. Any suggestions?

LufyCZ commented 6 years ago

@RiverCambria are you on Gallium or on Arch ?

RiverCambria commented 6 years ago

Gallium

LufyCZ commented 6 years ago

@RiverCambria Thats it right there. Also tested it on Gallium and got the same outcome, but it works on Arch

reynhout commented 6 years ago

@LufyCZ Were you testing the GalliumOS 4.12 kernel? If so, there might be a relevant difference in kernel config. Would you mind posting yours?

LufyCZ commented 6 years ago

@reynhout yes I tested 4.12 on Gallium, didn't work. I'm still getting in touch with Linux, and I hope that this: data.txt is what you meant with kernel config :).

reynhout commented 6 years ago

@LufyCZ Yep, that's it, thanks! :) We'll see if we can find something to work with in there.

TesseractCat commented 6 years ago

Any progress for CAVE? I've tried out some of the solutions mentioned but they don't seem to work for me.

friedman101 commented 6 years ago

So far the best solution I've come across it to pick up a pair of these

fexofenadine commented 6 years ago

same issue here as @TesseractCat, I've tried quite a few times but get that same output as @RiverCambria .

I have a CAVE machine

omenyayl commented 6 years ago

At least the bluetooth headset works on Skylake GalliumOS (Chromebook Flip C302C) thankfully.

LufyCZ commented 6 years ago

Can confirm

kstenerud commented 6 years ago

I can get audio output working via bluetooth, but not audio input.

reynhout commented 6 years ago

Initial support for CAROLINE/snd_soc_skl_nau88l25_ssm4567 internal audio is in the "testing" repodist. You'll need a recent kernel (4.14.14 is fine) and galliumos-skylake version 2.0.1 or later.

Of course USB and Bluetooth audio continue to work as usual.

All of the reports and configs here and on #274 (to which this comment is crossposted) were extremely helpful in getting things working, so tons of thanks for those!

See https://wiki.galliumos.org/Repositories for instructions and warnings regarding enabling the "testing" or other non-default repodists.

Please let us know if these updates work on your CAROLINE!

divadsn commented 6 years ago

@reynhout would like to test it on my LARS, but I am not running GalliumOS, is it possible to add those files manually?

reynhout commented 6 years ago

@divadsn The current configs will not work on LARS. But generally speaking (assuming proper kernel support) the same type of process will apply. I installed them manually on CAROLINE to test and tweak, and then packaged them up into the deb for publishing.

If my notes are correct, LARS requires skl_nau88l25_max98357a_i2s, which might be the same as SENTRY and CAVE. I've started testing on SENTRY, but I don't have things working yet.

reynhout commented 6 years ago

CHELL and CAROLINE share an audio codec, and it looks like the initial support for snd_soc_skl_nau88l25_ssm4567 will work on CHELL as well.

Updated package galliumos-skylake version 2.0.2 adds CHELL to the list. Thanks @MattDevo!

divadsn commented 6 years ago

Will look into LARS maybe tonight, I have some time to tweak around.

NUCUser commented 6 years ago

Thank you for looking into LARS, I'm really looking forward to using my newer Chromebook full time once sound is a go.

heavyslugs commented 6 years ago

@reynhout Hi! I went ahead and used the testing repo to update galliumOS and I am still having issues with audio :( My kernel version is 4.14.14

reynhout commented 6 years ago

@heavyslugs on CAROLINE or CHELL?

heavyslugs commented 6 years ago

@reynhout CAROLINE

kstenerud commented 6 years ago

BTW, testing repo completely borks CAVE. Every time it tries to suspend, it locks up the whole system, requiring a hard reset.