Skip to content
This repository has been archived by the owner on Apr 26, 2022. It is now read-only.

Patches for sound drivers #29

Open
LGaljo opened this issue Dec 29, 2017 · 22 comments
Open

Patches for sound drivers #29

LGaljo opened this issue Dec 29, 2017 · 22 comments

Comments

@LGaljo
Copy link

LGaljo commented Dec 29, 2017

Hello!
We appreciate what you did to make sound work on this laptop. But since you dont have time to compile kernels may I ask you to provide patch files or commits needed to add sound drivers to kernel. I would like to compile kernel myself so I can have kernel with latest fixes. Thanks

@ghost
Copy link

ghost commented Jan 1, 2018

Here is the original repository that contains the sources with patches to support sound on E200HA.
https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git (branch topic/asus-e100h-4.13)

In addition, I slightly modified the script and compiled myself newer kernel (4.13.16). I'm not sure that the kernel works perfect, but... It works. You can find it in my repositories. In the future, I will periodically update the kernel, so that it can work on the newest versions of Ubuntu, if I do not have any difficulties.

@Shemzone
Copy link

Shemzone commented Jan 1, 2018

@FireFlashie , what is the distro you run with your kernel version. I'd like to test it with Ubuntu 17.10. What do you think?

@ghost
Copy link

ghost commented Jan 2, 2018

@Shemzone, latest Xubuntu (based on Ubuntu 17.10). Kernel should work on 17.10 without any problems.

@Shemzone
Copy link

Shemzone commented Jan 2, 2018

@FireFlashie , it works with Ubuntu 17.10 but only in Unity, not in Gnome.
It's weird to me that two graphic environments of the same distro with the same kernel have this behavior?
But I'm far to be a linux expert...

aplay -l in Gnome
**** Liste des Périphériques Matériels PLAYBACK **** carte 0: Audio [Intel HDMI/DP LPE Audio], périphérique 0: HdmiLpeAudio [Intel HDMI/DP LPE Audio] Sous-périphériques: 1/1 Sous-périphérique #0: subdevice #0 carte 1: chtcx2072x [chtcx2072x], périphérique 0: 3 [] Sous-périphériques: 1/1 Sous-périphérique #0: subdevice #0 carte 1: chtcx2072x [chtcx2072x], périphérique 1: Deep-Buffer Audio (*) [] Sous-périphériques: 1/1 Sous-périphérique #0: subdevice #0

aplay -l in Unity
**** Liste des Périphériques Matériels PLAYBACK **** carte 0: Audio [Intel HDMI/DP LPE Audio], périphérique 0: HdmiLpeAudio [Intel HDMI/DP LPE Audio] Sous-périphériques: 1/1 Sous-périphérique #0: subdevice #0 carte 0: Audio [Intel HDMI/DP LPE Audio], périphérique 1: HdmiLpeAudio [Intel HDMI/DP LPE Audio] Sous-périphériques: 1/1 Sous-périphérique #0: subdevice #0 carte 0: Audio [Intel HDMI/DP LPE Audio], périphérique 2: HdmiLpeAudio [Intel HDMI/DP LPE Audio] Sous-périphériques: 1/1 Sous-périphérique #0: subdevice #0 carte 1: chtcx2072x [chtcx2072x], périphérique 0: 1 [] Sous-périphériques: 1/1 Sous-périphérique #0: subdevice #0 carte 1: chtcx2072x [chtcx2072x], périphérique 1: Deep-Buffer Audio (*) [] Sous-périphériques: 1/1 Sous-périphérique #0: subdevice #0

Does it make sens to you?

@Retch
Copy link

Retch commented Jan 2, 2018 via email

@Shemzone
Copy link

Shemzone commented Jan 3, 2018

@Retch Yes, I know, but I have no idea why.
My installation is quite standard. Ubuntu 17.04 + Kernel 4.12-rc6 customized by @Grippentech , then updated to Ubuntu 17.10 + Kernel 4.13-b1 customized by @FireFlashie

@ghost
Copy link

ghost commented Jan 3, 2018

@Shemzone Just to check installed Ubuntu 17.10 with a default desktop (Gnome). Yes, indeed, the sound is not working, because of too slow initialization of Pusleaudio under this desktop enviroment. I do not see a good solution to this problem, but it can be circumvented if you are critical to using Gnome. Try disabling the realtime-scheduling in /etc/pulse/daemon.conf, replacing the line:
; realtime-scheduling = yes to realtime-scheduling = no

@Shemzone
Copy link

Shemzone commented Jan 3, 2018

@FireFlashie Brilliant! It works!

@aaguilarjimenez
Copy link

@FireFlashie, thanks! I am using the latest Linux Mint MATE and your 4.13 kernerl seems to be working just as good as the previous one by Andrei, the 4.12-rc1.
Can you explain briefly how can I compile the kernel myself if I want to share a more up to date version?

@Grippy98
Copy link
Owner

Nice! Sorry for the absence guys. @FireFlashie would you like to make you a collaborator on this repo so you can edit it?

@LGaljo
Copy link
Author

LGaljo commented Jan 11, 2018

@Grippentech May I ask you to provide .config file for compilation or you comment here which lines to add for cx2072x driver. Thanks!

@Grippy98
Copy link
Owner

@LGaljo I'll try to get it to you this evening, I should have a backup of it... somewhere

@messi922
Copy link

Hello, how do I install on Linux mint the latest git update? Thank you

@burkingman
Copy link

