/linux-hp_ap0xxx

Linux kernel with a few patches to support HP Spectre x360 ap0xxxx models

Primary LanguageCOtherNOASSERTION

About this kernel
==================


*** This is not needed anymore as of official kernel 5.4.1:
- sound is supported in mainline now
- autorotation bug got patched
- Nvme suspend was worked on and seems to be way better (11% loss in 15h )
 ***

This is not an official maintained kernel, just a convenience repository for the time for the patches included to be included upstream. Use at your own risks !

This is based on https://github.com/thesofproject/linux/commits/topic/sof-dev for supporting the spectre x360 ap0xxxx digital mic array with merges from linux-stable upstream. 
Also added a patch to hid-sensor ( https://lkml.org/lkml/2019/3/8/2 ) to allow the accelerometer sensor to work ( fix autorotation )
And added a patch to the nvme driver ( https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1801875 ) to prevent the hynix drive to enter suspend ( bug in the drive firmware that cause extra power consumption in s2idle suspend mode  )

Don't forget to blacklist legacy modules ( snd-hda-intel and snd-soc-skl ).

It can be also useful for pulseaudio to know about the card mic ( load-module module-alsa-source device=hw:0,7 in /etc/pulse/default.pa, check your hw reference though ).

Tested and working on an 'HP Spectre x360 Convertible 13-ap0xxx'.

The default config was generated with make localmodconfig, it is very minimal and tailored for a barebone x360, so probably miss drivers you may needi, but compile faster. See below to use a default archlinux config instead.

To compile
==========

git clone https://github.com/gled-rs/linux-hp_ap0xxx;

cd linux-hp_ap0xxx;

cp default-arch-config .config; # optional, only if you want to use the default Archlinux config ( more modules compiled, try this if you have unsupported hardware missing drivers ).

cp mkinitcpio-ap0xxxx.preset /etc/mkinitcpio.d/linux-ap0xxxx.preset;

make -j9; # if you have 8 cores... adapt the number to your cores + 1;

sudo cp arch/x86_64/boot/bzImage /boot/vmlinuz-linux-ap0xxxx;

sudo make modules_install;

sudo mkinitcpio -p linux-ap0xxxx;

sudo grub-mkconfig -o /boot/grub/grub.cfg;

To update
=========

git pull

make -j9

sudo cp arch/x86_64/boot/bzImage //boot/vmlinuz-linux-ap0xxxx;

sudo make modules_install;

sudo mkinitcpio -p linux-ap0xxxx;

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.