# Reference: Getting new skylake / sunpoint laptops to work

## muhlemmer

I've been struggling to get all the devices with their drivers to work on my new Skylake / Sunrise laptop chip-set. To make life easier for other out there, I would like to open this thread with the issues I got and how I solved them (still work in progress. This laptop is purchased from BTO, the Netherlands and, like the company name, it's build to order. Meaning, it's not a mayor brand laptop like Asus, HP etc.

List of issues:

DRM not working

NVMe device not showing up in UEFI boot mode (already started a thread on this one)

No PCIe bridge drivers loaded

WiFi not working

No sound

Battery indication in KDE not working, lots of ACPI table warnings in dmesg (seems that ACPI is not working)

Can't power off laptop without holding power button after halt. Reboot works (probably also ACPI related)

Laptop buttons not working

Misc controllers without drivers

Current status up till now:

1. DRM not working

Sky Lake Integrated Graphics. Solved by pulling in kernel linux-4.4.* and sys-kernel/linux-firmware-20151207. Since I compile my DRM driver into kernel, I needed to include the following firmware files: i915/skl_dmc_ver1.bin i915/skl_guc_ver1.bin i915/skl_guc_ver4.bin. You can try your luck with stable linux-4.1.15 and "Enable preliminary support for prerelease Intel hardware by default ". Don't forget to deselect all the framebuffer devices, like me   :Embarassed: 

3. PCIe bridge drivers not loaded

Solved by linux-4.4.* and pcieport driver.

4. WiFi not working

This is a Intel Dual Band Wireless AC 3165. Same thing, needed linux-4.4.* and recent linux-firmware to make it work. One needs to select "Intel Wireless WiFi MVM Firmware support" under iwlwifi driver also.

5. No sound

Sunrise Point-H HD Audio, with realtek chip. Need >sys-kernel/linux-firmware-20151207. So at the moment of this writing you'll need version 99999999 to pull in the latest GIT version. Since I kept puzzling how to get it work, I just selected all the codecs as Modules. In the end the system loaded these: snd_hda_codec_realtek, snd_hda_codec_hdmi, snd_hda_codec_generic, snd_hda_codec, snd_hda_intel. I'm not sure if it mattered in the end, but I also pulled in media-sound/alsa-utils-1.1.0 and media-libs/alsa-lib-1.1.0

As a reference my output of lspci -kvm up to this point:

```
Device: 00:00.0

Class:  Host bridge

Vendor: Intel Corporation

Device: Sky Lake Host Bridge/DRAM Registers

SVendor:        CLEVO/KAPOK Computer

SDevice:        Sky Lake Host Bridge/DRAM Registers

Rev:    07

Device: 00:02.0

Class:  VGA compatible controller

Vendor: Intel Corporation

Device: Sky Lake Integrated Graphics

SVendor:        CLEVO/KAPOK Computer

SDevice:        Sky Lake Integrated Graphics

Rev:    06

Driver: i915

Device: 00:14.0

Class:  USB controller

Vendor: Intel Corporation

Device: Sunrise Point-H USB 3.0 xHCI Controller

SVendor:        CLEVO/KAPOK Computer

SDevice:        Sunrise Point-H USB 3.0 xHCI Controller

Rev:    31

ProgIf: 30

Driver: xhci_hcd

Device: 00:14.2

Class:  Signal processing controller

Vendor: Intel Corporation

Device: Sunrise Point-H Thermal subsystem

SVendor:        CLEVO/KAPOK Computer

SDevice:        Sunrise Point-H Thermal subsystem

Rev:    31

Device: 00:16.0

Class:  Communication controller

Vendor: Intel Corporation

Device: Sunrise Point-H CSME HECI #1

SVendor:        CLEVO/KAPOK Computer

SDevice:        Sunrise Point-H CSME HECI

Rev:    31

Device: 00:17.0

Class:  SATA controller

Vendor: Intel Corporation

Device: Device a102

SVendor:        CLEVO/KAPOK Computer

SDevice:        Device 3568

Rev:    31

ProgIf: 01

Driver: ahci

Device: 00:1c.0

Class:  PCI bridge

Vendor: Intel Corporation

Device: Sunrise Point-H PCI Express Root Port #3

Rev:    f1

Driver: pcieport

Device: 00:1c.3

Class:  PCI bridge

Vendor: Intel Corporation

Device: Sunrise Point-H PCI Express Root Port #4

Rev:    f1

Driver: pcieport

Device: 00:1c.5

Class:  PCI bridge

Vendor: Intel Corporation

Device: Sunrise Point-H PCI Express Root Port #6

Rev:    f1

Driver: pcieport

Device: 00:1d.0

Class:  PCI bridge

Vendor: Intel Corporation

Device: Sunrise Point-H PCI Express Root Port #13

Rev:    f1

Driver: pcieport

Device: 00:1f.0

Class:  ISA bridge

Vendor: Intel Corporation

Device: Sunrise Point-H LPC Controller

SVendor:        CLEVO/KAPOK Computer

SDevice:        Sunrise Point-H LPC Controller

Rev:    31

Device: 00:1f.2

Class:  Memory controller

Vendor: Intel Corporation

Device: Sunrise Point-H PMC

SVendor:        CLEVO/KAPOK Computer

SDevice:        Sunrise Point-H PMC

Rev:    31

Device: 00:1f.3

Class:  Audio device

Vendor: Intel Corporation

Device: Sunrise Point-H HD Audio

SVendor:        CLEVO/KAPOK Computer

SDevice:        Sunrise Point-H HD Audio

Rev:    31

Driver: snd_hda_intel

Module: snd_hda_intel

Device: 00:1f.4

Class:  SMBus

Vendor: Intel Corporation

Device: Sunrise Point-H SMBus

SVendor:        CLEVO/KAPOK Computer

SDevice:        Sunrise Point-H SMBus

Rev:    31

Driver: i801_smbus

Device: 00:1f.6

Class:  Ethernet controller

Vendor: Intel Corporation

Device: Ethernet Connection (2) I219-V

SVendor:        CLEVO/KAPOK Computer

SDevice:        Ethernet Connection (2) I219-V

Rev:    31

Driver: e1000e

Module: e1000e

Device: 01:00.0

Class:  Network controller

Vendor: Intel Corporation

Device: Wireless 3165

SVendor:        Intel Corporation

SDevice:        Dual Band Wireless AC 3165

Rev:    81

Driver: iwlwifi

Module: iwlwifi

Device: 02:00.0

Class:  Unassigned class [ff00]

Vendor: Realtek Semiconductor Co., Ltd.

Device: RTS5229 PCI Express Card Reader

SVendor:        CLEVO/KAPOK Computer

SDevice:        RTS5229 PCI Express Card Reader

Rev:    01

Driver: rtsx_pci

Module: rtsx_pci

Device: 04:00.0

Class:  Non-Volatile memory controller

Vendor: Samsung Electronics Co Ltd

Device: Device a802

SVendor:        Samsung Electronics Co Ltd

SDevice:        Device a801

Rev:    01

ProgIf: 02

Driver: nvme
```

