Skip to content

Package Repositories

Taivas Jumala edited this page Mar 17, 2023 · 15 revisions

The following repositories aim to help you keep your kernel and accompanying software up-to-date. To this end, the Debian, Arch Linux, and Fedora repositories provide the latest kernels pre-compiled as binary packages and pre-signed for secure boot (see the secure boot page).

Debian Repository

The repository for Debian based distribution (including Ubuntu) can be found at https://pkg.surfacelinux.com/debian/.

Before adding the repository itself, you should import the keys we use to sign the packages. To do this, run the following two commands:

wget -qO - https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
    | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/linux-surface.gpg

After this, you can add the repository itself by running:

echo "deb [arch=amd64] https://pkg.surfacelinux.com/debian release main" | sudo tee /etc/apt/sources.list.d/linux-surface.list

Then update your local package lists:

sudo apt-get update

For more information on custom repositories, please have a look https://wiki.debian.org/SourcesList#Editing_software_sources.

Arch Linux Repository

The repository for Arch Linux based distribution can be found at https://pkg.surfacelinux.com/arch/.

This repository provides only binary kernel packages as well as the secure boot key. The utilities and tools (i.e. surface-dtx-daemon, surface-control, and libwacom-surface) can be found in the Arch user repository (AUR). Pre-compiled packages of the surface control utility and the DTX daemon are available under the -bin suffix (i.e. surface-control-bin).

Before adding this repository, you should first add the key used to sign the packages in it. You can do this by running the following commands:

curl -s https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
    | sudo pacman-key --add -

It is recommended that you now fingerprint it by running

sudo pacman-key --finger 56C464BAAC421453

and in a final step, you have to locally sign the key to trust it via

sudo pacman-key --lsign-key 56C464BAAC421453

More infos on this process can be found at https://wiki.archlinux.org/index.php/Pacman/Package_signing#Adding_unofficial_keys. You can now add the repository by editing /etc/pacman.conf and adding

[linux-surface]
Server = https://pkg.surfacelinux.com/arch/

at the end of the file. See https://wiki.archlinux.org/index.php/Pacman#Repositories_and_mirrors for details.

Fedora Repository

The repository for Fedora based distributions can be found at https://pkg.surfacelinux.com/fedora/.

You can add and enable this repository by running

sudo dnf config-manager \
    --add-repo=https://pkg.surfacelinux.com/fedora/linux-surface.repo

openSUSE Tumbleweed Repository

This repo is maintained by @Taivas Jumala on Open Build Service

Add repo by URL:

sudo zypper addrepo https://download.opensuse.org/repositories/home:/TaivasJumala:/Surface/openSUSE_Tumbleweed/home:TaivasJumala:Surface.repo

Refresh the repository

sudo zypper refresh

Gentoo Overlay

A package overlay for Gentoo is provided by @phunyguy, with instructions on how to use it at https://www.phuntoo.org/overlay. You may also want to look at his wiki page for running Gentoo on Microsoft Surface devices.

Clone this wiki locally