Compare commits

..

2 Commits

Author SHA1 Message Date
madomado 5f7f09324b bump release
Signed-off-by: madomado <madonuko@outlook.com>
2024-08-02 00:41:24 +08:00
madonuko 11771e6787 fix(uutils): provides and conflicts 2024-08-01 23:41:11 +08:00
176 changed files with 1162 additions and 2685 deletions
-52
View File
@@ -1,52 +0,0 @@
name: Update per branch
on:
schedule:
- cron: "*/30 * * * *"
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-latest
strategy:
matrix:
branch:
- frawhide
- f39
- f40
- f41
- el9
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
- name: Install SSH signing key & Set up git repository
run: |
mkdir -p ${{ runner.temp }}
echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key
chmod 0700 ${{ runner.temp }}/signing_key
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Update
run: anda update -vv --filters updbranch=1 --labels branch=${{ matrix.branch }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUST_BACKTRACE: full
- name: Save
run: |
if [[ `git status --porcelain` ]]; then
git config user.name "Raboneko"
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(branch): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg"
git push -u origin --all
fi
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Update
run: anda update -vv --excludes nightly=1 --excludes updbranch=1
run: anda update -vv --excludes nightly=1
env:
GITHUB_TOKEN: ${{ secrets.AUTOUPDATE_GH_TOKEN }}
RUST_BACKTRACE: full
+6 -4
View File
@@ -1,7 +1,9 @@
# Contributing
First of all, thanks for being interested in contributing to Terra! If you have any questions about contributing, please [join our chats](https://wiki.ultramarine-linux.org/en/community/community/).
First of all, thanks for being interested in contributing to Terra! If you have any questions about contributing, please contact us on [Discord](https://discord.gg/5fdPuxTg5Q).
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
- [FAQ](https://developer.fyralabs.com/terra/faq)
- [Policy](https://developer.fyralabs.com/terra/policy)
## Documentations
* [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
* [FAQ](https://developer.fyralabs.com/terra/faq)
* [Policy](https://developer.fyralabs.com/terra/policy)
+3 -18
View File
@@ -7,31 +7,16 @@
Terra is a rolling-release Fedora repository for all the software you need.
With Terra, you can install the latest packages knowing that quality and security are assured.
See the introduction at [our website](https://terra.fyralabs.com).
This monorepo contains the package manifests for all packages in Terra.
## Installation
```bash
sudo dnf install --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' --setopt='terra.gpgkey=https://repos.fyralabs.com/terra$releasever/key.asc' terra-release
```
If you are using immutable/atomic editions of Fedora, run the following commands instead:
```bash
curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo | pkexec tee /etc/yum.repos.d/terra.repo
sudo rpm-ostree install terra-release
```
You should also install the `terra-release` package so that when our infrastructure has any migrations, you can be assured that your Terra installation will still work as-is.
## Documentation
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/).
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/). Alternatively, the GitHub Wiki contains older versions of the documentations.
## Questions?
Feel free to reach out by [joining our community](https://wiki.ultramarine-linux.org/en/community/community/). We're always happy to help!
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
- [FAQ](https://developer.fyralabs.com/terra/faq)
- [Policy](https://developer.fyralabs.com/terra/policy)
Feel free to reach out on [Discord](https://discord.gg/5fdPuxTg5Q). We're always happy to help!
+4 -4
View File
@@ -2,11 +2,11 @@
%global _build_id_links none
%ifarch x86_64
%global src ArmCord-%version-linux-x64
%global src ArmCord-%version
%elifarch aarch64
%global src ArmCord-%version-linux-arm64
%global src ArmCord-%version-arm64
%elifarch armv7l
%global src ArmCord-%version-linux-armv7l
%global src ArmCord-%version-armv7l
%endif
# Exclude private libraries
@@ -14,7 +14,7 @@
%global __provides_exclude_from %{_datadir}/armcord/.*\\.so
Name: armcord-bin
Version: 3.3.0
Version: 3.2.7
Release: 1%?dist
License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience
+6 -9
View File
@@ -1,16 +1,15 @@
%define debug_package %nil
Name: armcord
Version: 3.3.0
Version: 3.2.7
Release: 1%?dist
License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience
URL: https://github.com/ArmCord/ArmCord
Group: Applications/Internet
Source1: launch.sh
Packager: madonuko <mado@fyralabs.com>
Requires: electron xdg-utils
BuildRequires: git-core add-determinism pnpm
BuildRequires: nodejs-npm git add-determinism
Conflicts: armcord-bin
BuildArch: noarch
@@ -38,8 +37,8 @@ EOF
%build
pnpm install --no-frozen-lockfile
pnpm run packageQuick
npx pnpm@7 install --no-frozen-lockfile
npm run packageQuick
%install
@@ -51,16 +50,13 @@ install -Dm644 build/icon.png %buildroot/usr/share/pixmaps/armcord.png
%files
%doc README.md
%license license.txt
%license LICENSE
/usr/bin/armcord
/usr/share/applications/ArmCord.desktop
/usr/share/pixmaps/armcord.png
/usr/share/armcord/app.asar
%changelog
* Mon Aug 26 2024 madonuko <mado@fyralabs.com> - 3.3.0-1
- Update to license.txt
* Sat Jun 17 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.2.0-2
- Remove libnotify dependency.
- Fix desktop entry.
@@ -68,3 +64,4 @@ install -Dm644 build/icon.png %buildroot/usr/share/pixmaps/armcord.png
* Sat May 6 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.1.7-1
- Initial package
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary-openasar
Version: 0.0.479
Version: 0.0.464
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary
Version: 0.0.479
Version: 0.0.464
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: discord.com
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-openasar
Version: 0.0.66
Version: 0.0.62
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb-openasar
Version: 0.0.101
Version: 0.0.97
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb
Version: 0.0.101
Version: 0.0.97
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers.
URL: https://discord.com
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord
Version: 0.0.66
Version: 0.0.62
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
+2 -2
View File
@@ -1,5 +1,5 @@
%global commit 943fc151f7c1927cb450456de9bb838311d9cc24
%global commit_date 20240831
%global commit 5eb42335e0ccbf3558b1d285348d7c02906c931d
%global commit_date 20240801
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: envision
+2 -2
View File
@@ -5,9 +5,9 @@
%global pure_protobuf_version 2.0.0
Name: komikku
Version: 1.56.0
Version: 1.51.1
%forgemeta
Release: 1%?dist
Release: %autorelease
Summary: A manga reader for GNOME
BuildArch: noarch
+2 -2
View File
@@ -1,6 +1,6 @@
%global commit 7c672e33a5eab0564383127c8837b1034a84357b
%global commit dcb4b491b2077be370cf5295ff4021d1e6182817
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20240831
%global commit_date 20240801
%global ver 0.38.0
Name: mpv-nightly
+2 -2
View File
@@ -1,4 +1,4 @@
%global ver 2024-08-31
%global ver 2024-08-01
%global goodver %(echo %ver | sed 's/-//g')
%global __brp_mangle_shebangs %{nil}
%bcond_without mold
@@ -59,7 +59,7 @@ EOF
%install
cd desktop
%cargo_install
install -Dm644 assets/icon.svg %buildroot%_iconsdir/hicolor/scalable/apps/ruffle_desktop.svg
install -Dm644 assets/logo.svg %buildroot%_iconsdir/hicolor/scalable/apps/ruffle_desktop.svg
install -Dm644 ../ruffle_desktop.desktop %buildroot%_datadir/applications/ruffle_desktop.desktop
%changelog
+3 -11
View File
@@ -1,27 +1,19 @@
%define debug_package %nil
%global _build_id_links none
# do not strip binaries
%define __strip /bin/true
# do not perform compression in cpio
%define _source_payload w0.ufdio
%define _binary_payload w0.gzdio
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: voicevox
Version: 0.20.0
Release: 1%?dist
Version: 0.19.2
Release: 4%?dist
Summary: Free Japanese text-to-speech editor
License: LGPL-3.0
URL: https://voicevox.hiroshiba.jp
Source0: https://github.com/VOICEVOX/voicevox/releases/download/%version/VOICEVOX.AppImage.7z.001
Source1: https://github.com/VOICEVOX/voicevox/releases/download/%version/VOICEVOX.AppImage.7z.002
Source2: https://github.com/VOICEVOX/voicevox/releases/download/%version/VOICEVOX.AppImage.7z.003
Packager: madonuko <mado@fyralabs.com>
BuildRequires: p7zip-plugins
ExclusiveArch: x86_64
@@ -36,7 +28,7 @@ Summary: Documentation files for voicevox (Japanese)
%prep
cat<<EOF > voicevox.sh
#!/usr/bin/sh
#!/bin/sh
/usr/share/voicevox/VOICEVOX.AppImage
EOF
7z x %SOURCE0
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "youtube-music.spec"
}
}
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("th-ch/youtube-music"));
@@ -1,10 +0,0 @@
[Desktop Entry]
Name=YouTube Music
Exec=/usr/bin/youtube-music --no-sandbox %U
TryExec=/usr/bin/youtube-music
Icon=youtube-music
Terminal=false
Type=Application
StartupWMClass=YouTube Music
Comment=YouTube Music Desktop App - including custom plugins
Categories=AudioVideo;
@@ -1,91 +0,0 @@
%define debug_package %nil
# macro shorthand for calling pnpm
%global pnpm npx pnpm@%{pnpm_version}
Name: youtube-music
Version: 3.5.1
Release: 1%{?dist}
Summary: YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
Source1: youtube-music.desktop
License: MIT
URL: https://github.com/th-ch/youtube-music
Packager: Cappy Ishihara <cappy@fyralabs.com>
# For some unknown reason, PNPM is not working with Node.js 22 on Aarch64 devices.
# todo: investigate why
#ExclusiveArch: x86_64
BuildRequires: git-core gcc make
# Required for usocket native module built with node-gyp
BuildRequires: python3 gcc-c++
%description
YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
%prep
rm -rf ./*
git clone --recursive %{url} .
git checkout v%{version}
%build
# Vendor PNPM directly instead of installing from packages, because we need to somehow force PNPM to use Node.js 20
# We are not using Fedora's PNPM because we need to use `pnpm env`, which PNPM does not support when not vendored directly from upstream
curl -fsSL https://get.pnpm.io/install.sh | sh -
source /builddir/.bashrc
pnpm env use --global 20
pnpm install
pnpm build
pnpm electron-builder --linux --dir
%install
# Install assets
install -d -m 0755 %{buildroot}%{_datadir}/icons/hicolor/1024x1024/apps
install -d -m 0755 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
# Copy icon files
ls -laR pack
%ifarch aarch64
pushd pack/linux-arm64-unpacked/resources/app.asar.unpacked/assets
%else
pushd pack/linux-unpacked/resources/app.asar.unpacked/assets
%endif
install -m 0644 youtube-music.png %{buildroot}%{_datadir}/icons/hicolor/1024x1024/apps/youtube-music.png
install -m 0644 youtube-music.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/youtube-music.svg
install -m 0644 youtube-music-tray-paused.png %{buildroot}%{_datadir}/icons/hicolor/1024x1024/apps/youtube-music-tray-paused.png
install -m 0644 youtube-music-tray.png %{buildroot}%{_datadir}/icons/hicolor/1024x1024/apps/youtube-music-tray.png
popd
# Actually install the app
install -d -m 0755 %{buildroot}%{_datadir}/youtube-music
# Delete unpacked asar files before copying
rm -rfv pack/linux*-unpacked/resources/app.asar.unpacked
cp -rv pack/linux*-unpacked/* %{buildroot}%{_datadir}/youtube-music
install -d -m 0755 %{buildroot}%{_bindir}
ln -svf %{_datadir}/youtube-music/youtube-music %{buildroot}%{_bindir}/youtube-music
# Install desktop file
install -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/applications/youtube-music.desktop
%files
%license license
%doc README.md
%doc docs
%{_bindir}/youtube-music
%{_datadir}/youtube-music
%{_datadir}/icons/hicolor/*/apps/youtube-music*
%{_datadir}/applications/youtube-music.desktop
%changelog
* Sat Aug 03 2024 Cappy Ishihara <cappy@cappuchino.xyz>
- Initial Release
@@ -20,7 +20,7 @@ BuildRequires: fdupes
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(granite-7)
BuildRequires: pkgconfig(granite) >= 6.0.0
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-pbutils-1.0)
BuildRequires: pkgconfig(gtk+-3.0)
@@ -5,8 +5,8 @@
Name: elementary-files
Summary: File manager from elementary
Version: 7.0.0
Release: 1%?dist
Version: 6.5.3
Release: 1%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/%{srcname}
@@ -42,8 +42,6 @@ BuildRequires: pkgconfig(pango) >= 1.1.2
BuildRequires: pkgconfig(plank) >= 0.10.9
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(systemd) >= 206
BuildRequires: pkgconfig(libportal)
BuildRequires: pkgconfig(libportal-gtk3)
Requires: contractor
Requires: file-roller
@@ -78,7 +76,6 @@ This package contains the development headers.
%build
CFLAGS="$CFLAGS -Wno-implicit-function-declaration"
%meson -Dwith-zeitgeist=disabled
%meson_build
@@ -88,6 +85,11 @@ CFLAGS="$CFLAGS -Wno-implicit-function-declaration"
%find_lang %{appname}
%fdupes %buildroot%_datadir/icons/hicolor/
# remove unused pixmaps
rm -r %{buildroot}/%{_datadir}/pixmaps
# install file-roller contracts
mkdir -p %{buildroot}/%{_datadir}/contractor
cp -pav %{SOURCE1} %{buildroot}/%{_datadir}/contractor/
@@ -118,7 +120,7 @@ appstream-util validate-relax --nonet \
%{_bindir}/%{appname}-pkexec
%{_libdir}/%{appname}/
%{_libdir}/libpantheon-files-core.so.*
%{_libdir}/libpantheon-files-core.so.6*
%{_datadir}/applications/%{appname}.desktop
%{_datadir}/contractor/*.contract
@@ -3,8 +3,8 @@
Name: elementary-onboarding
Summary: Onboarding app for new users
Version: 8.0.0
Release: 1%?dist
Version: 7.2.0
Release: 2%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/onboarding
@@ -3,7 +3,7 @@
%global iface io.elementary.SettingsDaemon.AccountsService
Name: elementary-settings-daemon
Version: 8.1.0
Version: 8.0.0
Release: 1%?dist
Summary: Settings Daemon and Portal for Pantheon
License: GPL-3.0-or-later
@@ -3,7 +3,7 @@
Name: elementary-shortcut-overlay
Summary: Native, OS-wide shortcut overlay
Version: 8.0.1
Version: 8.0.0
Release: 1%?dist
License: GPL-3.0
@@ -3,7 +3,7 @@
Name: elementary-videos
Summary: Video player and library app from elementary
Version: 8.0.1
Version: 8.0.0
Release: 1%?dist
License: GPL-3.0-or-later
+2 -2
View File
@@ -2,8 +2,8 @@
Name: gala
Summary: Gala window manager
Version: 8.0.0
Release: 1%?dist
Version: 7.1.3
Release: 2%{?dist}
License: GPL-3.0-or-later
Epoch: 1
@@ -8,8 +8,8 @@
Name: switchboard-plug-bluetooth
Summary: Switchboard Bluetooth plug
Version: 8.0.0
Release: 1%?dist
Version: 2.3.6
Release: 1%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-bluetooth
@@ -8,8 +8,8 @@
Name: switchboard-plug-display
Summary: Switchboard Display plug
Version: 8.0.0
Release: 1%?dist
Version: 7.0.0
Release: 1%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-display
@@ -8,7 +8,7 @@
Name: switchboard-plug-keyboard
Summary: Switchboard Keyboard plug
Version: 8.0.1
Version: 8.0.0
Release: 1%?dist
License: GPL-3.0-or-later
@@ -8,7 +8,7 @@
Name: switchboard-plug-mouse-touchpad
Summary: Switchboard Mouse and Touchpad plug
Version: 8.0.1
Version: 8.0.0
Release: 1%?dist
License: GPL-3.0-or-later
@@ -8,7 +8,7 @@
Name: switchboard-plug-pantheon-shell
Summary: Switchboard Pantheon Shell plug
Version: 8.0.1
Version: 8.0.0
Release: 1%?dist
License: GPL-3.0
@@ -5,8 +5,8 @@
Name: wingpanel-applications-menu
Summary: Lightweight and stylish app launcher
Version: 8.0.0
Release: 1%?dist
Version: 2.11.1
Release: 2%?dist
License: GPL-3.0-or-later
URL: https://github.com/elementary/applications-menu
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-bluetooth
Summary: Bluetooth Indicator for wingpanel
Version: 8.0.0
Release: 1%?dist
Version: 7.0.1
Release: 1%{?dist}
License: LGPL-2.0-or-later
URL: https://github.com/elementary/%{name}
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-datetime
Summary: Datetime Indicator for wingpanel
Version: 2.4.2
Release: 1%?dist
Version: 2.4.1
Release: 1%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-datetime
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-keyboard
Summary: Keyboard Indicator for wingpanel
Version: 2.4.2
Release: 1%?dist
Version: 2.4.1
Release: 2%{?dist}
License: LGPL-2.0-or-later
URL: https://github.com/elementary/%{name}
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-network
Summary: Network Indicator for wingpanel
Version: 7.1.1
Release: 1%?dist
Version: 7.1.0
Release: 1%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-network
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-nightlight
Summary: Night Light Indicator for wingpanel
Version: 2.1.3
Release: 1%?dist
Version: 2.1.2
Release: 1%{?dist}
License: GPL-2.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-nightlight
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-notifications
Summary: Notifications Indicator for wingpanel
Version: 7.1.1
Release: 1%?dist
Version: 7.1.0
Release: 1%{?dist}
License: LGPL-2.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-notifications
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-power
Summary: Power indicator for wingpanel
Version: 8.0.0
Release: 1%?dist
Version: 6.2.1
Release: 1%{?dist}
License: GPL-2.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-power
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-sound
Summary: Sound Indicator for wingpanel
Version: 8.0.0
Release: 1%?dist
Version: 7.0.0
Release: 1%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/%{name}
@@ -6,8 +6,8 @@ launcher.}
Name: wingpanel
Summary: Stylish top panel
Version: 8.0.0
Release: 1%?dist
Version: 3.0.5
Release: 1%{?dist}
License: GPL-2.0-or-later
Epoch: 1
@@ -11,16 +11,15 @@ URL: https://github.com/fthx/appmenu-is-back
BuildArch: noarch
Source0: https://github.com/fthx/appmenu-is-back/archive/refs/tags/v%{version}.tar.gz
Patch0: https://github.com/fthx/appmenu-is-back/compare/v2..703a31acf900eb7bcab3462baeefa815ec7f13ab.patch
Requires: (gnome-shell >= 46~ with gnome-shell < 48~)
Requires: (gnome-shell >= 45~ with gnome-shell < 46~)
Recommends: gnome-extensions-app
%description
This extension brings back the app menu in the top panel, for GNOME 45 and later.
%prep
%autosetup -n appmenu-is-back-%{version} -p1
%autosetup -n appmenu-is-back-%{version}
%install
install -Dm644 metadata.json %{buildroot}%{_datadir}/gnome-shell/extensions/%{uuid}/metadata.json
@@ -1,6 +1,6 @@
%global forgeurl https://github.com/KDE/latte-dock/
%global commit 3f43a2ec5e6ef3d1c28636b420f49fd96f5d83a0
%global commit 31a6135fd9942a492fefecc69339b0802ecdce3b
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date %(date '+%Y%m%d')
%global snapshot_info %{commit_date}.%{shortcommit}
@@ -1,5 +1,5 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-app-launch
%global commit a057a37b56b96efddc7f42577407a3a08a0575cf
%global commit af441bdb31bb76b207119a8c91eef3fa93c0c078
%forgemeta
Name: lomiri-app-launch
@@ -1,5 +1,5 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
%global commit 849214f4bb1a40fae692e18fed5d599e0d8c7af1
%global commit 0f9ce94e628a245cb3a7e97a7a169cb94e04c9ea
%forgemeta
Name: lomiri-system-settings
@@ -1,4 +1,4 @@
%define _ubuntu_rel 7ubuntu1
%define _ubuntu_rel 1ubuntu4
Name: unity-session
Summary: Lightdm profile for Unity 7
@@ -1,5 +1,5 @@
Name: terra-blueprint-compiler
Version: 0.14.0
Version: 0.12.0
Release: 1%?dist
License: LGPL-3.0-or-later
Summary: Markup language for GTK user interfaces
+2 -2
View File
@@ -12,7 +12,7 @@
%endif
Name: codium
Version: 1.92.2.24228
Version: 1.91.1.24193
Release: 1%?dist
Summary: Code editing. Redefined.
License: MIT
@@ -52,7 +52,7 @@ cat <<EOF > vscodium-bin.desktop
Name=VSCodium
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/bin/codium --no-sandbox %F
Exec=/usr/bin/codium --no-sandbox --unity-launch %F
Icon=vscodium
Type=Application
StartupNotify=false
+2 -2
View File
@@ -1,6 +1,6 @@
%global commit 267ccdd069df388d0cfd80146c03fe13e1491c5d
%global commit 3400554f57b770760cb4cb58f15963399d13848e
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20240831
%global commit_date 20240801
Name: flow-control-nightly
Version: %commit_date.%shortcommit
+1 -1
View File
@@ -1,5 +1,5 @@
Name: flutter
Version: 3.24.1
Version: 3.22.3
Release: 1%?dist
Summary: SDK for crafting beautiful, fast user experiences from a single codebase
License: BSD-3-Clause
@@ -1,25 +0,0 @@
From 518d106d6d54bc65d37116e3c5bc940b5c93fb0e Mon Sep 17 00:00:00 2001
From: Philipp Trulson <der-eismann@users.noreply.github.com>
Date: Tue, 13 Aug 2024 10:22:14 +0200
Subject: [PATCH] Change path in systemd service to use package binary
---
utils/systemd/kvrocks.service | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/utils/systemd/kvrocks.service b/utils/systemd/kvrocks.service
index c0180b7c..17482b7a 100644
--- a/utils/systemd/kvrocks.service
+++ b/utils/systemd/kvrocks.service
@@ -6,7 +6,7 @@ After=network-online.target
[Service]
Type=notify
-ExecStart=/usr/local/bin/kvrocks -c /etc/kvrocks/kvrocks.conf
+ExecStart=/usr/bin/kvrocks -c /etc/kvrocks/kvrocks.conf
Restart=on-failure
ExecStop=/bin/kill -s TERM $MAINPID
RestartSec=10s
--
2.45.2
+2 -3
View File
@@ -1,11 +1,10 @@
Name: kvrocks
Version: 2.9.0
Release: 2%?dist
Release: 1%?dist
Summary: Distributed key value NoSQL database that uses RocksDB
License: Apache-2.0
URL: https://kvrocks.apache.org/
Source0: https://github.com/apache/kvrocks/archive/refs/tags/v%version.tar.gz
Patch0: 0001-Change-path-in-systemd-service-to-use-package-binary.patch
Requires: openssl
BuildRequires: autoconf
BuildRequires: cmake
@@ -20,7 +19,7 @@ Apache Kvrocks is a distributed key value NoSQL database that uses RocksDB as st
engine and is compatible with Redis protocol.
%prep
%autosetup -p1
%autosetup
%build
unset LDFLAGS
+4 -4
View File
@@ -1,7 +1,7 @@
%global _desc Tracy is a real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.
Name: tracy
Version: 0.11.1
Version: 0.11.0
Release: 1%?dist
Summary: A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.
License: BSD-3-Clause
@@ -27,7 +27,7 @@ This package contains the development files for the tracy package.
%meson
%meson_build
for project in capture csvexport import update profiler
for project in capture csvexport import-chrome import-fuchsia update profiler
do
pushd $project
%cmake -DDOWNLOAD_CAPSTONE=0
@@ -41,8 +41,8 @@ done
# NOTE: the subprojects don't have install targets so we do it manually
install -Dm755 capture/%__cmake_builddir/tracy-capture %buildroot%_bindir/tracy-capture
install -Dm755 csvexport/%__cmake_builddir/tracy-csvexport %buildroot%_bindir/tracy-csvexport
install -Dm755 import/%__cmake_builddir/tracy-import-chrome %buildroot%_bindir/tracy-import-chrome
install -Dm755 import/%__cmake_builddir/tracy-import-fuchsia %buildroot%_bindir/tracy-import-fuchsia
install -Dm755 import-chrome/%__cmake_builddir/tracy-import-chrome %buildroot%_bindir/tracy-import-chrome
install -Dm755 import-fuchsia/%__cmake_builddir/tracy-import-fuchsia %buildroot%_bindir/tracy-import-fuchsia
install -Dm755 update/%__cmake_builddir/tracy-update %buildroot%_bindir/tracy-update
install -Dm755 profiler/%__cmake_builddir/tracy-profiler %buildroot%_bindir/tracy
+3 -5
View File
@@ -1,7 +1,7 @@
%global commit a850731b0ed61b0ef2a0173843b6daedf45327e8
%global commit 33d06c4d9603b37885e7ddcc82fa06f4dcd83943
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20240831
%global ver 0.152.0
%global commit_date 20240801
%global ver 0.148.0
%bcond_with check
@@ -79,8 +79,6 @@ script/generate-licenses
install -Dm755 target/rpm/zed %{buildroot}%{_libexecdir}/zed-editor
install -Dm755 target/rpm/cli %{buildroot}%{_bindir}/zed
%__cargo clean
install -Dm644 %app_id.desktop %{buildroot}%{_datadir}/applications/%app_id.desktop
install -Dm644 crates/zed/resources/app-icon-nightly.png %{buildroot}%{_datadir}/pixmaps/%app_id.png
+1
View File
@@ -1,6 +1,7 @@
let releases = "https://api.github.com/repos/zed-industries/zed/releases".get().json_arr();
for release in releases {
let tag = release.tag_name;
tag.pop(4); // remove the "-pre" suffix
tag.crop(1); // remove "v"
rpm.global("ver", tag);
break;
+4 -6
View File
@@ -1,6 +1,6 @@
%bcond_with check
%global ver 0.151.1-pre
%global ver 0.147.0
# Exclude input files from mangling
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
# Use Mold as the linker
@@ -10,13 +10,13 @@
%global app_id dev.zed.Zed-Preview
Name: zed-preview
Version: %(echo %ver | sed 's/-/~/')
Version: %ver
Release: pre1%?dist
Summary: Zed is a high-performance, multiplayer code editor
License: MIT
URL: https://zed.dev/
Source0: https://github.com/zed-industries/zed/archive/refs/tags/v%{ver}.tar.gz
Source0: https://github.com/zed-industries/zed/archive/refs/tags/v%{ver}-pre.tar.gz
Conflicts: zed
Provides: zed
@@ -44,7 +44,7 @@ BuildRequires: vulkan-loader
Code at the speed of thought - Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
%prep
%autosetup -n %{crate}-%{ver} -p1
%autosetup -n %{crate}-%{ver}-pre -p1
%cargo_prep_online
export DO_STARTUP_NOTIFY="true"
@@ -75,8 +75,6 @@ script/generate-licenses
install -Dm755 target/rpm/zed %{buildroot}%{_libexecdir}/zed-editor
install -Dm755 target/rpm/cli %{buildroot}%{_bindir}/zed
%__cargo clean
install -Dm644 %app_id.desktop %{buildroot}%{_datadir}/applications/%app_id.desktop
install -Dm644 crates/zed/resources/app-icon-preview.png %{buildroot}%{_datadir}/pixmaps/%app_id.png
+1 -3
View File
@@ -9,7 +9,7 @@
%global app_id dev.zed.Zed
Name: zed
Version: 0.150.4
Version: 0.146.3
Release: 1%?dist
Summary: Zed is a high-performance, multiplayer code editor
@@ -75,8 +75,6 @@ script/generate-licenses
install -Dm755 target/rpm/zed %{buildroot}%{_libexecdir}/zed-editor
install -Dm755 target/rpm/cli %{buildroot}%{_bindir}/zed
%__cargo clean
install -Dm644 %app_id.desktop %{buildroot}%{_datadir}/applications/%app_id.desktop
install -Dm644 crates/zed/resources/app-icon.png %{buildroot}%{_datadir}/pixmaps/%app_id.png
+1 -1
View File
@@ -7,7 +7,7 @@
# https://github.com/containerd/containerd
%global goipath github.com/containerd/containerd
Version: 1.7.21
Version: 1.7.20
%gometa
+1 -1
View File
@@ -1,7 +1,7 @@
%define debug_package %{nil}
Name: moby-compose
Version: 2.29.2
Version: 2.29.1
Release: 1%?dist
Summary: Define and run multi-container applications with Docker
@@ -1,5 +1,5 @@
Name: sarasa-gothic-fonts
Version: 1.0.20
Version: 1.0.16
Release: 1%?dist
URL: https://github.com/be5invis/Sarasa-Gothic
Source0: %url/releases/download/v%version/Sarasa-TTC-%version.7z
@@ -1,36 +0,0 @@
From 5529e8ac8f3232ec6233e33286834548e1d8018d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Sun, 8 Oct 2023 22:10:33 +0200
Subject: [PATCH] <cstdint>
---
src/reshade/source/effect_parser_stmt.cpp | 1 +
src/reshade/source/effect_token.hpp | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/reshade/source/effect_parser_stmt.cpp b/src/reshade/source/effect_parser_stmt.cpp
index 7829729..f126be2 100644
--- a/src/reshade/source/effect_parser_stmt.cpp
+++ b/src/reshade/source/effect_parser_stmt.cpp
@@ -9,6 +9,7 @@
#include <cctype> // std::toupper
#include <cassert>
#include <functional>
+#include <limits>
#include <string_view>
struct on_scope_exit
diff --git a/src/reshade/source/effect_token.hpp b/src/reshade/source/effect_token.hpp
index 072d439..e4bb633 100644
--- a/src/reshade/source/effect_token.hpp
+++ b/src/reshade/source/effect_token.hpp
@@ -5,6 +5,7 @@
#pragma once
+#include <cstdint>
#include <string>
#include <vector>
--
2.41.0
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "gamescope-legacy.spec"
}
labels {
multilib = 1
}
}
@@ -1,129 +0,0 @@
%global libliftoff_minver 0.4.1
%global reshade_commit 4245743a8c41abbe3dc73980c1810fe449359bf1
%global reshade_shortcommit %(c=%{reshade_commit}; echo ${c:0:7})
%global _default_patch_fuzz 2
# =============================================================================
# IMPORTANT: This package should *not* have an update script, at least not one that
# tracks upstream Gamescope from Valve. This package is intended to be a legacy
# build for Polaris and older GPUs from AMD, and should not be updated to the
# latest version.
#
# This package however, should be obsoleted once https://github.com/ValveSoftware/gamescope/issues/1218
# is finally resolved, and Gamescope's Wayland backend has a fallback for GPUs without Vulkan DRM modifiers.
# =============================================================================
Name: gamescope-legacy
Version: 3.14.2
Release: 1%{?dist}
Summary: Legacy builds of gamescope, a micro-compositor for video games on Wayland
Packager: Cappy Ishihara <cappy@fyralabs.com>
License: BSD
URL: https://github.com/ValveSoftware/gamescope
Source0: %{url}/archive/%{version}/gamescope-%{version}.tar.gz
# Create stb.pc to satisfy dependency('stb')
Source1: stb.pc
Source2: https://github.com/Joshua-Ashton/reshade/archive/%{reshade_commit}/reshade-%{reshade_shortcommit}.tar.gz
Patch0: 0001-cstdint.patch
# https://hhd.dev/
Patch1: v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch
# ChimeraOS
Patch2: legacy-720p.patch
BuildRequires: meson >= 0.54.0
BuildRequires: ninja-build
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glm-devel
BuildRequires: google-benchmark-devel
BuildRequires: libXmu-devel
BuildRequires: libXcursor-devel
BuildRequires: pkgconfig(libdisplay-info)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xxf86vm)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(xres)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(vulkan)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-protocols) >= 1.17
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(libpipewire-0.3)
BuildRequires: pkgconfig(libavif)
BuildRequires: (pkgconfig(wlroots) >= 0.17.0 with pkgconfig(wlroots) < 0.18)
BuildRequires: (pkgconfig(libliftoff) >= 0.4.1 with pkgconfig(libliftoff) < 0.5)
BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(hwdata)
BuildRequires: spirv-headers-devel
# Enforce the the minimum EVR to contain fixes for all of:
# CVE-2021-28021 CVE-2021-42715 CVE-2021-42716 CVE-2022-28041 CVE-2023-43898
# CVE-2023-45661 CVE-2023-45662 CVE-2023-45663 CVE-2023-45664 CVE-2023-45666
# CVE-2023-45667
BuildRequires: stb_image-devel >= 2.28^20231011gitbeebb24-12
# Header-only library: -static is for tracking per guidelines
BuildRequires: stb_image-static
BuildRequires: stb_image_resize-devel
BuildRequires: stb_image_resize-static
BuildRequires: stb_image_write-devel
BuildRequires: stb_image_write-static
BuildRequires: vkroots-devel
BuildRequires: /usr/bin/glslangValidator
# libliftoff hasn't bumped soname, but API/ABI has changed for 0.2.0 release
Requires: libliftoff%{?_isa} >= %{libliftoff_minver}
Requires: xorg-x11-server-Xwayland
Requires: terra-gamescope-libs
Requires: terra-gamescope-libs(x86-32)
Recommends: mesa-dri-drivers
Recommends: mesa-vulkan-drivers
%description
%{name} is the micro-compositor optimized for running video games on Wayland. This is a legacy build primarily intended for use by Polaris GPUs.
%prep
%autosetup -p1 -a2 -N -n gamescope-%{version}
# Install stub pkgconfig file
mkdir -p pkgconfig
cp %{SOURCE1} pkgconfig/stb.pc
# Replace spirv-headers include with the system directory
sed -i 's^../thirdparty/SPIRV-Headers/include/spirv/^/usr/include/spirv/^' src/meson.build
# Push in reshade from sources instead of submodule
rm -rf src/reshade && mv reshade-%{reshade_commit} src/reshade
%autopatch -p1
%build
export PKG_CONFIG_PATH=pkgconfig
%meson -Dpipewire=enabled -Denable_gamescope_wsi_layer=false -Denable_openvr_support=false -Dforce_fallback_for=[]
%meson_build
%install
%meson_install
# Rename to not conflict with the base package
mv %{buildroot}%{_bindir}/gamescope %{buildroot}%{_bindir}/gamescope-legacy
%files
%license LICENSE
%doc README.md
%{_bindir}/gamescope-legacy
%changelog
%autochangelog
@@ -1,33 +0,0 @@
From 072ebb67cd4a88fd0f5db22a92a46f8316f28a46 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Tue, 25 Jul 2023 18:05:05 -0500
Subject: [PATCH] Set default to native resolution of display if Steam tries to
force 720p/800p
You can select 720p/800p still in game or via Steam's resolution setting
Steam > Settings > Display > Resolution
This effectively reverts the changes Valve made a year ago forcing us to
720p.
---
src/steamcompmgr.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp
index 52dd8d1cf..5b0fa6e52 100644
--- a/src/steamcompmgr.cpp
+++ b/src/steamcompmgr.cpp
@@ -5202,6 +5202,13 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev)
size_t server_idx = size_t{ xwayland_mode_ctl[ 0 ] };
int width = xwayland_mode_ctl[ 1 ];
int height = xwayland_mode_ctl[ 2 ];
+
+ if ( g_nOutputWidth != 1280 && width == 1280 )
+ {
+ width = g_nOutputWidth;
+ height = g_nOutputHeight;
+ }
+
bool allowSuperRes = !!xwayland_mode_ctl[ 3 ];
if ( !allowSuperRes )
-7
View File
@@ -1,7 +0,0 @@
prefix=/usr
includedir=${prefix}/include/stb
Name: stb
Description: Single-file public domain libraries for C/C++
Version: 0.1.0
Cflags: -I${includedir}
@@ -1,39 +0,0 @@
From 35e001dc59a44227d670c667a85a6ef5472eee58 Mon Sep 17 00:00:00 2001
From: antheas <git@antheas.dev>
Date: Sat, 20 Jul 2024 01:23:19 +0300
Subject: [PATCH v2] always send ctrl+1/2 to steam's wayland session
---
src/wlserver.cpp | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index 1852be9..7de737d 100644
--- a/src/wlserver.cpp
+++ b/src/wlserver.cpp
@@ -369,7 +369,12 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data)
keysym == XKB_KEY_XF86AudioLowerVolume ||
keysym == XKB_KEY_XF86AudioRaiseVolume ||
keysym == XKB_KEY_XF86PowerOff;
- if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && forbidden_key )
+
+ // Check for steam keys (ctrl + 1/2)
+ bool is_steamshortcut = (keyboard->wlr->modifiers.depressed & WLR_MODIFIER_CTRL) && (keysym == XKB_KEY_1 ||
+ keysym == XKB_KEY_2);
+
+ if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && (forbidden_key || is_steamshortcut) )
{
// Always send volume+/- to root server only, to avoid it reaching the game.
struct wlr_surface *old_kb_surf = wlserver.kb_focus_surface;
@@ -378,6 +383,9 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data)
{
wlserver_keyboardfocus( new_kb_surf, false );
wlr_seat_set_keyboard( wlserver.wlr.seat, keyboard->wlr );
+ // Send modifiers to steam for it to work
+ if (is_steamshortcut)
+ wlr_seat_keyboard_notify_modifiers(wlserver.wlr.seat, &keyboard->wlr->modifiers);
wlr_seat_keyboard_notify_key( wlserver.wlr.seat, event->time_msec, event->keycode, event->state );
wlserver_keyboardfocus( old_kb_surf, false );
return;
--
2.45.2
@@ -1,8 +1,8 @@
%define debug_package %nil
%global commit aa57bda3f17f660064c1e63f9497fa0a46df1e86
%global commit 26818c6cd574c74ab9dfd2c89f081f30430e212b
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20240821
%global commit_date 20240801
Name: gamescope-session
Version: %commit_date.%shortcommit
-36
View File
@@ -1,36 +0,0 @@
From 5529e8ac8f3232ec6233e33286834548e1d8018d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Sun, 8 Oct 2023 22:10:33 +0200
Subject: [PATCH] <cstdint>
---
src/reshade/source/effect_parser_stmt.cpp | 1 +
src/reshade/source/effect_token.hpp | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/reshade/source/effect_parser_stmt.cpp b/src/reshade/source/effect_parser_stmt.cpp
index 7829729..f126be2 100644
--- a/src/reshade/source/effect_parser_stmt.cpp
+++ b/src/reshade/source/effect_parser_stmt.cpp
@@ -9,6 +9,7 @@
#include <cctype> // std::toupper
#include <cassert>
#include <functional>
+#include <limits>
#include <string_view>
struct on_scope_exit
diff --git a/src/reshade/source/effect_token.hpp b/src/reshade/source/effect_token.hpp
index 072d439..e4bb633 100644
--- a/src/reshade/source/effect_token.hpp
+++ b/src/reshade/source/effect_token.hpp
@@ -5,6 +5,7 @@
#pragma once
+#include <cstdint>
#include <string>
#include <vector>
--
2.41.0
-21
View File
@@ -1,21 +0,0 @@
From 88ce1e5de62886aa14c74421cde6130e16e70d7d Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
Date: Sat, 6 Jul 2024 20:52:50 +0200
Subject: [PATCH] utils: include limits.h for PATH_MAX
---
src/Utils/Process.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/Utils/Process.cpp b/src/Utils/Process.cpp
index e71786f75..3e748e0d3 100644
--- a/src/Utils/Process.cpp
+++ b/src/Utils/Process.cpp
@@ -21,6 +21,7 @@
#include <pthread.h>
#include <stdlib.h>
#include <dirent.h>
+#include <limits.h>
#include <unistd.h>
#include <sys/types.h>
#include <signal.h>
+239
View File
@@ -0,0 +1,239 @@
From ab115896be1a448bde0eb7673c26300ea4ca5040 Mon Sep 17 00:00:00 2001
From: sharkautarch <128002472+sharkautarch@users.noreply.github.com>
Date: Sun, 19 May 2024 20:15:36 -0400
Subject: [PATCH 1/2] QueuePresent: canBypassXWayland(): fetch multiple xcb
cookies initially before waiting on any of them
---
layer/VkLayer_FROG_gamescope_wsi.cpp | 1 +
layer/xcb_helpers.hpp | 105 +++++++++++++++++++++++----
2 files changed, 93 insertions(+), 13 deletions(-)
diff --git a/layer/VkLayer_FROG_gamescope_wsi.cpp b/layer/VkLayer_FROG_gamescope_wsi.cpp
index 5844c2a63..ca44849f2 100644
--- a/layer/VkLayer_FROG_gamescope_wsi.cpp
+++ b/layer/VkLayer_FROG_gamescope_wsi.cpp
@@ -975,6 +975,7 @@ namespace GamescopeWSILayer {
continue;
}
+ xcb::Prefetcher prefetcher(gamescopeSurface->connection, gamescopeSurface->window);
const bool canBypass = gamescopeSurface->canBypassXWayland();
if (canBypass != gamescopeSwapchain->isBypassingXWayland)
UpdateSwapchainResult(canBypass ? VK_SUBOPTIMAL_KHR : VK_ERROR_OUT_OF_DATE_KHR);
diff --git a/layer/xcb_helpers.hpp b/layer/xcb_helpers.hpp
index 8fac5635b..72d0ec092 100644
--- a/layer/xcb_helpers.hpp
+++ b/layer/xcb_helpers.hpp
@@ -4,22 +4,106 @@
#include <xcb/composite.h>
#include <cstdio>
#include <optional>
+#include <pthread.h>
namespace xcb {
+ inline static constinit pthread_t g_cache_tid; //incase g_cache could otherwise be accessed by one thread, while it is being deleted by another thread
+ inline static constinit struct cookie_cache_t {
+ xcb_window_t window;
+ std::tuple<xcb_get_geometry_cookie_t, xcb_query_tree_cookie_t> cached_cookies;
+ std::tuple<xcb_get_geometry_reply_t*, xcb_query_tree_reply_t*> cached_replies;
+ } g_cache = {};
+
+ //Note: this class is currently only meant to be used within GamescopeWSILayer::VkDeviceOverrides::QueuePresentKHR:
+ struct Prefetcher {
+ explicit Prefetcher(xcb_connection_t* connection, const xcb_window_t window) {
+ g_cache = {
+ .window = window,
+ .cached_cookies = {
+ xcb_get_geometry(connection, window),
+ xcb_query_tree(connection, window)
+ }
+ };
+ g_cache_tid = pthread_self();
+ }
+ ~Prefetcher() {
+ g_cache_tid = {};
+ free(std::get<0>(g_cache.cached_replies));
+ free(std::get<1>(g_cache.cached_replies));
+ g_cache.cached_replies = {nullptr,nullptr};
+ }
+ };
+
struct ReplyDeleter {
+ const bool m_bOwning = true;
+ consteval ReplyDeleter(bool bOwning = true) : m_bOwning{bOwning} {}
template <typename T>
void operator()(T* ptr) const {
- free(const_cast<std::remove_const_t<T>*>(ptr));
+ if (m_bOwning)
+ free(const_cast<std::remove_const_t<T>*>(ptr));
}
};
template <typename T>
using Reply = std::unique_ptr<T, ReplyDeleter>;
+
+ template <typename Cookie_RetType, typename Reply_RetType, typename XcbConn=xcb_connection_t*, typename... Args>
+ class XcbFetch {
+ using cookie_f_ptr_t = Cookie_RetType (*)(XcbConn, Args...);
+ using reply_f_ptr_t = Reply_RetType* (*)(XcbConn, Cookie_RetType, xcb_generic_error_t**);
+
+ const cookie_f_ptr_t m_cookieFunc;
+ const reply_f_ptr_t m_replyFunc;
+
+ public:
+ consteval XcbFetch(cookie_f_ptr_t cookieFunc, reply_f_ptr_t replyFunc) : m_cookieFunc{cookieFunc}, m_replyFunc{replyFunc} {}
+
+ inline Reply<Reply_RetType> operator()(XcbConn conn, auto... args) { //have to use auto for argsTwo, since otherwise there'd be a type deduction conflict
+ return Reply<Reply_RetType> { m_replyFunc(conn, m_cookieFunc(conn, args...), nullptr) };
+ }
+ };
+
+ template <typename CookieType>
+ concept CacheableCookie = std::is_same<CookieType, xcb_get_geometry_cookie_t>::value
+ || std::is_same<CookieType, xcb_query_tree_cookie_t>::value;
+
+ template <CacheableCookie Cookie_RetType, typename Reply_RetType>
+ class XcbFetch<Cookie_RetType, Reply_RetType, xcb_connection_t*, xcb_window_t> {
+ using cookie_f_ptr_t = Cookie_RetType (*)(xcb_connection_t*, xcb_window_t);
+ using reply_f_ptr_t = Reply_RetType* (*)(xcb_connection_t*, Cookie_RetType, xcb_generic_error_t**);
+
+ const cookie_f_ptr_t m_cookieFunc;
+ const reply_f_ptr_t m_replyFunc;
+
+ inline Reply<Reply_RetType> getCachedReply(xcb_connection_t* connection) {
+ if (std::get<Reply_RetType*>(g_cache.cached_replies) == nullptr) {
+ std::get<Reply_RetType*>(g_cache.cached_replies) = m_replyFunc(connection, std::get<Cookie_RetType>(g_cache.cached_cookies), nullptr);
+ }
+ return Reply<Reply_RetType>{std::get<Reply_RetType*>(g_cache.cached_replies), ReplyDeleter{false}}; // return 'non-owning' unique_ptr
+ }
+
+ public:
+ consteval XcbFetch(cookie_f_ptr_t cookieFunc, reply_f_ptr_t replyFunc) : m_cookieFunc{cookieFunc}, m_replyFunc{replyFunc} {}
+
+ inline Reply<Reply_RetType> operator()(xcb_connection_t* conn, xcb_window_t window) {
+ const bool tryCached = pthread_equal(g_cache_tid, pthread_self())
+ && g_cache.window == window;
+ if (!tryCached) [[unlikely]]
+ return Reply<Reply_RetType> { m_replyFunc(conn, m_cookieFunc(conn, window), nullptr) };
+
+ auto ret = getCachedReply(conn);
+ #if !defined(NDEBUG) || NDEBUG == 0
+ if (!ret)
+ fprintf(stderr, "[Gamescope WSI] getCachedReply() failed.\n");
+ #endif
+ return ret;
+ }
+ };
+
static std::optional<xcb_atom_t> getAtom(xcb_connection_t* connection, std::string_view name) {
- xcb_intern_atom_cookie_t cookie = xcb_intern_atom(connection, false, name.length(), name.data());
- auto reply = Reply<xcb_intern_atom_reply_t>{ xcb_intern_atom_reply(connection, cookie, nullptr) };
+ auto reply = XcbFetch{xcb_intern_atom, xcb_intern_atom_reply}(connection, false, name.length(), name.data());
if (!reply) {
fprintf(stderr, "[Gamescope WSI] Failed to get xcb atom.\n");
return std::nullopt;
@@ -34,8 +118,7 @@ namespace xcb {
xcb_screen_t* screen = xcb_setup_roots_iterator(xcb_get_setup(connection)).data;
- xcb_get_property_cookie_t cookie = xcb_get_property(connection, false, screen->root, atom, XCB_ATOM_CARDINAL, 0, sizeof(T) / sizeof(uint32_t));
- auto reply = Reply<xcb_get_property_reply_t>{ xcb_get_property_reply(connection, cookie, nullptr) };
+ auto reply = XcbFetch{xcb_get_property, xcb_get_property_reply}(connection, false, screen->root, atom, XCB_ATOM_CARDINAL, 0, sizeof(T) / sizeof(uint32_t));
if (!reply) {
fprintf(stderr, "[Gamescope WSI] Failed to read T root window property.\n");
return std::nullopt;
@@ -61,8 +144,7 @@ namespace xcb {
static std::optional<xcb_window_t> getToplevelWindow(xcb_connection_t* connection, xcb_window_t window) {
for (;;) {
- xcb_query_tree_cookie_t cookie = xcb_query_tree(connection, window);
- auto reply = Reply<xcb_query_tree_reply_t>{ xcb_query_tree_reply(connection, cookie, nullptr) };
+ auto reply = XcbFetch{xcb_query_tree, xcb_query_tree_reply}(connection, window);
if (!reply) {
fprintf(stderr, "[Gamescope WSI] getToplevelWindow: xcb_query_tree failed for window 0x%x.\n", window);
@@ -77,8 +159,7 @@ namespace xcb {
}
static std::optional<VkRect2D> getWindowRect(xcb_connection_t* connection, xcb_window_t window) {
- xcb_get_geometry_cookie_t cookie = xcb_get_geometry(connection, window);
- auto reply = Reply<xcb_get_geometry_reply_t>{ xcb_get_geometry_reply(connection, cookie, nullptr) };
+ auto reply = XcbFetch{xcb_get_geometry, xcb_get_geometry_reply}(connection, window);
if (!reply) {
fprintf(stderr, "[Gamescope WSI] getWindowRect: xcb_get_geometry failed for window 0x%x.\n", window);
return std::nullopt;
@@ -112,8 +193,7 @@ namespace xcb {
static std::optional<VkExtent2D> getLargestObscuringChildWindowSize(xcb_connection_t* connection, xcb_window_t window) {
VkExtent2D largestExtent = {};
- xcb_query_tree_cookie_t cookie = xcb_query_tree(connection, window);
- auto reply = Reply<xcb_query_tree_reply_t>{ xcb_query_tree_reply(connection, cookie, nullptr) };
+ auto reply = XcbFetch{xcb_query_tree, xcb_query_tree_reply}(connection, window);
if (!reply) {
fprintf(stderr, "[Gamescope WSI] getLargestObscuringWindowSize: xcb_query_tree failed for window 0x%x.\n", window);
@@ -130,8 +210,7 @@ namespace xcb {
for (uint32_t i = 0; i < reply->children_len; i++) {
xcb_window_t child = children[i];
- xcb_get_window_attributes_cookie_t attributeCookie = xcb_get_window_attributes(connection, child);
- auto attributeReply = Reply<xcb_get_window_attributes_reply_t>{ xcb_get_window_attributes_reply(connection, attributeCookie, nullptr) };
+ auto attributeReply = XcbFetch{xcb_get_window_attributes, xcb_get_window_attributes_reply}(connection, child);
const bool obscuring =
attributeReply &&
From 1b59621f4de5c05096d1f279cba2e04264124154 Mon Sep 17 00:00:00 2001
From: sharkautarch <128002472+sharkautarch@users.noreply.github.com>
Date: Tue, 18 Jun 2024 22:21:23 -0400
Subject: [PATCH 2/2] WSI: prefetcher: fix issue w/ attempting to prefetch xcb
stuff for pure wayland surfaces
---
layer/VkLayer_FROG_gamescope_wsi.cpp | 2 +-
layer/xcb_helpers.hpp | 9 ++++++++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/layer/VkLayer_FROG_gamescope_wsi.cpp b/layer/VkLayer_FROG_gamescope_wsi.cpp
index f26819a60..ce011dcd7 100644
--- a/layer/VkLayer_FROG_gamescope_wsi.cpp
+++ b/layer/VkLayer_FROG_gamescope_wsi.cpp
@@ -1234,7 +1234,7 @@ namespace GamescopeWSILayer {
continue;
}
- xcb::Prefetcher prefetcher(gamescopeSurface->connection, gamescopeSurface->window);
+ auto prefetcher = xcb::Prefetcher::GetPrefetcherIf(!gamescopeSurface->isWayland(), gamescopeSurface->connection, gamescopeSurface->window);
const bool canBypass = gamescopeSurface->canBypassXWayland();
if (canBypass != gamescopeSwapchain->isBypassingXWayland)
UpdateSwapchainResult(canBypass ? VK_SUBOPTIMAL_KHR : VK_ERROR_OUT_OF_DATE_KHR);
diff --git a/layer/xcb_helpers.hpp b/layer/xcb_helpers.hpp
index 72d0ec092..f26aef38b 100644
--- a/layer/xcb_helpers.hpp
+++ b/layer/xcb_helpers.hpp
@@ -16,6 +16,13 @@ namespace xcb {
//Note: this class is currently only meant to be used within GamescopeWSILayer::VkDeviceOverrides::QueuePresentKHR:
struct Prefetcher {
+ static std::optional<Prefetcher> GetPrefetcherIf(bool bCond, xcb_connection_t* connection, const xcb_window_t window) {
+ if (bCond)
+ return std::optional<Prefetcher>(std::in_place_t{}, connection, window);
+
+ return std::nullopt;
+ }
+
explicit Prefetcher(xcb_connection_t* connection, const xcb_window_t window) {
g_cache = {
.window = window,
@@ -90,7 +97,7 @@ namespace xcb {
inline Reply<Reply_RetType> operator()(xcb_connection_t* conn, xcb_window_t window) {
const bool tryCached = pthread_equal(g_cache_tid, pthread_self())
&& g_cache.window == window;
- if (!tryCached) [[unlikely]]
+ if (!tryCached)
return Reply<Reply_RetType> { m_replyFunc(conn, m_cookieFunc(conn, window), nullptr) };
auto ret = getCachedReply(conn);
-34
View File
@@ -1,34 +0,0 @@
From ca58cb2453e6d9ef44d799e394ee9950b7a35b30 Mon Sep 17 00:00:00 2001
From: Cappy Ishihara <cappy@cappuchino.xyz>
Date: Wed, 21 Aug 2024 03:56:53 +0700
Subject: [PATCH] Check if current GPU supports Vulkan DRM modifiers when
`--backend=auto` is used.
This works around #1218 by making use of the new backend option added in #1321,
but adds a check to automatically fall back to the SDL backend if the current
GPU does not support Vulkan DRM modifiers.
---
src/main.cpp | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/main.cpp b/src/main.cpp
index ca4001249..bc6b16904 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -817,9 +817,13 @@ int main(int argc, char **argv)
if ( eCurrentBackend == gamescope::GamescopeBackend::Auto )
{
if ( g_pOriginalWaylandDisplay != NULL )
- eCurrentBackend = gamescope::GamescopeBackend::Wayland;
- else if ( g_pOriginalDisplay != NULL )
- eCurrentBackend = gamescope::GamescopeBackend::SDL;
+ // Additional check if the current GPU supports Vulkan DRM modifiers
+ // Fallback to SDL if not supported (e.g Older AMD GPUs like Polaris 10/20)
+ if ( vulkan_supports_modifiers() )
+ eCurrentBackend = gamescope::GamescopeBackend::Wayland;
+ else
+ eCurrentBackend = gamescope::GamescopeBackend::SDL;
+
else
eCurrentBackend = gamescope::GamescopeBackend::DRM;
}
File diff suppressed because it is too large Load Diff
+136
View File
@@ -0,0 +1,136 @@
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index 85e5126..be418b4 100644
--- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp
@@ -2149,6 +2149,7 @@ namespace gamescope
( m_Mutable.szMakePNP == "WLC"sv && m_Mutable.szModel == "ANX7530 U"sv ) ||
( m_Mutable.szMakePNP == "ANX"sv && m_Mutable.szModel == "ANX7530 U"sv ) ||
( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "ANX7530 U"sv ) ||
+ ( m_Mutable.szMakePNP == "DHD"sv && m_Mutable.szModel == "DeckHD-1200p"sv ) ||
( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Jupiter"sv ) ||
( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Galileo"sv );
@@ -2160,6 +2161,7 @@ namespace gamescope
{
static constexpr uint32_t kPIDGalileoSDC = 0x3003;
static constexpr uint32_t kPIDGalileoBOE = 0x3004;
+ static constexpr uint32_t kPIDJupiterDHD = 0x4001;
if ( pProduct->product == kPIDGalileoSDC )
{
@@ -2171,6 +2173,10 @@ namespace gamescope
m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_BOE;
m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDRates );
}
+ else if (pProduct-> product == kPIDJupiterDHD ) {
+ m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD_DHD;
+ m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckLCDRates );
+ }
else
{
m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD;
@@ -2200,7 +2206,8 @@ namespace gamescope
drm_log.infof( "[colorimetry]: Steam Deck LCD detected. Using known colorimetry" );
m_Mutable.DisplayColorimetry = displaycolorimetry_steamdeck_measured;
}
- else
+ else if (m_Mutable.eKnownDisplay == GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_BOE ||
+ m_Mutable.eKnownDisplay == GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_SDC )
{
// Steam Deck OLED has calibrated chromaticity coordinates in the EDID
// for each unit.
@@ -2330,7 +2337,7 @@ namespace gamescope
.uMinContentLightLevel = nits_to_u16_dark( 0 ),
};
}
- else if ( eKnownDisplay == GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD )
+ else if ( eKnownDisplay == GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD || eKnownDisplay == GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD_DHD )
{
// Set up some HDR fallbacks for undocking
return BackendConnectorHDRInfo
diff --git a/src/gamescope_shared.h b/src/gamescope_shared.h
index ed30d8c..3b60774 100644
--- a/src/gamescope_shared.h
+++ b/src/gamescope_shared.h
@@ -8,6 +8,7 @@ namespace gamescope
{
GAMESCOPE_KNOWN_DISPLAY_UNKNOWN,
GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD, // Jupiter
+ GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD_DHD, // Jupiter Deck HD
GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_SDC, // Galileo SDC
GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_BOE, // Galileo BOE
};
diff --git a/src/modegen.cpp b/src/modegen.cpp
index d174c2d..5dd1136 100644
--- a/src/modegen.cpp
+++ b/src/modegen.cpp
@@ -293,13 +293,32 @@ unsigned int galileo_boe_vfp[] =
172,152,136,120,100,84,68,52,36,20,8
};
-#define GALILEO_MIN_REFRESH 45
+//SD LCD Stock Timings
+#define JUPITER_BOE_PID 0x3001
+#define JUPITER_B_PID 0x3002
+#define JUPITER_HFP 40
+#define JUPITER_HSYNC 4
+#define JUPITER_HBP 40
+#define JUPITER_VFP 30
+#define JUPITER_VSYNC 4
+#define JUPITER_VBP 8
+//SD LCD DeckHD Timings
+#define JUPITER_DHD_PID 0x4001
+#define JUPITER_DHD_HFP 40
+#define JUPITER_DHD_HSYNC 20
+#define JUPITER_DHD_HBP 40
+#define JUPITER_DHD_VFP 18
+#define JUPITER_DHD_VSYNC 2
+#define JUPITER_DHD_VBP 20
+//SD OLED SDC Timings
#define GALILEO_SDC_PID 0x3003
#define GALILEO_SDC_VSYNC 1
#define GALILEO_SDC_VBP 22
+//SD OLED BOE Timings
#define GALILEO_BOE_PID 0x3004
#define GALILEO_BOE_VSYNC 2
#define GALILEO_BOE_VBP 30
+#define GALILEO_MIN_REFRESH 45
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
unsigned int get_galileo_vfp( int vrefresh, unsigned int * vfp_array, unsigned int num_rates )
@@ -344,17 +363,28 @@ void generate_fixed_mode(drmModeModeInfo *mode, const drmModeModeInfo *base, int
mode->vsync_end = mode->vsync_start + vsync;
mode->vtotal = mode->vsync_end + vbp;
} else {
- if ( eKnownDisplay == gamescope::GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD )
+ if ( eKnownDisplay == gamescope::GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD_DHD ) {
+ mode->hdisplay = 1200;
+ mode->hsync_start = mode->hdisplay + JUPITER_DHD_HFP;
+ mode->hsync_end = mode->hsync_start + JUPITER_DHD_HSYNC;
+ mode->htotal = mode->hsync_end + JUPITER_DHD_HBP;
+
+ mode->vdisplay = 1920;
+ mode->vsync_start = mode->vdisplay + JUPITER_DHD_VFP;
+ mode->vsync_end = mode->vsync_start + JUPITER_DHD_VSYNC;
+ mode->vtotal = mode->vsync_end + JUPITER_DHD_VBP;
+ }
+ else if ( eKnownDisplay == gamescope::GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD )
{
mode->hdisplay = 800;
- mode->hsync_start = 840;
- mode->hsync_end = 844;
- mode->htotal = 884;
+ mode->hsync_start = mode->hdisplay + JUPITER_HFP;
+ mode->hsync_end = mode->hsync_start + JUPITER_HSYNC;
+ mode->htotal = mode->hsync_end + JUPITER_HBP;
mode->vdisplay = 1280;
- mode->vsync_start = 1310;
- mode->vsync_end = 1314;
- mode->vtotal = 1322;
+ mode->vsync_start = mode->vdisplay + JUPITER_VFP;
+ mode->vsync_end = mode->vsync_start + JUPITER_VSYNC;
+ mode->vtotal = mode->vsync_end + JUPITER_VBP;
}
mode->clock = ( ( mode->htotal * mode->vtotal * vrefresh ) + 999 ) / 1000;
@@ -48,4 +48,4 @@ index 92bf617..d7498e5 100644
+ cv_disable_touch_click = true;
}
break;
case '?':
case '?':
@@ -0,0 +1,63 @@
From 2e4d7ad1bf2cb98eb67ff8f9385cf6657cf2e912 Mon Sep 17 00:00:00 2001
From: Matthew Schwartz <njtransit215@gmail.com>
Date: Wed, 3 Jul 2024 15:20:08 -0700
Subject: [PATCH] drm: Separate BOE and SDC OLED Deck panel valid refresh rates
OLED Decks with BOE panels seem to struggle with a few different
specific modesets (51hz/55hz/65hz) that SDC panels have no issues with.
To work around this, let's make use of Gamescope recognizing each
display manufacturer to correct the bad modesets while leaving
SDC panel units alone. This can be reverted if an underlying cause can
be found in the kernel in the future.
---
src/Backends/DRMBackend.cpp | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index 97ef446..9f93c7f 100644
--- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp
@@ -554,7 +554,7 @@ static constexpr uint32_t s_kSteamDeckLCDRates[] =
60,
};
-static constexpr uint32_t s_kSteamDeckOLEDRates[] =
+static constexpr uint32_t s_kSteamDeckOLEDSDCRates[] =
{
45, 47, 48, 49,
50, 51, 53, 55, 56, 59,
@@ -564,6 +564,16 @@ static constexpr uint32_t s_kSteamDeckOLEDRates[] =
90,
};
+static constexpr uint32_t s_kSteamDeckOLEDBOERates[] =
+{
+ 45, 47, 48, 49,
+ 50, 53, 56, 59,
+ 60, 62, 64, 66, 68,
+ 72, 73, 76, 77, 78,
+ 80, 81, 82, 84, 85, 86, 87, 88,
+ 90,
+};
+
static void update_connector_display_info_wl(struct drm_t *drm)
{
wlserver_lock();
@@ -2128,12 +2138,12 @@ namespace gamescope
if ( pProduct->product == kPIDGalileoSDC )
{
m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_SDC;
- m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDRates );
+ m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDSDCRates );
}
else if ( pProduct->product == kPIDGalileoBOE )
{
m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_BOE;
- m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDRates );
+ m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDBOERates );
}
else
{
--
2.45.2
-29
View File
@@ -1,29 +0,0 @@
#!/bin/sh
# Wrapper script to run Gamescope with legacy options for older GPUs
gamescope_path="/usr/bin/gamescope"
# check if $BACKEND is already defined
# todo: Probably want to patch gamescope-session-plus for this instead meow
# For compatibility, let's add the argument for nested backends too
LEGACY_BACKEND_ARGS=""
NESTED_BACKEND_ARGS=""
if [ -z "$BACKEND" ]; then
LEGACY_BACKEND_ARGS="--backend=sdl"
NESTED_BACKEND_ARGS="--backend=sdl"
else
# Only added for nested sessions, as $BACKEND should be defined only for legacy
NESTED_BACKEND_ARGS="--backend=$BACKEND"
fi
if [ -z "$DISPLAY" ]; then
$gamescope_path $LEGACY_BACKEND_ARGS $@
else
$gamescope_path $NESTED_BACKEND_ARGS $@
fi
+1 -1
View File
@@ -4,4 +4,4 @@ includedir=${prefix}/include/stb
Name: stb
Description: Single-file public domain libraries for C/C++
Version: 0.1.0
Cflags: -I${includedir}
Cflags: -I${includedir}
+28 -47
View File
@@ -1,43 +1,37 @@
%if 0%{?fedora} >= 41
%global libliftoff_minver 0.5.0
%else
%global libliftoff_minver 0.4.1
%endif
%global toolchain clang
%global _default_patch_fuzz 2
%global gamescope_tag 3.15.4-beta-for-steamos-main
%global gamescope_tag 3.14.26
Name: terra-gamescope
Version: 100.%{gamescope_tag}
Release: 1%?dist
Summary: Micro-compositor for video games on Wayland - Terra patch, please read the full description
Summary: Micro-compositor for video games on Wayland
License: BSD
URL: https://github.com/ValveSoftware/gamescope
# Create stb.pc to satisfy dependency('stb')
Source0: stb.pc
Source1: gamescope-legacy.sh
Patch0: 0001-cstdint.patch
# https://github.com/ChimeraOS/gamescope
Patch1: chimeraos.patch
Patch0: chimeraos.patch
# https://hhd.dev/
Patch2: disable-steam-touch-click-atom.patch
Patch3: v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch
# Set default backend to SDL instead of Wayland, to avoid issues with GPUs that do not support
# Vulkan DRM modifiers.
# See also: gamescope-legacy package
# https://github.com/ValveSoftware/gamescope/issues/1218#issuecomment-2123801764
Patch6: 1483.patch
Patch1: disable-steam-touch-click-atom.patch
# https://github.com/ValveSoftware/gamescope/pull/1281
# Patch2: deckhd.patch
# https://github.com/ValveSoftware/gamescope/issues/1398
Patch3: drm-Separate-BOE-and-SDC-OLED-Deck-panel-rates.patch
# https://github.com/ValveSoftware/gamescope/issues/1369
Patch4: revert-299bc34.patch
# https://github.com/ValveSoftware/gamescope/pull/1231
Patch5: 1231.patch
BuildRequires: meson >= 0.54.0
BuildRequires: ninja-build
BuildRequires: cmake
BuildRequires: clang
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glm-devel
BuildRequires: google-benchmark-devel
BuildRequires: libXmu-devel
@@ -58,16 +52,22 @@ BuildRequires: pkgconfig(xres)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(vulkan)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-server) >= 1.23.0
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-protocols) >= 1.17
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(libpipewire-0.3)
BuildRequires: pkgconfig(libavif)
BuildRequires: pkgconfig(wlroots)
BuildRequires: pkgconfig(libliftoff) >= 0.4.1
#BuildRequires: (pkgconfig(wlroots) >= 0.18.0 with pkgconfig(wlroots) < 0.19.0)
#BuildRequires: (pkgconfig(libliftoff) >= 0.4.1 with pkgconfig(libliftoff) < 0.5)
BuildRequires: pkgconfig(libliftoff)
BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(hwdata)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libseat)
BuildRequires: pkgconfig(libinput)
BuildRequires: xcb-util-wm-devel
BuildRequires: pkgconfig(xcb-errors)
BuildRequires: pkgconfig(lcms2)
BuildRequires: spirv-headers-devel
# Enforce the the minimum EVR to contain fixes for all of:
@@ -90,21 +90,16 @@ BuildRequires: git
# libliftoff hasn't bumped soname, but API/ABI has changed for 0.2.0 release
Requires: libliftoff%{?_isa} >= %{libliftoff_minver}
Requires: xorg-x11-server-Xwayland
Requires: terra-gamescope-libs = %{version}-%{release}
Requires: terra-gamescope-libs(x86-32) = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
%ifarch %{ix86}
Requires: %{name}-libs(x86-32) = %{version}-%{release}
%endif
Recommends: mesa-dri-drivers
Recommends: mesa-vulkan-drivers
Provides: gamescope-legacy
Obsoletes: gamescope-legacy < 3.14.2
%description
Gamescope is the micro-compositor optimized for running video games on Wayland.
This specific build of Gamescope is patched to use SDL as the default backend instead of Wayland, and
includes a legacy wrapper script for older GPUs and extra configuration options. Please see
https://developer.fyralabs.com/terra/gamescope for more information.
%package libs
Summary: libs for Gamescope
%description libs
@@ -125,35 +120,21 @@ sed -i 's^../thirdparty/SPIRV-Headers/include/spirv/^/usr/include/spirv/^' src/m
%build
cd gamescope
export PKG_CONFIG_PATH=pkgconfig
%if %{__isa_bits} == 64
%meson --auto-features=enabled -Dforce_fallback_for=vkroots,wlroots,libliftoff
%else
%meson -Denable_gamescope=false -Denable_gamescope_wsi_layer=true
%endif
%meson -Dpipewire=enabled -Dinput_emulation=enabled -Ddrm_backend=enabled -Drt_cap=enabled -Davif_screenshots=enabled -Dsdl2_backend=enabled
%meson_build
%install
cd gamescope
%meson_install --skip-subprojects
%if %{__isa_bits} == 64
install -Dm755 %{SOURCE1} %{buildroot}%{_bindir}/gamescope-legacy
%endif
%files
%license gamescope/LICENSE
%doc gamescope/README.md
%if %{__isa_bits} == 64
%caps(cap_sys_nice=eip) %{_bindir}/gamescope
%{_bindir}/gamescopectl
%{_bindir}/gamescopestream
%{_bindir}/gamescopereaper
%{_bindir}/gamescope-legacy
%endif
%files libs
%{_libdir}/libVkLayer_FROG_gamescope_wsi_*.so
%{_datadir}/vulkan/implicit_layer.d/VkLayer_FROG_gamescope_wsi.*.json
%changelog
%autochangelog
-3
View File
@@ -1,3 +0,0 @@
#!/bin/bash
curl -o ./1483.patch https://patch-diff.githubusercontent.com/raw/ValveSoftware/gamescope/pull/1483.patch
@@ -1,39 +0,0 @@
From 35e001dc59a44227d670c667a85a6ef5472eee58 Mon Sep 17 00:00:00 2001
From: antheas <git@antheas.dev>
Date: Sat, 20 Jul 2024 01:23:19 +0300
Subject: [PATCH v2] always send ctrl+1/2 to steam's wayland session
---
src/wlserver.cpp | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index 1852be9..7de737d 100644
--- a/src/wlserver.cpp
+++ b/src/wlserver.cpp
@@ -369,7 +369,12 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data)
keysym == XKB_KEY_XF86AudioLowerVolume ||
keysym == XKB_KEY_XF86AudioRaiseVolume ||
keysym == XKB_KEY_XF86PowerOff;
- if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && forbidden_key )
+
+ // Check for steam keys (ctrl + 1/2)
+ bool is_steamshortcut = (keyboard->wlr->modifiers.depressed & WLR_MODIFIER_CTRL) && (keysym == XKB_KEY_1 ||
+ keysym == XKB_KEY_2);
+
+ if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && (forbidden_key || is_steamshortcut) )
{
// Always send volume+/- to root server only, to avoid it reaching the game.
struct wlr_surface *old_kb_surf = wlserver.kb_focus_surface;
@@ -378,6 +383,9 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data)
{
wlserver_keyboardfocus( new_kb_surf, false );
wlr_seat_set_keyboard( wlserver.wlr.seat, keyboard->wlr );
+ // Send modifiers to steam for it to work
+ if (is_steamshortcut)
+ wlr_seat_keyboard_notify_modifiers(wlserver.wlr.seat, &keyboard->wlr->modifiers);
wlr_seat_keyboard_notify_key( wlserver.wlr.seat, event->time_msec, event->keycode, event->state );
wlserver_keyboardfocus( old_kb_surf, false );
return;
--
2.45.2
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "modrinth.spec"
}
}
-37
View File
@@ -1,37 +0,0 @@
Name: modrinth
Version: 1.2.3
Release: 1%?dist
Summary: Desktop app for managing mods and modpacks from Modrinth
URL: https://github.com/modrinth/code
License: GPL-3.0-or-later
BuildRequires: git-core rust tauri
Packager: Willow Reed <willow@willowidk.dev>
%description
Desktop app for managing mods and modpacks from Modrinth
%prep
rm -rf ./*
git clone --recursive %{url} .
git checkout v%{version}
%build
# Vendor PNPM directly instead of installing from packages, because we need to somehow force PNPM to use Node.js 20
# We are not using Fedora's PNPM because we need to use `pnpm env`, which PNPM does not support when not vendored directly from upstream
curl -fsSL https://get.pnpm.io/install.sh | sh -
source /builddir/.bashrc
pnpm env use --global 20
pnpm install
pnpm build
pnpm electron-builder --linux --dir
%install
echo "this will also run when building pkg but for installing it into %{buildroot} so that anda (mock) can package it"
%files
/usr/bin/pkgname-binary
/path/to/more/files/*/package
%changelog
* Wed Jan 11 2006 your-username-here <your_email@idk.xyz>
- Description on what you've done
-1
View File
@@ -1 +0,0 @@
rpm.version(find(`https://launcher-files.modrinth.com/versions/([/d/.]+)/linux/Modrinth%20App_.+?_amd64.AppImage`, get("https://modrinth.com/app"), 1));
+2 -2
View File
@@ -1,9 +1,9 @@
%define osuresver 2024.810.0
%define osuresver 2024.731.0
%global debug_package %{nil}
%define __strip /bin/true
Name: osu-lazer
Version: 2024.817.0
Version: 2024.731.0
Release: 1%?dist
Summary: The future of osu! and the beginning of an open era! Commonly known by the codename osu!lazer. Pew pew.
ExclusiveArch: x86_64
@@ -1,11 +1,11 @@
%global real_name prismlauncher
%global nice_name PrismLauncher
%global commit 828acef7e938800a693343a0bb51e5fcd7349680
%global commit 6352362907149d297684473f3d606b08ce1b93f5
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global libnbtplusplus_commit a5e8fd52b8bf4ab5d5bcc042b2a247867589985f
%global commit_date 20240830
%global commit_date 20240721
%global snapshot_info %{commit_date}.%{shortcommit}
%bcond_without qt6
+1 -1
View File
@@ -1,7 +1,7 @@
%define debug_package %nil
Name: crystal
Version: 1.13.2
Version: 1.13.1
Release: 1%?dist
Summary: The Crystal Programming Language
License: Apache-2.0
+1 -1
View File
@@ -1,7 +1,7 @@
%define debug_package %{nil}
Name: dart
Version: 3.5.2
Version: 3.4.4
Release: 1%?dist
Summary: The Dart Language
License: BSD-3-Clause
+2 -2
View File
@@ -1,6 +1,6 @@
%define debug_package %nil
%global commit f7a1c8106dbc70020aa9e9df27efef81ed394139
%global commit_date 20240811
%global commit cee36c6db378c380900fc7b901e2f7d0ea596cc0
%global commit_date 20240724
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: albius
@@ -3,7 +3,7 @@
# https://github.com/charmbracelet/glow
%global goipath github.com/charmbracelet/glow
Version: 2.0.0
Version: 1.5.1
%gometa -f
@@ -15,7 +15,7 @@ Render markdown on the CLI, with pizzazz! 💅🏻.}
%global godocs README.md
Name: %{goname}
Release: 1%?dist
Release: 1%{?dist}
Summary: Render markdown on the CLI, with pizzazz! 💅🏻
License: MIT
@@ -4,7 +4,7 @@
# https://github.com/xyproto/env
%global goipath github.com/xyproto/env
Version: 2.5.0
Version: 2.2.5
%gometa -f
@@ -15,7 +15,7 @@ Provide default values when fetching environment variables.}
%global godocs README.md
Name: golang-%{goname}
Release: 1%?dist
Release: 1%{?dist}
Summary: Provide default values when fetching environment variables
License: BSD-3-Clause
@@ -3,7 +3,7 @@
# https://github.com/xyproto/textoutput
%global goipath github.com/xyproto/textoutput
Version: 1.16.6
Version: 1.16.4
%gometa -f
@@ -3,7 +3,7 @@
# https://github.com/xyproto/vt100
%global goipath github.com/xyproto/vt100
Version: 1.14.5
Version: 1.14.4
%gometa -f
@@ -2,14 +2,14 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Name: kotlin-native
Version: 2.0.20
Version: 1.9.25
Release: 1%?dist
Summary: LLVM backend for the Kotlin compiler
ExclusiveArch: x86_64
License: ASL 2.0
URL: https://kotlinlang.org/docs/reference/native-overview.html
Source0: https://github.com/JetBrains/kotlin/releases/download/v%version/kotlin-native-prebuilt-linux-x86_64-%version.tar.gz
Source0: https://github.com/JetBrains/kotlin/releases/download/v%version/kotlin-native-linux-x86_64-%version.tar.gz
BuildRequires: tar
BuildRequires: sed
@@ -28,7 +28,7 @@ Kotlin compiler and native implementation of the Kotlin standard library.
%prep
tar -xf %{SOURCE0} && cd kotlin-native-prebuilt-linux-x86_64-%{version}
tar -xf %{SOURCE0} && cd kotlin-native-linux-x86_64-%{version}
sed -i "s|\(DIR *= *\).*|\1%{_bindir}|" bin/*
sed -i "s|\(KONAN_HOME *= *\).*|\1%{_datadir}/%{name}|" bin/*
@@ -36,7 +36,7 @@ sed -i "s|\(KONAN_HOME *= *\).*|\1%{_datadir}/%{name}|" bin/*
%build
%install
rm -rf %{buildroot} && mkdir -p %{buildroot}%{_bindir}/ && cd kotlin-native-prebuilt-linux-x86_64-%{version}
rm -rf %{buildroot} && mkdir -p %{buildroot}%{_bindir}/ && cd kotlin-native-linux-x86_64-%{version}
install -m 0755 bin/cinterop %{buildroot}%{_bindir}/
install -m 0755 bin/generate-platform %{buildroot}%{_bindir}/
install -m 0755 bin/jsinterop %{buildroot}%{_bindir}/
+1 -1
View File
@@ -1,7 +1,7 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
Name: kotlin
Version: 2.0.20
Version: 1.9.25
Release: 1%?dist
Summary: Statically typed programming language
+3 -3
View File
@@ -1,8 +1,8 @@
%global csrc_commit 561b417c65791cd8356b5f73620914ceff845d10
%global commit fc853cb7268b74d87932fb08553dfbd5864d8f81
%global commit cb156648d69fd0c21ee5d041a98ddc69294eaa96
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global ver 2.1.99
%global commit_date 20240831
%global ver 2.1.9
%global commit_date 20240730
%global debug_package %nil
Name: nim-nightly
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "nph.spec"
}
}
-31
View File
@@ -1,31 +0,0 @@
%define debug_package %nil
Name: nph
Version: 0.6.0
Release: 1%?dist
Summary: An opinionated code formatter for Nim
License: MIT
URL: https://github.com/arnetheduck/nph
Source0: %url/archive/refs/tags/v%version.tar.gz
SourceLicense: MIT
Packager: madonuko <mado@fyralabs.com>
BuildRequires: anda-srpm-macros
BuildRequires: nim
%description
nph is an opinionated source code formatter for the Nim language, aiming to take the drudgery of manual formatting out of your coding day.
%prep
%autosetup
%nim_prep -t:"%nim_tflags" -l:"%nim_lflags"
%build
nimble c -d:release -t:"%nim_tflags" -l:"%nim_lflags" src/nph
%install
install -Dpm755 src/nph %buildroot%_bindir/nph
%files
%_bindir/nph
%license copying.txt
%doc README.md
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("arnetheduck/nph"));

Some files were not shown because too many files have changed in this diff Show More