----------

## Roman_Gruber

 *Quote:*   

> Laptop buttons not working 

 

sometimes they work with the experimental features / wmi stuff of kernels. 

See my bug at kernel.org

https://bugzilla.kernel.org/show_bug.cgi?id=106901

The only way is to generate the same bug report I did for the keys. Feel free to reutilize on how I did it.

it seems there is a new way of handling stuff, called wmi. and guess what windows bla bla bla standard, and its broken, badly implemented by uefi.

any manufacturer has a support forum. bug them there tell them their hardware is not working and you will not buy anything from them again. when complaints pile up they may do something.

----------

## pa4wdh

Which BTO laptop do you have ? I'm considering a BTO laptop (i am/was planning to place the order this weekend, looking at the 14" U-book model).

----------

## muhlemmer

 *pa4wdh wrote:*   

> Which BTO laptop do you have ? I'm considering a BTO laptop (i am/was planning to place the order this weekend, looking at the 14" U-book model).

 

V-book 15 inch. It is a good price, you get for the performance and you have the option not to buy Windows  :Very Happy: . But I find that the technology is a bit new, so expect to some troubles on the road. Don't expect to use any life CD out there with a LTS / latest stable kernel to boot to OS with network and graphics support. I just used my old laptop to install Gentoo in a chroot on a USB disk with the latest gentoo-sources in ~arch, boot from there and copy the root and kernel over to my new laptop. Configured the profiles, USE and build flags after that on my new laptop.

----------

## pa4wdh

 *muhlemmer wrote:*   

> 
> 
> V-book 15 inch. It is a good price, you get for the performance and you have the option not to buy Windows .
> 
> 

 

Which is exactly what got me interested in BTO, i've emailed them and they are even willing to remove their "free trial" version \o/

 *Quote:*   

> 
> 
> But I find that the technology is a bit new, so expect to some troubles on the road.
> 
> 

 

Which is exactly what is holding me back after reading your initial post  :Smile: 

 *Quote:*   

> 
> 
> Don't expect to use any life CD out there with a LTS / latest stable kernel to boot to OS with network and graphics support. I just used my old laptop to install Gentoo in a chroot on a USB disk with the latest gentoo-sources in ~arch, boot from there and copy the root and kernel over to my new laptop. Configured the profiles, USE and build flags after that on my new laptop.

 

That sounds doable. So the drivers are basically there, but in kernels which are not (yet) marked as stable ?

----------

## pa4wdh

@muhlemmer

I got my laptop about a week ago and all the important parts are working. A recent kernel (4.5.x) and linux-firmware (20160331) did the trick. I only thing that isn't working for now is the built-in SD/MMC cardreader, Is it working for you ? And if so, which kernel modules are you using ?

Thanks in advance.

----------

## Roman_Gruber

htose sd card readers are most usb ones, check the usb section of your kernel, and kernel related logs, also check if htose are turned on.

----------

## pa4wdh

In neither lspci or lsusb i can find anything i can identify as the cardreader. Once i know the  device i know how to find the correct driver for it.