burkingman commented Jan 18, 2018

Kernel update, if anyone's interested: been running a Lubuntu 17.10 live USB with the kernel updated to 4.15 rc8 (unmodified). Still no internal sound card detected, even after disabling realtime-scheduling, and I get audio/video speedup (as described in issue #9). Good news:

  • the following work right away: keyboard (including brightness keys), touchpad and wi-fi (though some wi-fi related errors show up in dmesg)
  • closing the lid seems to turn off the screen and freeze processes; power light stays on; opening the lid resumes normal operation; no overheating, excessive CPU usage or freezes so far (one or two inconsequential segfaults though)
  • haven't been able to test HDMI sound, Bluetooth and the SD card, but aplay -l shows HDMI devices, and the Lubuntu Bluetooth utility behaves normally.

If the stable 4.15 release doesn't enable sound, I may try to apply sound fixes to it (still new to kernel modifications, though).

@Shemzone
Copy link

Thank you @burkingman
However, Linux noob in front of my desk... what do you mean by closing/opening the lid? Is it only closing/opening physically my lid laptop or is it some script to launch?
Sometimes I get freezes processes, I'm interested by this.
I googled and get te following page:
https://askubuntu.com/questions/815032/how-can-i-quickly-disable-standby-lid-off-in-ubuntu-unity-16-04

Regards

@burkingman
Copy link

@Shemzone : I used the Lubuntu power management interface to associate lid closing with the "suspend" action. Physically closing the lid initiates the "suspend-to-idle" state (described here) with one small, possibly inconsequential error. Not the best sleep mode the E200HA can manage, but better than nothing. No custom script needed. Frozen processes resume when the lid is opened.

@Shemzone
Copy link

Thank you @burkingman, Unfortunatly, I don't have such settings wthin Ubuntu. The power management panel is quite minimalist (french here but there is no option to manage the lid status)
capture du 2018-01-19 21-50-00

@burkingman
Copy link

burkingman commented Jan 20, 2018

@Shemzone : Seems the "lid close" setting disappeared between Ubuntu 17.04 and 17.10. Some suggest installing Tweaks (gnome-tweak-tool). Haven't tried it myself.

@Shemzone
Copy link

@burkingman , thank you. I'll give it a try but I don't think that it will solve my issue with PC freeze while I browse with Chromium. But this is very off topic.

@kmbt
Copy link

kmbt commented Feb 3, 2018

Hi, let me put here some information related to things mentioned above. This is based on my experience with HP x2 (10-n140nw) which has quite similar hardware.

Random freezes

(This might by of interest to @Shemzone )

If you get random freezes try using Xorg instead of Wayland. You can do this in GDM - below the password prompt, click the gear icon an choose GNOME Xorg.

No speaker icon in gnome / pulseaudio problems

As @FireFlashie suggests above, if you don't get the speaker icon in gnome (due to pulseaudio problems) try turning off realtime scheduling by setting:

realtime-scheduling = no

in /etc/pulse/daemon.conf

Building the kernel

(This might be of interest to @aaguilarjimenez )

Usual Disclaimer: Please be aware that some kernel drivers which are not well tested might seriously mess up your hardware - including physical destruction. Proceed at your own risk. If i recall correctly, former version of one of the sound chips used with the Bay Trail/ Cherry Trail would cause speaker overheating leading to permanent malfunction, so this is something to have in mind.

If you wish to compile the kernel yourself, the basic route may go like this (I'm using Debian testing (Buster), but I believe for Ubuntu it's similar):

$ git clone --depth=1 -b topic/asus-e100h-4.13 https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
$ apt-get install build-essential fakeroot kernel-package libelf-dev
$ cd sound
$ make clean
$ cp /boot/config-$(uname -r) .config
$ make oldconfig
$ make menuconfig
$ fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers  -j `getconf _NPROCESSORS_ONLN`

Please note:
During the make oldconfig the setup will ask few questions about new config options. Make sure to answer m to the following:

ASoC Audio driver for Intel Baytrail and Cherrytrail with CX2072X codec (SND_SOC_INTEL_CHT_CX2072X_MACH) [N/m/?] (NEW)

In the menuconfig you can tweak the kernel configuration further.

In the parameters of make-kpkg you can substitute custom to any word or alphanumeric identifier that will be added to your kernel version name. This will be visible in grub and in the paths. It is good practice to change it (eg. by adding a number) each build. This way you won't get conflicts during the .deb install.
The -j parameters set the number of threads (in this case I set it to the number of cores.

If the build process goes fine, you should get two .deb files (for kernel image and for headers in the parent of the sound directory.

Hope this helps anyone :)

@Shemzone
Copy link

Shemzone commented Feb 4, 2018

@kmbt thank you so much for the time you spent. Actually I decided to reinstall completly Ubuntu 17.10 with 3 partitions (one for the system, one for my home and the last one for the swap) and the things go much better since.
In addition, I installed the kernel version from @FireFlashie and I modified the pulse daemon.conf as you and him adviced, and it works now under Gnome Xorg (I switched to Xorg instead of Wayland).
Thank you again. Now my E200ha works almost as expected, excepting hibernate state when closing the lid which lost the wifi connection every time.
Fred

@kmbt
Copy link

kmbt commented Feb 12, 2018

Hey, @Shemzone, I don't know how about you, but I was experiencing slight video tearing in Xorg which seems to by solved by a TearFree feature in config for Xorg. I've written a little paragraph on it in the post above, which might help if this is a problem for you too.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants