Gentoo Linux on Microsoft Surface devices
Find a file
2021-09-22 10:37:55 -07:00
app-misc Fixed perms for attach/detach scripts. 2021-08-01 21:34:57 -07:00
dev-libs/libwacom-surface First commit. 2021-07-27 12:35:19 -07:00
media-libs/libcamera Added missing IUSE v4l2. 2021-09-08 11:01:39 -07:00
metadata First commit. 2021-07-27 12:35:19 -07:00
profiles fixed (another) wrong name of repo. 2021-07-30 13:22:38 -07:00
sys-firmware/iptsd First commit. 2021-07-27 12:35:19 -07:00
sys-kernel/gentoo-surface-sources Forgot to update patchfile names (oops) 2021-09-22 10:37:55 -07:00
README.md Added linux surface url to readme. 2021-08-11 07:59:09 -07:00
repositories.xml fixed wrong name of repo. 2021-07-30 13:20:28 -07:00

Gentoo Linux Overlay with Linux Surface kernel and other utilities from linux-surface (https://github.com/linux-surface/linux-surface) repo.

This is a work in-progress, but most things do work!

Information

  • gentoo-surface-sources gentoo-sources with surface patchsets applied
  • iptsd utility is needed for touchscreen support. Enable system service after you install.
  • libwacom-surface improves touchscreen support.
  • surface-control commandline utility to control certain aspects of your surface device.
  • surface-dtx-daemon utility to control attach/detach of clipboard on Surface Book devices.
  • libcamera A complex camera support library for Linux, Android, and ChromeOS

Installation

Follow the Gentoo amd64 handbook (https://wiki.gentoo.org/wiki/Handbook:AMD64) pretty closely with these exceptions:

  1. You need systemd and a systemd profile. I'm a big fan of OpenRC and user choice, but the non-systemd init days in the desktop world are numbered - for better or worse!
  2. Disable secure boot (at least until after the install is finished, if you don't you will get stuck because the handbook does not cover signing kernel nor adding keys to mok.)
  3. You will need to mount your EFI partition (i.e. /dev/nvme0n1p1) somewhere under /boot (example: efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime) /dev/nvme0n1p1 on /boot/EFI type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro))
  4. grub-install will be something like: grub-install --target=x86_64-efi --efi-directory=/boot/EFI (you'll need to adjust for your specific setup)

Post-Installation

  1. Add this overlay (i.e. 'layman -a gentoo-linux-surface-overlay')
  2. emerge at least gentoo-surface-sources, iptsd, libwacom-surface, and surface-control (libcamera if you want camera support and surface-dtx-daemon if you have a surface book.)

Configuraton

  1. For the kernel I have includeed a sample config in /usr/src/gentoo-surface-sources-/EXAMPLE.config that you can cp to .config and use as-is if you like
  2. If you want keyboard to work correctly during boot the easiest solution is to just include all kernel modules in the initrd image (for genkernel users add/edit /etc/genkernel.conf: ALLRAMDISKMODULES="yes")
  3. Enable itpsd: systemctl enable --now iptsd
  4. If you have a surface book, enable the dtx daemons (system and user): 'systemctl enable --now surface-dtx-daemon.service' (as root) and 'systemctl enable --user --now surface-dtx-userd.service' (as your regular non-root user.)

This repo was initally forked from one by Parinthapat Parinz: https://github.com/Parinz/linux-surface-overlay but has since been updated, add to, and improved upon.

This repo/project is in no way supported by nor endorced by Gentoo or the Surface Linux project(s).