nixos-hardware/microsoft/surface
mexisme 61210f5e44 Update to kernel 5.10.19
- Add kernel 5.10.19 and latest linux-surface patches
- Remove kernel 5.10.2

commit 7250b8cbb40bc001109b1032b426ce9923335de0
Author: mexisme <wildjim+dev@kiwinet.org>
Date:   Fri Feb 5 08:38:10 2021 +1300

commit 90b210dfeeaf6f625e1b7f47dfc3a0b60f4172a6
Author: mexisme <wildjim+dev@kiwinet.org>
Date:   Fri Feb 5 08:37:41 2021 +1300

commit bbb5dec0e353f841612a1c3a3f933c56ede418b2
Author: mexisme <wildjim+dev@kiwinet.org>
Date:   Tue Feb 2 23:58:51 2021 +1300

commit bde79616d2795fcedc2d88161933713a9f37e3a7
Author: mexisme <wildjim+dev@kiwinet.org>
Date:   Tue Feb 2 23:58:35 2021 +1300

commit be5b9c91acaebe1e17d582a1f364995dadcc339d
Author: mexisme <wildjim+dev@kiwinet.org>
Date:   Tue Feb 2 23:57:54 2021 +1300
2021-03-06 17:37:13 +13:00
..
firmware Port of linux-surface/linux-surface Kernel patches to NixOS (#221) 2021-01-23 06:36:37 +00:00
kernel Update to kernel 5.10.19 2021-03-06 17:37:13 +13:00
default.nix Port of linux-surface/linux-surface Kernel patches to NixOS (#221) 2021-01-23 06:36:37 +00:00
hardware_configuration.nix Port of linux-surface/linux-surface Kernel patches to NixOS (#221) 2021-01-23 06:36:37 +00:00
README.md Port of linux-surface/linux-surface Kernel patches to NixOS (#221) 2021-01-23 06:36:37 +00:00
repos.nix Update to kernel 5.10.19 2021-03-06 17:37:13 +13:00
TODO.org Update to kernel 5.10.19 2021-03-06 17:37:13 +13:00

Derivatives for Microsoft Surface notebooks

These derivatives use the patches from the linux-surface repo.

Kernel

The kernel needs several patches to make it work correctly with some of the hardware on various Surface models, e.g. keyboard/trackpad, camera, wifi.

Not all hardware is fully supported, but the linux-surface feature matrix provides details on which devices are supported on which types of machine.

The kernel-specific derivations are under the kernel/ sub-directory. In order to simplify maintenance of the Nix code, only the most-recent kernel patch-set is expected to be maintained in this repo.

_NOTE:_Some built-in Kernel config items need to be set, that aren't set by default:

Firmware, Drivers and Support Tools

WiFi

For the Surface Go, please see the "Issues" sections below.

IPTS

IPTS is used on most of the Surface range, except for Surface Go and Surface Laptop 3 (AMD version).

Older kernels used specialised firmware which used a method that's no longer supported by the more-recent kernels.

Newer kernels use the kernel-space intel-precise-touch driver and user-space ipstd daemon.

The iptsd daemon works with the intel-precise-touch driver to convert raw touch data from the kernel-space driver into events for the HID / input sub-system.

DTX, surface-control

TODO

ToDo's Not Done

See: TODO.org

Issues

TLP daemon

TLP is known to cause problems on Surface unless correctly configured. See: https://github.com/linux-surface/linux-surface/blob/master/README.md

Wifi Firmware for Surface Go

On the Surface Go, the standard firmware from the official Linux Firmware repo has issues with the ath10k QCA6174 Wifi device. You will see messages like "Can't ping firmware" TODO - Copy messages from console

The most effective fix to-date is to remove the board-2.bin file or replace it with a copy of the board.bin file.

References: