You are not logged in.

#1 2024-09-02 19:39:04

trofo
Member
Registered: 2024-09-01
Posts: 8

PKGBUILD review: gamescope-shortcuts

In Steam, while running in a gamescope session, pressing CTRL + 2 opens the performance overlay. Unfortunately, this does not work when a game is running (only works in the SteamDeck UI). Bazzite developers have kindly provided the patch they're using in their OS. In this package I'm only applying the patch to the PKGBUILD of the official gamescope package.

Since this is my first package and I'm new to Arch, I would appreciate your review.

# PKGBUILD based on the official Arch gamescope PKGBUILD
# Maintainer - Laurentiu Trofosila <trofosila at gmail dot com>
# Contributor - Antheas Kapenekakis <github dot com slash antheas>

pkgname=gamescope-shortcuts
pkgver=3.14.29
pkgrel=1
pkgdesc='SteamOS session compositing window manager patched to allow accessing Performance Overlay from within games'
arch=(x86_64)
url=https://github.com/ValveSoftware/gamescope
license=(
  BSD-2-Clause
  BSD-3-Clause
  LicenseRef-Reshade
)
depends=(
  gcc-libs
  glibc
  lcms2
  libavif
  libcap.so
  libdecor
  libdrm
  libei
  libinput
  libpipewire-0.3.so
  libx11
  libxcb
  libxcomposite
  libxcursor
  libxdamage
  libxext
  libxfixes
  libxi
  libxkbcommon.so
  libxmu
  libxrender
  libxres
  libxtst
  libxxf86vm
  pixman
  sdl2
  seatd
  systemd-libs
  vulkan-icd-loader
  wayland
  xcb-util-errors
  xcb-util-wm
  xorg-server-xwayland
)
makedepends=(
  benchmark
  cmake
  git
  glslang
  meson
  ninja
  vulkan-headers
  wayland-protocols
)
_tag=db245f3963e5ee27ed41acdf4a50c65d6ed38932
source=(
  git+https://github.com/ValveSoftware/gamescope.git#tag=${_tag}
  git+https://gitlab.freedesktop.org/emersion/libdisplay-info.git
  git+https://gitlab.freedesktop.org/emersion/libliftoff.git
  git+https://github.com/ValveSoftware/openvr.git
  git+https://github.com/Joshua-Ashton/reshade.git
  git+https://github.com/KhronosGroup/SPIRV-Headers.git
  git+https://github.com/Joshua-Ashton/vkroots.git
  git+https://github.com/Joshua-Ashton/wlroots.git
  https://raw.githubusercontent.com/hhd-dev/handheld-gamescope/master/v3-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch
)
b2sums=('4a28e153f5ef63b73695b83cc5dea8352fc2b910dca2efc135f1542d89e229e9c397881d245cb9ab91cdd990085d8d385488af44616d49c3b2c0be8c63e669a3'
        'SKIP'
        'SKIP'
        'SKIP'
        'SKIP'
        'SKIP'
        'SKIP'
        'SKIP'
        'SKIP')

prepare() {
  cd gamescope

  meson subprojects download

  for submodule in src/reshade subprojects/{libdisplay-info,libliftoff,openvr,vkroots,wlroots} thirdparty/SPIRV-Headers; do
    git submodule init ${submodule}
    git config submodule.${submodule}.url ../${submodule##*/}
  done
  git -c protocol.file.allow=always submodule update

  patch -Np1 -i ../v3-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch
}

pkgver() {
  cd gamescope
  git describe --tags | sed 's/-//'
}

build() {
  arch-meson gamescope build \
    -Dforce_fallback_for=glm,stb,libdisplay-info,libliftoff,vkroots,wlroots \
    -Dpipewire=enabled
  meson compile -C build
}

package() {
  DESTDIR="${pkgdir}" meson install -C build \
    --skip-subprojects
  install -Dm 644 gamescope/LICENSE -t "${pkgdir}"/usr/share/licenses/gamescope/
}

# vim: ts=2 sw=2 et:

These are my notes regarding the workflow I plan to use in order to keep it in sync with the official gamescope package:
https://github.com/trofosila/gamescope-shortcuts-helper

This is what I'm trying to solve:
https://bbs.archlinux.org/viewtopic.php?id=299036

Last edited by trofo (2024-09-03 06:36:57)

Offline

#2 2024-09-08 19:45:01

trofo
Member
Registered: 2024-09-01
Posts: 8

Re: PKGBUILD review: gamescope-shortcuts

Following Arch's official gamescope lead, today I made the first version bump (3.14.29 -> 3.15.5). Everything went smooth.

For the next version bump I plan to improve the processes a bit: build and deploy locally (on my machine) and document the 'how to' in my helper repo. Felt very wrong when I pushed to AUR in order to verify it. Luckily it was OK this time but don't want to take any chance next time. I know I'm the only user of this package but still need to get more professional before having any other users.

Last edited by trofo (2024-09-08 19:49:57)

Offline

Board footer

Powered by FluxBB