valve-jupiter: new device (MR 3877)

Note that only the "linux-edge" kernel is used, and it's likely that
this kernel is still missing some functionality. I'd like to avoid using
a downstream/forked kernel if at all possible...

I chose to use gummiboot for now, since it's really simple to configure.
This can be moved to a more "standard" EFI boot mechanism once pmOS
figures that out.

[ci:skip-build]: already built successfully in CI
This commit is contained in:
Clayton Craft 2023-02-16 12:43:19 -08:00 committed by Oliver Smith
parent 2d5a9d7d0a
commit 34908d3fee
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
4 changed files with 98 additions and 0 deletions

View file

@ -0,0 +1,2 @@
[org.gnome.desktop.interface]
scaling-factor=2

View file

@ -0,0 +1,68 @@
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=device-valve-jupiter
pkgdesc="Valve Steam Deck"
pkgver=0.1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="x86_64"
options="!check !archcheck"
depends="
gummiboot
linux-edge
linux-firmware-none
postmarketos-base
"
makedepends="devicepkg-dev"
subpackages="
$pkgname-gnome-mobile:gnome_mobile
$pkgname-nonfree-firmware:nonfree_firmware
$pkgname-vulkan
"
source="
00-scaling-factor.gschema.override
deviceinfo
initramfs.modules
"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/initramfs.modules \
"$pkgdir"/usr/share/mkinitfs/modules/jupiter.modules
}
nonfree_firmware() {
pkgdesc="Firmware for the Steam Deck"
depends="
linux-firmware-amdgpu
linux-firmware-cirrus
linux-firmware-rtl_bt
linux-firmware-rtw88
"
mkdir -p "$subpkgdir"
}
vulkan() {
install_if="$pkgname=$pkgver-r$pkgrel vulkan-loader"
depends="mesa-vulkan-ati"
mkdir "$subpkgdir"
}
gnome_mobile() {
install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-gnome-mobile"
install -Dm644 "$srcdir"/00-scaling-factor.gschema.override \
-t "$subpkgdir"/usr/share/glib-2.0/schemas/
}
sha512sums="
f2b0e3bf013b87e13828f95d3db7327c7afee33a0703d764ea5b96f0f791a01af2f2685ab5b17db1729fe68e78fd0e39f3a9b2f53530aa493897066d87b43248 00-scaling-factor.gschema.override
4c6da65957641ece0c823dc913d83868cd990aaaab2b379e51ea2b0868bd7797da2782e824acebdf4b1d833e84673b65323b827d7001cefa9f9b9006be897b12 deviceinfo
43e5218da859222d54a6a32b618ada8ce14c5f7f1f8e7f0efffadd2df6a05051221ee612fd04d067f956935e4b9eb3321863a2ccd32abcf5fc878e6b0ee84aef initramfs.modules
"

View file

@ -0,0 +1,26 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell
# scripts.
deviceinfo_format_version="0"
deviceinfo_name="Valve Steam Deck"
deviceinfo_manufacturer="Valve"
deviceinfo_codename="valve-jupiter"
deviceinfo_year="2022"
deviceinfo_modules_initfs="amd-pmc amd-sfh-hid ahci ehci_hcd ehci_pci hid_generic jbd2 libahci libata mbcache mmc_block mmc_core pwm_vibra scsi_mod sd sd_mod sdhci sdhci-pci sdhci_acpi sg uas usb usb_storage usbhid xhci_hcd xhci_pci"
deviceinfo_arch="x86_64"
deviceinfo_gpu_accelerated="true"
# Device related
deviceinfo_chassis="tablet"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="1280"
deviceinfo_screen_height="800"
deviceinfo_framebuffer_landscape="true"
deviceinfo_kernel_cmdline="console=tty1 fbcon=rotate:1 fbcon=vc:4-6 spi_amd.speed_dev=1 amdgpu.gttsize=8128 amd_iommu=off tsc=directsync"
# Bootloader related
deviceinfo_flash_method="none"
deviceinfo_generate_gummiboot="true"
deviceinfo_partition_type="gpt"
deviceinfo_boot_filesystem="fat32"

View file

@ -0,0 +1,2 @@
# Support for the Steam controller
hid-steam