These are my lsusb and lspci:

lsusb:

```
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 003: ID 04f2:b551 Chicony Electronics Co., Ltd

Bus 001 Device 002: ID 8087:0a2b Intel Corp

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

```

lspci:

```
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 08)

00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 07)

00:14.0 USB controller: Intel Corporation Device 9d2f (rev 21)

00:14.2 Signal processing controller: Intel Corporation Device 9d31 (rev 21)

00:16.0 Communication controller: Intel Corporation Device 9d3a (rev 21)

00:17.0 SATA controller: Intel Corporation Device 9d03 (rev 21)

00:1c.0 PCI bridge: Intel Corporation Device 9d10 (rev f1)

00:1c.1 PCI bridge: Intel Corporation Device 9d11 (rev f1)

00:1f.0 ISA bridge: Intel Corporation Device 9d48 (rev 21)

00:1f.2 Memory controller: Intel Corporation Device 9d21 (rev 21)

00:1f.3 Audio device: Intel Corporation Device 9d70 (rev 21)

00:1f.4 SMBus: Intel Corporation Device 9d23 (rev 21)

01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5287 (rev 01)

01:00.1 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 12)

02:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)

```

----------

## Ant P.

 *pa4wdh wrote:*   

> In neither lspci or lsusb i can find anything i can identify as the cardreader.

 

By process of elimination, it must be this one...

 *Quote:*   

> 
> 
> ```
> 01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5287 (rev 01)
> ```
> ...

 

Try this:

```

Device Drivers -->

  Multifunction device drivers -->

    <Y> Realtek PCI-E card reader

  <Y> MMC/SD/SDIO card support -->

    <Y> Realtek PCI-E SD/MMC Card Interface Driver

```

----------

## pa4wdh

Thanks for your help Ant P., that is indeed correct !

I just recompiled my kernel to include these drivers and it works.

----------

## Martux

I guess I had luck mostly with mine (Schenker S306 btw)

```

Linux ultrabook 4.5.2-gentoo #1 SMP PREEMPT Wed Apr 20 23:16:58 CEST 2016 x86_64 Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz GenuineIntel GNU/Linux
```

Almost everything works, even keyboard LEDs and special keys.

Things not working/issues:

-Screen flickering with the xf86-video-intel driver, no matter what version.

-After suspend, KDE doesn't react to mouse clicks. I have to change VTs twice(!), then it works   :Shocked: 

-The intel 8260 WIFI card will not reliably detect the 5Ghz network. I have to deactivate/activate wifi several times to get it working. That's by far the most annoying issue.

----------

## Ant P.

 *Martux wrote:*   

> -After suspend, KDE doesn't react to mouse clicks. I have to change VTs twice(!), then it works

 

That's odd. I get the same thing sometimes on my completely mundane desktop, with the same workaround (well, I could unplug the mouse but that loses my xset settings), except it only ever happens after a display DPMS suspend. Feels like it only started happening in the last few months too...

----------

## Martux

Update:

WIFI issue has magically disappeared (it was maybe an issue with powertop).

Screen flickering is gone with recent kernel/firmware/graphics update. Happy camper  :Smile: 

----------

## muhlemmer

 *pa4wdh wrote:*   

> @muhlemmer
> 
> I got my laptop about a week ago and all the important parts are working. A recent kernel (4.5.x) and linux-firmware (20160331) did the trick. I only thing that isn't working for now is the built-in SD/MMC cardreader, Is it working for you ? And if so, which kernel modules are you using ?
> 
> Thanks in advance.

 

Do you have ACPI working? Does the system power off normally? I don;t have battery indications and during shut-down the system is stuck at "reboot: system halted". Had these issues since forever and hoped that support will come with newer kernel, but maybe I'm missing something in the config. Now at vanilla-4.8.1

----------

## bandreabis

May I profit?

Is your HDMI output working?

----------

## muhlemmer

 *bandreabis wrote:*   

> May I profit?
> 
> Is your HDMI output working?

 

Yes, works. Just that in KDE the sound output is not enabled after hotplug and I lost my patience with that. If I'm watching movies with SMplayer, I can manually select the HDMI as sound output and it works. System sounds, Amarok etc doesn't.

----------

## muhlemmer

As for a general update of the situation. Since kernel 4.9 series the power-off is working, I'm able to fully boot in UEFI and mount NVMe devices etc. After recent releases of sys-kernel/linux-firmware I am now using the stable tree version 20161205 and kernel series 4.9 recently have a stable version as well. It is safe to conclude that this skylake hardware is supported by now without having to pull in development versions of kernels and firmware.

I still have some ACPI functionalities that are not working. I don't have power source info (battery nor adapter state) and stand-by doesn't work. If I have time I want to start to raise bugs to the mainline kernel bugzilla, but it's hard find resources how to write a good ACPI bug. Like what kind of info do they want to be included. Error logs? what verbosity level of the kernel? ACPI dirver specific debug info? acpidump output? Do I need to raise a bug for every specific missing function or one more general for this platform? Some advice and examples would be appreciated.

----------

