update to lunar and git
This commit is contained in:
parent
9c09ad34a7
commit
719a4d4da1
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@ -7,7 +7,7 @@ jobs:
|
||||
build:
|
||||
runs-on: self-hosted
|
||||
container:
|
||||
image: ubuntu:22.10
|
||||
image: ubuntu:23.04
|
||||
volumes:
|
||||
- /proc:/proc
|
||||
options: --privileged -it
|
||||
|
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
gamescope-session (0.1-99pika1-lunar) lunar; urgency=low
|
||||
|
||||
* Initial Creation
|
||||
|
||||
-- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 01 Oct 2022 14:50:00 +0200
|
@ -1,6 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=Steam Deck Mode
|
||||
Name=Steam Deck Mode (gamescope)
|
||||
Comment=Steam Big Picture session
|
||||
Exec=gamescope-session
|
||||
Type=Application
|
1
debian/gamescope-session.install
vendored
Normal file
1
debian/gamescope-session.install
vendored
Normal file
@ -0,0 +1 @@
|
||||
usr
|
8
debian/rules
vendored
Executable file
8
debian/rules
vendored
Executable file
@ -0,0 +1,8 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
override_dh_install:
|
||||
rm -rfv debian/gamescope-session/usr/share/wayland-sessions/gamescope-session.desktop
|
||||
cp -rfv debian/extras/zwayland-gamescope-session.desktop debian/gamescope-session/usr/share/wayland-sessions/
|
||||
|
||||
%:
|
||||
dh $@
|
@ -1,11 +0,0 @@
|
||||
gamescope-session (0.0.git.92.60c3f5f9-99pika3) kinetic; urgency=low
|
||||
|
||||
* Fix return to desktop
|
||||
|
||||
-- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 01 Oct 2022 14:50:00 +0200
|
||||
|
||||
gamescope-session (0.0.git.92.60c3f5f9-99pika1) kinetic; urgency=low
|
||||
|
||||
* Initial Creation
|
||||
|
||||
-- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 01 Oct 2022 14:50:00 +0200
|
@ -1,8 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
die() { echo >&2 "!! $*"; exit 1; }
|
||||
|
||||
systemctl --user stop gamescope-session.service
|
||||
|
@ -1,2 +0,0 @@
|
||||
usr
|
||||
debian/extras/steamos-session-select usr/bin/
|
@ -1,3 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
%:
|
||||
dh $@
|
@ -1,24 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Script to start the session used by Valve with minor tweaks for ChimeraOS.
|
||||
|
||||
# Window managers sets this to wayland but apps using Gamescope must use x11
|
||||
export XDG_SESSION_TYPE=x11
|
||||
|
||||
# Update the enviroment with DESKTOP_SESSION and all XDG variables
|
||||
dbus-update-activation-environment --systemd DESKTOP_SESSION `env | grep ^XDG_ | cut -d = -f 1`
|
||||
|
||||
# This makes it so that xdg-desktop-portal doesn't find any portal implementations and doesn't start them and makes
|
||||
# them crash/exit because the dbus env has no DISPLAY. In turn this causes dbus calls to the portal which don't rely
|
||||
# on implementations to hang (such as SDL talking to the real time portal)
|
||||
systemctl --user set-environment XDG_DESKTOP_PORTAL_DIR=""
|
||||
|
||||
# Remove these as they prevent gamescope-session from starting correctly
|
||||
systemctl --user unset-environment DISPLAY XAUTHORITY
|
||||
|
||||
# If this shell script is killed then stop gamescope-session
|
||||
trap 'systemctl --user stop gamescope-session.service' HUP INT TERM
|
||||
|
||||
# Start gamescope-session and wait
|
||||
systemctl --user --wait start gamescope-session.service &
|
||||
wait
|
@ -1,3 +0,0 @@
|
||||
#! /bin/bash
|
||||
|
||||
exit 0;
|
@ -1,32 +0,0 @@
|
||||
#!/bin/env python3
|
||||
import urllib.parse
|
||||
import os.path
|
||||
import argparse
|
||||
import subprocess
|
||||
|
||||
def run(action, arg):
|
||||
final_url = "steam://{0}/{1}".format(action, arg)
|
||||
subprocess.run(["steam", final_url])
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='Launch a link in the steam browser.')
|
||||
parser.add_argument('uri')
|
||||
args = parser.parse_args()
|
||||
|
||||
uri = args.uri
|
||||
|
||||
url = urllib.parse.urlparse(uri, "file")
|
||||
|
||||
# convert mailto://A@b.com to steam://mailto/A@b.com
|
||||
if (url.scheme == 'mailto'):
|
||||
run('mailto', url.netloc)
|
||||
return
|
||||
|
||||
# open any other URL, converting paths to full file URIs
|
||||
if (url.scheme == 'file' and not os.path.isabs(url.path)):
|
||||
absolute_path = os.path.abspath(url.path)
|
||||
url = url._replace(path=absolute_path)
|
||||
run('openurl_external', url.geturl())
|
||||
return
|
||||
|
||||
main()
|
@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
if [[ $EUID -ne 0 ]];
|
||||
then
|
||||
exec pkexec --disable-internal-agent "$0" "$@"
|
||||
fi
|
||||
|
||||
exec /usr/bin/jupiter-biosupdate "$@"
|
||||
|
@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
if [[ $EUID -ne 0 ]];
|
||||
then
|
||||
exec pkexec --disable-internal-agent "$0" "$@"
|
||||
fi
|
||||
|
||||
exec /usr/bin/steamos-update "$@"
|
||||
|
@ -1,11 +0,0 @@
|
||||
#! /bin/bash
|
||||
|
||||
if command -v frzr-deploy > /dev/null; then
|
||||
if [ "$1" == "check" ]; then
|
||||
frzr-deploy --check
|
||||
else
|
||||
frzr-deploy --steam-progress
|
||||
fi
|
||||
else
|
||||
exit 7
|
||||
fi
|
@ -1,17 +0,0 @@
|
||||
# Startup systemd unit for Gamescope session meant to be started by a script.
|
||||
# Logs will go to journal and logged into /run/user/$USER
|
||||
# This is the way Valve does it, we add our own file structure and scripts
|
||||
[Unit]
|
||||
Description=Gamescope Session
|
||||
BindsTo=graphical-session.target
|
||||
Before=graphical-session.target
|
||||
Wants=graphical-session-pre.target
|
||||
After=graphical-session-pre.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/share/gamescope-session/gamescope-session-script
|
||||
# This is a temporary workaround for the some proton apps becoming
|
||||
# confused by the AF_UNIX socket they get for the stdout when the
|
||||
# service outputs to the journal. (e.g. Vampire Survivors).
|
||||
StandardOutput=append:%t/gamescope-session.log
|
||||
StandardError=append:%t/gamescope-session.log
|
@ -1,7 +0,0 @@
|
||||
[Default Applications]
|
||||
x-scheme-handler/http=steam_http_loader.desktop
|
||||
x-scheme-handler/https=steam_http_loader.desktop
|
||||
x-scheme-handler/mailto=steam_http_loader.desktop
|
||||
application/pdf=steam_http_loader.desktop
|
||||
application/x-extension-html=steam_http_loader.desktop
|
||||
text/html=steam_http_loader.desktop
|
@ -1,5 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Steam HTTP Handler
|
||||
NoDisplay=true
|
||||
Exec=steam-http-loader %u
|
@ -1,40 +0,0 @@
|
||||
# This file would be sourced by gamescope-session script (meant for
|
||||
# ChimeraOS devices).
|
||||
|
||||
SYS_ID="$(cat /sys/devices/virtual/dmi/id/product_name)"
|
||||
|
||||
# OXP Devices
|
||||
OXP_LIST="ONE XPLAYER:ONEXPLAYER 1 T08:ONEXPLAYER 1S A08:ONEXPLAYER 1S T08:ONEXPLAYER mini A07:ONEXPLAYER mini GA72:ONEXPLAYER mini GT72:ONEXPLAYER Mini Pro:ONEXPLAYER GUNDAM GA72:ONEXPLAYER 2 ARP23"
|
||||
AOK_LIST="AOKZOE A1 AR07"
|
||||
if [[ ":$OXP_LIST:" =~ ":$SYS_ID:" ]] || [[ ":$AOK_LIST:" =~ ":$SYS_ID:" ]]; then
|
||||
# Dependent on a special --force-orientation option in gamescope
|
||||
if ( gamescope --help 2>&1 | grep -e "--force-orientation" > /dev/null ) ; then
|
||||
export GAMESCOPECMD="/usr/bin/gamescope \
|
||||
-e \
|
||||
--generate-drm-mode fixed \
|
||||
--xwayland-count 2 \
|
||||
-O *,eDP-1 \
|
||||
--default-touch-mode 4 \
|
||||
--hide-cursor-delay 3000 \
|
||||
--fade-out-duration 200 \
|
||||
--force-orientation left "
|
||||
fi
|
||||
# Set refresh rate range and enable refresh rate switching
|
||||
export STEAM_DISPLAY_REFRESH_LIMITS=40,60
|
||||
fi
|
||||
|
||||
# AYANEO AIR Devices
|
||||
AIR_LIST="AIR:AIR Pro"
|
||||
if [[ ":$AIR_LIST:" =~ ":$SYS_ID:" ]]; then
|
||||
# Dependent on a special --force-orientation option in gamescope
|
||||
if ( gamescope --help 2>&1 | grep -e "--force-orientation" > /dev/null ) ; then
|
||||
export GAMESCOPECMD="/usr/bin/gamescope \
|
||||
-e \
|
||||
--xwayland-count 2 \
|
||||
-O *,eDP-1 \
|
||||
--default-touch-mode 4 \
|
||||
--hide-cursor-delay 3000 \
|
||||
--fade-out-duration 200 \
|
||||
--force-orientation left "
|
||||
fi
|
||||
fi
|
@ -1,271 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
export ENABLE_GAMESCOPE_WSI=1
|
||||
export DXVK_HDR=1
|
||||
|
||||
# Some environment variables by default (taken from Deck session)
|
||||
export SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0
|
||||
|
||||
# Enable Mangoapp
|
||||
export STEAM_USE_MANGOAPP=1
|
||||
export MANGOHUD_CONFIGFILE=$(mktemp /tmp/mangohud.XXXXXXXX)
|
||||
|
||||
export STEAM_USE_DYNAMIC_VRS=1
|
||||
export RADV_FORCE_VRS_CONFIG_FILE=$(mktemp /tmp/radv_vrs.XXXXXXXX)
|
||||
|
||||
# Plop GAMESCOPE_MODE_SAVE_FILE into $XDG_CONFIG_HOME (defaults to ~/.config).
|
||||
export GAMESCOPE_MODE_SAVE_FILE="${XDG_CONFIG_HOME:-$HOME/.config}/gamescope/modes.cfg"
|
||||
|
||||
# Make path to gamescope mode save file.
|
||||
mkdir -p "$(dirname "$GAMESCOPE_MODE_SAVE_FILE")"
|
||||
touch "$GAMESCOPE_MODE_SAVE_FILE"
|
||||
#echo "Making Gamescope Mode Save file at \"$GAMESCOPE_MODE_SAVE_FILE\""
|
||||
|
||||
# Support for gamescope tearing with GAMESCOPE_ALLOW_TEARING atom
|
||||
export STEAM_GAMESCOPE_HAS_TEARING_SUPPORT=1
|
||||
|
||||
# Enable tearing controls in steam
|
||||
export STEAM_GAMESCOPE_TEARING_SUPPORTED=1
|
||||
|
||||
# There is no way to set a color space for an NV12
|
||||
# buffer in Wayland. And the color management protocol that is
|
||||
# meant to let this happen is missing the color range...
|
||||
# So just workaround this with an ENV var that Remote Play Together
|
||||
# and Gamescope will use for now.
|
||||
export GAMESCOPE_NV12_COLORSPACE=k_EStreamColorspace_BT601
|
||||
|
||||
# Initially write no_display to our config file
|
||||
# so we don't get mangoapp showing up before Steam initializes
|
||||
# on OOBE and stuff.
|
||||
mkdir -p "$(dirname "$MANGOHUD_CONFIGFILE")"
|
||||
echo "no_display" > "$MANGOHUD_CONFIGFILE"
|
||||
|
||||
# Prepare our initial VRS config file
|
||||
# for dynamic VRS in Mesa.
|
||||
mkdir -p "$(dirname "$RADV_FORCE_VRS_CONFIG_FILE")"
|
||||
echo "1x1" > "$RADV_FORCE_VRS_CONFIG_FILE"
|
||||
|
||||
# To expose vram info from radv
|
||||
export WINEDLLOVERRIDES=dxgi=n
|
||||
|
||||
# Workaround for steam getting killed immediatly during reboot
|
||||
export STEAMOS_STEAM_REBOOT_SENTINEL="/tmp/steamos-reboot-sentinel"
|
||||
|
||||
# Workaround for steam getting killed immediatly during shutdown
|
||||
# Same idea as reboot sentinel above
|
||||
export STEAMOS_STEAM_SHUTDOWN_SENTINEL="/tmp/steamos-shutdown-sentinel"
|
||||
|
||||
# Enable volume key management via steam for this session
|
||||
export STEAM_ENABLE_VOLUME_HANDLER=1
|
||||
|
||||
# Have SteamRT's xdg-open send http:// and https:// URLs to Steam
|
||||
export SRT_URLOPEN_PREFER_STEAM=1
|
||||
|
||||
# Disable automatic audio device switching in steam, now handled by wireplumber
|
||||
export STEAM_DISABLE_AUDIO_DEVICE_SWITCHING=1
|
||||
|
||||
# Enable support for xwayland isolation per-game in Steam
|
||||
export STEAM_MULTIPLE_XWAYLANDS=1
|
||||
|
||||
# We have the Mesa integration for the fifo-based dynamic fps-limiter
|
||||
export STEAM_GAMESCOPE_DYNAMIC_FPSLIMITER=1
|
||||
|
||||
# We have gamma/degamma exponent support
|
||||
export STEAM_GAMESCOPE_COLOR_TOYS=1
|
||||
|
||||
# We have NIS support
|
||||
export STEAM_GAMESCOPE_NIS_SUPPORTED=1
|
||||
|
||||
# Don't wait for buffers to idle on the client side before sending them to gamescope
|
||||
export vk_xwayland_wait_ready=false
|
||||
|
||||
# Let steam know it can unmount drives without superuser privileges
|
||||
export STEAM_ALLOW_DRIVE_UNMOUNT=1
|
||||
|
||||
# We no longer need to set GAMESCOPE_EXTERNAL_OVERLAY from steam, mangoapp now does it itself
|
||||
export STEAM_DISABLE_MANGOAPP_ATOM_WORKAROUND=1
|
||||
|
||||
# Enable horizontal mangoapp bar
|
||||
export STEAM_MANGOAPP_HORIZONTAL_SUPPORTED=1
|
||||
|
||||
# Scaling support
|
||||
export STEAM_GAMESCOPE_FANCY_SCALING_SUPPORT=1
|
||||
|
||||
# Set input method modules for Qt/GTK that will show the Steam keyboard
|
||||
export QT_IM_MODULE=steam
|
||||
export GTK_IM_MODULE=Steam
|
||||
|
||||
# To play nice with the short term callback-based limiter for now
|
||||
export GAMESCOPE_LIMITER_FILE=$(mktemp /tmp/gamescope-limiter.XXXXXXXX)
|
||||
|
||||
# Use SteamOS background if exists
|
||||
if [ -f "/usr/share/steamos/steamos.png" ] ; then
|
||||
export STEAM_UPDATEUI_PNG_BACKGROUND=/usr/share/steamos/steamos.png
|
||||
fi
|
||||
|
||||
ulimit -n 524288
|
||||
|
||||
# Source device quirks if exists
|
||||
if [ -f /usr/share/gamescope-session/device-quirks ]; then
|
||||
. /usr/share/gamescope-session/device-quirks
|
||||
fi
|
||||
|
||||
# Source environment from ~/.config/environment.d with user overrides
|
||||
set -a
|
||||
for i in "${HOME}"/.config/environment.d/*.conf ;
|
||||
do
|
||||
[[ -f "${i}" ]] && . "${i}"
|
||||
done
|
||||
set +a
|
||||
|
||||
# Setup socket for gamescope
|
||||
# Create run directory file for startup and stats sockets
|
||||
tmpdir="$([[ -n ${XDG_RUNTIME_DIR+x} ]] && mktemp -p "$XDG_RUNTIME_DIR" -d -t gamescope.XXXXXXX)"
|
||||
socket="${tmpdir:+$tmpdir/startup.socket}"
|
||||
stats="${tmpdir:+$tmpdir/stats.pipe}"
|
||||
# Fail early if we don't have a proper runtime directory setup
|
||||
if [[ -z $tmpdir || -z ${XDG_RUNTIME_DIR+x} ]]; then
|
||||
echo >&2 "!! Failed to find run directory in which to create stats session sockets (is \$XDG_RUNTIME_DIR set?)"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
export GAMESCOPE_STATS="$stats"
|
||||
mkfifo -- "$stats"
|
||||
mkfifo -- "$socket"
|
||||
|
||||
# Attempt to claim global session if we're the first one running (e.g. /run/1000/gamescope)
|
||||
linkname="gamescope-stats"
|
||||
# shellcheck disable=SC2031 # (broken warning)
|
||||
sessionlink="${XDG_RUNTIME_DIR:+$XDG_RUNTIME_DIR/}${linkname}" # Account for XDG_RUNTIME_DIR="" (notfragileatall)
|
||||
lockfile="$sessionlink".lck
|
||||
exec 9>"$lockfile" # Keep as an fd such that the lock lasts as long as the session if it is taken
|
||||
if flock -n 9 && rm -f "$sessionlink" && ln -sf "$tmpdir" "$sessionlink"; then
|
||||
# Took the lock. Don't blow up if those commands fail, though.
|
||||
echo >&2 "Claimed global gamescope stats session at \"$sessionlink\""
|
||||
else
|
||||
echo >&2 "!! Failed to claim global gamescope stats session"
|
||||
fi
|
||||
|
||||
# Use cursor if file exist
|
||||
if [ -z "$CURSOR_FILE" ] ; then
|
||||
CURSOR_FILE="${HOME}/.local/share/Steam/tenfoot/resource/images/cursors/arrow_right.png"
|
||||
fi
|
||||
CURSOR=""
|
||||
if [ -f "$CURSOR_FILE" ] ; then
|
||||
CURSOR="--cursor ${CURSOR_FILE}"
|
||||
fi
|
||||
|
||||
# Define session if not overriden
|
||||
if [ -z "$STEAMCMD" ] ; then
|
||||
STEAMCMD="steam -gamepadui -newbigpicture -steamdeck -steamos3"
|
||||
fi
|
||||
|
||||
if [ -z "$GAMESCOPECMD" ] ; then
|
||||
RESOLUTION=""
|
||||
if [ -n "$SCREEN_WIDTH" ] && [ -n "$SCREEN_HEIGHT" ] ; then
|
||||
RESOLUTION="-W $SCREEN_WIDTH -H $SCREEN_HEIGHT"
|
||||
fi
|
||||
GAMESCOPECMD="/usr/bin/gamescope \
|
||||
$CURSOR \
|
||||
--hdr-enabled \
|
||||
--hdr-itm-enable \
|
||||
-e \
|
||||
$RESOLUTION \
|
||||
--xwayland-count 2 \
|
||||
-O *,eDP-1 \
|
||||
--default-touch-mode 4 \
|
||||
--hide-cursor-delay 3000 \
|
||||
--fade-out-duration 200 \
|
||||
-R $socket -T $stats"
|
||||
else
|
||||
# Add socket and stats read
|
||||
GAMESCOPECMD+=" -R $socket -T $stats"
|
||||
fi
|
||||
|
||||
# Workaround for Steam login issue while Steam client change propagates out of Beta
|
||||
touch "${HOME}"/.steam/root/config/SteamAppData.vdf || true
|
||||
|
||||
# Log rotate the last session
|
||||
if [ -f "${HOME}"/.steam-tweaks.log ]; then
|
||||
cp "${HOME}"/.steam-tweaks.log "${HOME}"/.steam-tweaks.log.old
|
||||
fi
|
||||
if [ -f "${HOME}"/.steam-stdout.log ]; then
|
||||
cp "${HOME}"/.steam-stdout.log "${HOME}"/.steam-stdout.log.old
|
||||
fi
|
||||
if [ -f "${HOME}"/.gamescope-stdout.log ]; then
|
||||
cp "${HOME}"/.gamescope-stdout.log "${HOME}"/.gamescope-stdout.log.old
|
||||
fi
|
||||
|
||||
# Start gamescope compositor, log it's output and background it
|
||||
$GAMESCOPECMD > "${HOME}"/.gamescope-stdout.log 2>&1 &
|
||||
gamescope_pid="$!"
|
||||
|
||||
if read -r -t 3 response_x_display response_wl_display <> "$socket"; then
|
||||
export DISPLAY="$response_x_display"
|
||||
export GAMESCOPE_WAYLAND_DISPLAY="$response_wl_display"
|
||||
# We're done!
|
||||
else
|
||||
kill -9 "$gamescope_pid"
|
||||
wait
|
||||
exit 0
|
||||
# Systemd or Session manager will have to restart session
|
||||
fi
|
||||
|
||||
# Run steam-tweaks if exists
|
||||
if command -v steam-tweaks > /dev/null; then
|
||||
steam-tweaks > "${HOME}"/.steam-tweaks.log
|
||||
fi
|
||||
|
||||
# Input method support if present
|
||||
if command -v /usr/bin/ibus-daemon > /dev/null; then
|
||||
/usr/bin/ibus-daemon -d -r --panel=disable --emoji-extension=disable
|
||||
fi
|
||||
|
||||
# If we have mangoapp binary start it
|
||||
if command -v mangoapp > /dev/null; then
|
||||
mangoapp > "${HOME}"/.mangoapp-stdout.log 2>&1 &
|
||||
fi
|
||||
|
||||
# Start Steam client
|
||||
$STEAMCMD > "${HOME}"/.steam-stdout.log 2>&1
|
||||
|
||||
# When the client exits, kill gamescope nicely
|
||||
kill $gamescope_pid
|
||||
|
||||
# Start a background sleep for five seconds because we don't trust it
|
||||
sleep 5 &
|
||||
sleep_pid="$!"
|
||||
|
||||
# Catch reboot and poweroof sentinels here
|
||||
if [[ -e "$STEAMOS_STEAM_REBOOT_SENTINEL" ]]; then
|
||||
rm -f "$STEAMOS_STEAM_REBOOT_SENTINEL"
|
||||
reboot
|
||||
fi
|
||||
if [[ -e "$STEAMOS_STEAM_SHUTDOWN_SENTINEL" ]]; then
|
||||
rm -f "$STEAMOS_STEAM_SHUTDOWN_SENTINEL"
|
||||
poweroff
|
||||
fi
|
||||
|
||||
# Wait for gamescope or the sleep to finish for timeout purposes
|
||||
ret=0
|
||||
wait -n $gamescope_pid $sleep_pid || ret=$?
|
||||
|
||||
# If we get a SIGTERM/etc while waiting this happens. Proceed to kill -9 everything but complain
|
||||
if [[ $ret = 127 ]]; then
|
||||
echo >&2 "gamescope-session: Interrupted while waiting on teardown, force-killing remaining tasks"
|
||||
fi
|
||||
|
||||
# Kill all remaining jobs and warn if unexpected things are in there (should be just sleep_pid, unless gamescope failed
|
||||
# to exit in time or we hit the interrupt case above)
|
||||
for job in $(jobs -p); do
|
||||
# Warn about unexpected things
|
||||
if [[ $ret != 127 && $job = "$gamescope_pid" ]]; then
|
||||
echo >&2 "gamescope-session: gamescope timed out while exiting, killing"
|
||||
elif [[ $ret != 127 && $job != "$sleep_pid" ]]; then
|
||||
echo >&2 "gamescope-session: unexpected background pid $job at teardown: "
|
||||
# spew some debug about it
|
||||
ps -p "$job" >&2
|
||||
fi
|
||||
kill -9 "$job"
|
||||
done
|
||||
|
@ -1,32 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE policyconfig PUBLIC
|
||||
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
|
||||
<policyconfig>
|
||||
|
||||
<vendor>ChimeraOS Chimera</vendor>
|
||||
<vendor_url>http://chimeraos.org</vendor_url>
|
||||
|
||||
<action id="org.chimeraos.policykit.steamos.pkexec.run-steamos-update">
|
||||
<description>Main update script from Steam client</description>
|
||||
<icon_name>package-x-generic</icon_name>
|
||||
<defaults>
|
||||
<allow_any>yes</allow_any>
|
||||
<allow_inactive>yes</allow_inactive>
|
||||
<allow_active>yes</allow_active>
|
||||
</defaults>
|
||||
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/steamos-polkit-helpers/steamos-update</annotate>
|
||||
</action>
|
||||
|
||||
<action id="org.chimeraos.policykit.steamos.pkexec.run-jupiter-biosupdate">
|
||||
<description>Dummy script for jupiter-biosupdate on Steam client</description>
|
||||
<icon_name>package-x-generic</icon_name>
|
||||
<defaults>
|
||||
<allow_any>yes</allow_any>
|
||||
<allow_inactive>yes</allow_inactive>
|
||||
<allow_active>yes</allow_active>
|
||||
</defaults>
|
||||
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/steamos-polkit-helpers/jupiter-biosupdate</annotate>
|
||||
</action>
|
||||
|
||||
</policyconfig>
|
4
main.sh
4
main.sh
@ -7,7 +7,11 @@ add-apt-repository ppa:pikaos/pika
|
||||
add-apt-repository ppa:kubuntu-ppa/backports
|
||||
|
||||
# Clone Upstream
|
||||
git clone https://github.com/KyleGospo/gamescope-session
|
||||
cp -rvf ./debian ./gamescope-session
|
||||
cd ./gamescope-session
|
||||
patch -Np1 -i ./fedora.patch
|
||||
patch -Np1 -i ../patches/0001-update-to-work-on-nobara-with-hdr.patch
|
||||
|
||||
# Get build deps
|
||||
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
|
||||
|
34
patches/0001-update-to-work-on-nobara-with-hdr.patch
Normal file
34
patches/0001-update-to-work-on-nobara-with-hdr.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From 9611d3d68b659a1328836f77fc209eb6db534320 Mon Sep 17 00:00:00 2001
|
||||
From: GloriousEggroll <gloriouseggroll@gmail.com>
|
||||
Date: Wed, 11 Jan 2023 10:08:19 -0700
|
||||
Subject: [PATCH] update to work on nobara with hdr
|
||||
|
||||
---
|
||||
usr/share/gamescope-session/gamescope-session-script | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/usr/share/gamescope-session/gamescope-session-script b/usr/share/gamescope-session/gamescope-session-script
|
||||
index 5c99641..7f3982a 100755
|
||||
--- a/usr/share/gamescope-session/gamescope-session-script
|
||||
+++ b/usr/share/gamescope-session/gamescope-session-script
|
||||
@@ -1,4 +1,7 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/bash
|
||||
+
|
||||
+export ENABLE_GAMESCOPE_WSI=1
|
||||
+export DXVK_HDR=1
|
||||
|
||||
# Fix intel color corruption
|
||||
# might come with some performance degradation but is better than a corrupted
|
||||
@@ -169,6 +172,8 @@ if [ -z "$GAMESCOPECMD" ] ; then
|
||||
fi
|
||||
GAMESCOPECMD="/usr/bin/gamescope \
|
||||
$CURSOR \
|
||||
+ --hdr-enabled \
|
||||
+ --hdr-itm-enable \
|
||||
-e \
|
||||
$RESOLUTION \
|
||||
--xwayland-count 2 \
|
||||
--
|
||||
2.39.2
|
||||
|
@ -5,7 +5,7 @@ dpkg-sig --sign builder ./output/*.deb
|
||||
rsync -azP --exclude '*.deb' ferreo@direct.pika-os.com:/srv/www/pikappa/ ./output/repo
|
||||
|
||||
# Add the new package to the repo
|
||||
reprepro -V --basedir ./output/repo/ includedeb kinetic ./output/*.deb
|
||||
reprepro -V --basedir ./output/repo/ includedeb lunar ./output/*.deb
|
||||
|
||||
# Push the updated ppa repo to the server
|
||||
rsync -azP ./output/repo/ ferreo@direct.pika-os.com:/srv/www/pikappa/
|
||||
|
Loading…
Reference in New Issue
Block a user