diff --git a/.github/workflows/build-katsu.yml b/.github/workflows/build-katsu.yml index 3a28a65..6711cde 100644 --- a/.github/workflows/build-katsu.yml +++ b/.github/workflows/build-katsu.yml @@ -135,6 +135,19 @@ jobs: - gnome/gnome-live - plasma/plasma-live - xfce/xfce-live + - ports/surface/flagship-live + - ports/surface/gnome-live + - ports/surface/plasma-live + - ports/surface/xfce-live + exclude: + - arch: aarch64 + variant: ports/surface/flagship-live + - arch: aarch64 + variant: ports/surface/gnome-live + - arch: aarch64 + variant: ports/surface/plasma-live + - arch: aarch64 + variant: ports/surface/xfce-live runs-on: ${{ matrix.arch == 'x86_64' && 'ubuntu-latest' || 'arm64' }} container: image: ghcr.io/terrapkg/builder:f41 diff --git a/katsu/modules/base/repodir/linux-surface.repo b/katsu/modules/base/repodir/linux-surface.repo new file mode 100644 index 0000000..37a8e5c --- /dev/null +++ b/katsu/modules/base/repodir/linux-surface.repo @@ -0,0 +1,10 @@ +[linux-surface] +name=Surface Kernel +baseurl=https://pkg.surfacelinux.com/fedora/f41/ +enabled=1 +skip_if_unavailable=1 +gpgkey=https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc +gpgcheck=1 +enabled_metadata=1 +type=rpm-md +repo_gpgcheck=0 \ No newline at end of file diff --git a/katsu/modules/ports/chromebook/mt8183/readme.md b/katsu/modules/ports/chromebook/mt8183/readme.md index 8260dd0..0ef6f43 100644 --- a/katsu/modules/ports/chromebook/mt8183/readme.md +++ b/katsu/modules/ports/chromebook/mt8183/readme.md @@ -4,4 +4,4 @@ This is our most complete port. Our reference device is the Lenovo Chromebook Du ## Known Issues -- Krane may loudly beep if the speakers are active within 15 seconds of sleep. +- Devices may loudly beep if the speakers are active within 15 seconds of sleep. diff --git a/katsu/modules/ports/surface/README.MD b/katsu/modules/ports/surface/README.MD new file mode 100644 index 0000000..a674d25 --- /dev/null +++ b/katsu/modules/ports/surface/README.MD @@ -0,0 +1,21 @@ +# Microsoft Surfaces + +These are not a new edition, they are simply Ultramarine with the Surface kernel preinstalled. + +Special thanks to the Linux Surface team. + +## Known Issues + +These are issues that the community has experienced personally in Ultramarine, there may be more issues covered in the [Linux Surface Wiki](https://github.com/linux-surface/linux-surface/wiki) + +### Surface Laptop Go + +- Intel Panel Self Refresh PSR causes screen tearing on Surface Laptop Go + To solve this, simply add `i915.enable_psr=0` to your kernel commandline. +- Touchpad may stop responding after resuming from suspend + You will have to reload the touchpad driver, see instructions on doing this after resume [here](https://github.com/linux-surface/linux-surface/wiki/Surface-Laptop-Go). + +### Surface Pro 3 + +- Type cover causes the system to randomly suspend in GNOME Edition +- Thermal management is less effective under Linux diff --git a/katsu/modules/ports/surface/flagship-live.yaml b/katsu/modules/ports/surface/flagship-live.yaml new file mode 100644 index 0000000..59a8b68 --- /dev/null +++ b/katsu/modules/ports/surface/flagship-live.yaml @@ -0,0 +1,31 @@ +builder: dnf + +import: + - ../../../base/base.yaml + - ../../../live/live.yaml + - ../../flagship/flagship.yaml + - surface.yaml + +distro: Ultramarine Linux 41 (Flagship Edition) + +out_file: ultramarine-flagship-41-surface.iso + +bootloader: grub + +kernel_cmdline: "quiet rhgb" + +iso: + volume_id: UM-Flagship-Live + +scripts: + post: + - id: flagship-live + name: Set up Flagship Live + file: ../../flagship/./flagship-live.sh + - id: surface.sh + name: Enable Surface Watchdog + file: ./surface.sh + +dnf: + releasever: 41 + exec: dnf4 diff --git a/katsu/modules/ports/surface/gnome-live.yaml b/katsu/modules/ports/surface/gnome-live.yaml new file mode 100644 index 0000000..dfde3d5 --- /dev/null +++ b/katsu/modules/ports/surface/gnome-live.yaml @@ -0,0 +1,31 @@ +builder: dnf + +import: + - ../../base/base.yaml + - ../../live/live.yaml + - ../../gnome/gnome.yaml + - surface.yaml + +distro: Ultramarine GNOME 41 + +out_file: ultramarine-gnome-41-surface.iso + +bootloader: grub + +kernel_cmdline: "quiet rhgb" + +iso: + volume_id: UM-Gn-Live + +scripts: + post: + - id: gnome-live + name: Set up GNOME Live + file: ../../gnome/./gnome-live.sh + - id: surface.sh + name: Enable Surface Watchdog + file: ./surface.sh + +dnf: + releasever: 41 + exec: dnf4 diff --git a/katsu/modules/ports/surface/plasma-live.yaml b/katsu/modules/ports/surface/plasma-live.yaml new file mode 100644 index 0000000..a69d075 --- /dev/null +++ b/katsu/modules/ports/surface/plasma-live.yaml @@ -0,0 +1,31 @@ +builder: dnf + +import: + - ../../base/base.yaml + - ../../live/live.yaml + - ../../plasma/plasma.yaml + - surface.yaml + +distro: Ultramarine Linux 41 (Plasma Edition) + +out_file: ultramarine-plasma-41-surface.iso + +scripts: + post: + - id: plasma-live + name: Set up Plasma Live + file: ../../plasma/./plasma-live.sh + - id: surface.sh + name: Enable Surface Watchdog + file: ./surface.sh + +bootloader: grub + +kernel_cmdline: "quiet rhgb" + +iso: + volume_id: UM-Kd-Live + +dnf: + releasever: 41 + exec: dnf4 diff --git a/katsu/modules/ports/surface/surface.sh b/katsu/modules/ports/surface/surface.sh new file mode 100644 index 0000000..88505ef --- /dev/null +++ b/katsu/modules/ports/surface/surface.sh @@ -0,0 +1,4 @@ +#!/bin/bash -x + +# enable the surface kernel watchdog to force grub to highlight it regardless of which entry it is +sudo systemctl enable linux-surface-default-watchdog.path diff --git a/katsu/modules/ports/surface/surface.yaml b/katsu/modules/ports/surface/surface.yaml new file mode 100644 index 0000000..2b3ff08 --- /dev/null +++ b/katsu/modules/ports/surface/surface.yaml @@ -0,0 +1,25 @@ +builder: dnf + +dnf: + releasever: 41 + exec: dnf4 + packages: + - kernel-surface + - iptsd + - libwacom-surface + - kernel-surface-devel + - ultramarine-release-surface + - surface-dtx-daemon + # Below for camera support + - intel-vsc-firmware + - libcamera + - libcamera-tools + - libcamera-qcam + - libcamera-gstreamer + - libcamera-ipa + - pipewire-plugin-libcamera + + exclude: + - kernel + - kernel-core + - kernel-devel* diff --git a/katsu/modules/ports/surface/xfce-live.yaml b/katsu/modules/ports/surface/xfce-live.yaml new file mode 100644 index 0000000..0dab1fd --- /dev/null +++ b/katsu/modules/ports/surface/xfce-live.yaml @@ -0,0 +1,31 @@ +builder: dnf + +import: + - ../../base/base.yaml + - ../../live/live.yaml + - ../../xfce/xfce.yaml + - surface.yaml + +distro: Ultramarine Linux 41 (Xfce Edition) + +out_file: ultramarine-xfce-41-surface.iso + +bootloader: grub + +kernel_cmdline: "quiet rhgb" + +iso: + volume_id: UM-Xfce-Live + +scripts: + post: + - id: xfce-live + name: Set up XFCE Live + file: ../../xfce/./xfce-live.sh + - id: surface.sh + name: Enable Surface Watchdog + file: ./surface.sh + +dnf: + releasever: 41 + exec: dnf4