Merge branch 'master' into 'master'
nongnu: Add steamos-modeswitch-inhibitor; steamos-compositor-plus. See merge request nonguix/nonguix!262
This commit is contained in:
commit
e92b084b2b
|
@ -44,12 +44,14 @@
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix records)
|
#:use-module (guix records)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix git-download)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
#:use-module (guix build-system trivial)
|
#:use-module (guix build-system trivial)
|
||||||
#:use-module (guix transformations)
|
#:use-module (guix transformations)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages audio)
|
#:use-module (gnu packages audio)
|
||||||
|
#:use-module (gnu packages autotools)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
#:use-module (gnu packages certs)
|
#:use-module (gnu packages certs)
|
||||||
|
@ -72,12 +74,15 @@
|
||||||
#:use-module (gnu packages logging)
|
#:use-module (gnu packages logging)
|
||||||
#:use-module (nongnu packages nvidia)
|
#:use-module (nongnu packages nvidia)
|
||||||
#:use-module (gnu packages pciutils)
|
#:use-module (gnu packages pciutils)
|
||||||
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages pulseaudio)
|
#:use-module (gnu packages pulseaudio)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages python-web)
|
#:use-module (gnu packages python-web)
|
||||||
#:use-module (gnu packages python-xyz)
|
#:use-module (gnu packages python-xyz)
|
||||||
|
#:use-module (gnu packages sdl)
|
||||||
#:use-module (gnu packages toolkits)
|
#:use-module (gnu packages toolkits)
|
||||||
#:use-module (gnu packages video)
|
#:use-module (gnu packages video)
|
||||||
|
#:use-module (gnu packages xorg)
|
||||||
#:use-module (nonguix utils))
|
#:use-module (nonguix utils))
|
||||||
|
|
||||||
(define-record-type* <nonguix-container>
|
(define-record-type* <nonguix-container>
|
||||||
|
@ -736,3 +741,163 @@ all games will be installed."))))
|
||||||
(description "ProtonUp-ng is a CLI program and API to automate the installation
|
(description "ProtonUp-ng is a CLI program and API to automate the installation
|
||||||
and update of GloriousEggroll's Proton-GE.")
|
and update of GloriousEggroll's Proton-GE.")
|
||||||
(license license:gpl3)))
|
(license license:gpl3)))
|
||||||
|
|
||||||
|
(define-public steamos-modeswitch-inhibitor
|
||||||
|
(package
|
||||||
|
(name "steamos-modeswitch-inhibitor")
|
||||||
|
(version "1.10")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri
|
||||||
|
(string-append
|
||||||
|
"http://repo.steampowered.com/steamos/pool/main/s/steamos-modeswitch-inhibitor/steamos-modeswitch-inhibitor_"
|
||||||
|
version
|
||||||
|
".tar.xz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1lskfb4l87s3naz2gmc22q0xzvlhblywf5z8lsiqnkrrxnpbbwj7"))))
|
||||||
|
(native-inputs
|
||||||
|
(list autoconf
|
||||||
|
automake
|
||||||
|
pkg-config))
|
||||||
|
(inputs
|
||||||
|
(list libxxf86vm
|
||||||
|
libx11
|
||||||
|
libxrender
|
||||||
|
libxrandr))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(home-page "http://repo.steampowered.com/steamos/pool/main/s/steamos-modeswitch-inhibitor/")
|
||||||
|
(synopsis "SteamOS Mode Switch Inhibitor")
|
||||||
|
(description "Shared library which fakes any mode switch attempts to prevent full screen apps from changing resolution.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public steamos-compositor-plus
|
||||||
|
(let ((commit "e4b99dd5f56a388aa24fe3055d0e983cb3d5d32a")
|
||||||
|
(revision "0")
|
||||||
|
(version "1.3.0"))
|
||||||
|
(package
|
||||||
|
(name "steamos-compositor-plus")
|
||||||
|
(version (git-version version revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/ChimeraOS/steamos-compositor-plus")
|
||||||
|
(commit commit)))
|
||||||
|
(sha256
|
||||||
|
(base32 "0rqckj05389djc4ahzfy98p3z0p884gbbl94lbm06za72bhnidr5"))
|
||||||
|
(file-name (git-file-name name version))))
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases
|
||||||
|
%standard-phases
|
||||||
|
(add-after 'patch-source-shebangs 'copy-scripts
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(bin (string-append out "/bin"))
|
||||||
|
(share (string-append out "/share"))
|
||||||
|
(src (string-append share "/steamos-compositor-plus/bin"))
|
||||||
|
(scripts (string-append bin "/scripts")))
|
||||||
|
(mkdir-p scripts)
|
||||||
|
(copy-recursively "./usr/share" share)
|
||||||
|
(copy-recursively "./usr/bin" bin)
|
||||||
|
(find-files src (lambda (file stat)
|
||||||
|
(symlink file (string-append scripts "/" (basename file))))))))
|
||||||
|
(add-after 'copy-scripts 'patch-bin
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(share (string-append out "/share"))
|
||||||
|
(src (string-append share "/steamos-compositor-plus/bin"))
|
||||||
|
(bin (string-append out "/bin"))
|
||||||
|
(aplay (string-append (assoc-ref inputs "alsa-utils") "/bin/aplay"))
|
||||||
|
(pamixer (string-append (assoc-ref inputs "pamixer") "/bin/pamixer"))
|
||||||
|
(udevadm (string-append (assoc-ref inputs "eudev") "/bin/udevadm"))
|
||||||
|
(xset (string-append (assoc-ref inputs "xset") "/bin/xset"))
|
||||||
|
(xrandr (string-append (assoc-ref inputs "xrandr") "/bin/xrandr"))
|
||||||
|
(xinput (string-append (assoc-ref inputs "xinput") "/bin/xinput"))
|
||||||
|
(grep (string-append (assoc-ref inputs "grep") "/bin/grep"))
|
||||||
|
(steam (string-append (assoc-ref inputs "steam") "/bin/steam"))
|
||||||
|
(modeswitch-inhibitor (string-append
|
||||||
|
(assoc-ref inputs "steamos-modeswitch-inhibitor")
|
||||||
|
"/lib/libmodeswitch_inhibitor.so")))
|
||||||
|
(substitute* "./usr/bin/steamos-session"
|
||||||
|
;; No need to export scripts to PATH.
|
||||||
|
(("export.+\\{PATH\\}" line) (string-append "#" line))
|
||||||
|
(("\"steam ") (string-append "\"" steam " "))
|
||||||
|
(("export.+so" line) (string-append "export" " " "LD_PRELOAD=" modeswitch-inhibitor))
|
||||||
|
(("set_hd_mode.sh") (string-append bin "/scripts/set_hd_mode.sh"))
|
||||||
|
(("loadargb_cursor") (string-append bin "/loadargb_cursor"))
|
||||||
|
(("cp") "ln -s")
|
||||||
|
(("/usr/share/icons/steam/arrow.png")
|
||||||
|
(string-append share "/icons/steam/arrow.png"))
|
||||||
|
(("/usr/share/pixmaps/steam-bootstrapper.jpg")
|
||||||
|
(string-append share "/pixmaps/steam-bootstrapper.jpg"))
|
||||||
|
(("steamcompmgr") (string-append bin "/steamcompmgr"))
|
||||||
|
(("steam-browser.desktop") (string-append share "/applications/steam-browser.desktop"))
|
||||||
|
(("xset") xset))
|
||||||
|
(substitute* (string-append src "/set_hd_mode.sh")
|
||||||
|
(("xrandr") xrandr)
|
||||||
|
(("egrep") "grep -E")
|
||||||
|
(("grep") grep)
|
||||||
|
(("xinput") xinput)
|
||||||
|
(("udevadm") udevadm))
|
||||||
|
(substitute* (string-append src "/screen_toggle.sh")
|
||||||
|
(("xrandr") xrandr))
|
||||||
|
(substitute* (string-append src "/brightness_up.sh")
|
||||||
|
(("xrandr") xrandr))
|
||||||
|
(substitute* (string-append src "/brightness_down.sh")
|
||||||
|
(("xrandr") xrandr))
|
||||||
|
(substitute* (string-append src "/audio_volup.sh")
|
||||||
|
(("aplay") aplay)
|
||||||
|
(("pamixer") pamixer))
|
||||||
|
(substitute* (string-append src "/audio_voldown.sh")
|
||||||
|
(("aplay") aplay)
|
||||||
|
(("pamixer") pamixer))
|
||||||
|
(substitute* (string-append src "/audio_mute.sh")
|
||||||
|
(("aplay") aplay)
|
||||||
|
(("pamixer") pamixer))
|
||||||
|
(substitute* (string-append share "/xsessions/steamos.desktop")
|
||||||
|
(("steamos-session") (string-append bin "/steamos-session")))
|
||||||
|
(substitute* (string-append share "/applications/steam-browser.desktop")
|
||||||
|
(("steam ") (string-append steam " "))))))
|
||||||
|
(add-after 'patch-bin 'copy-bin
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(bin (string-append out "/bin")))
|
||||||
|
(install-file "./usr/bin/steamos-session" bin)
|
||||||
|
(chmod (string-append bin "/steamos-session") #o555)))))))
|
||||||
|
(native-inputs
|
||||||
|
(list autoconf
|
||||||
|
automake
|
||||||
|
pkg-config))
|
||||||
|
(propagated-inputs
|
||||||
|
(list xinit
|
||||||
|
xorg-server))
|
||||||
|
(inputs
|
||||||
|
(list alsa-utils
|
||||||
|
eudev
|
||||||
|
grep
|
||||||
|
libxxf86vm
|
||||||
|
libx11
|
||||||
|
libxrender
|
||||||
|
libxcomposite
|
||||||
|
libgudev
|
||||||
|
glu
|
||||||
|
pamixer
|
||||||
|
sdl-image
|
||||||
|
steam
|
||||||
|
xinput
|
||||||
|
xset
|
||||||
|
xrandr
|
||||||
|
steamos-modeswitch-inhibitor))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(home-page "https://github.com/ChimeraOS/steamos-compositor-plus")
|
||||||
|
(synopsis "Compositor used by SteamOS 2.x with some added tweaks and fixes")
|
||||||
|
(description "This is a fork of the SteamOS compositor, currently based on
|
||||||
|
version 1.35. It includes out of the box 4k (3840x2160) support, allows adjusting
|
||||||
|
resolution/refresh rate through a configuration file, hides the annoying color
|
||||||
|
flashing on startup of Proton games and adds a fix for games that start in
|
||||||
|
the background, including Dead Cells, The Count Lucanor, most Feral games
|
||||||
|
and probably others.")
|
||||||
|
(license license:gpl3+))))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user