From patchwork Sun Apr 21 08:29:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: dan X-Patchwork-Id: 63241 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 0767827BBE2; Sun, 21 Apr 2024 09:31:26 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id DA8AD27BBE9 for ; Sun, 21 Apr 2024 09:31:23 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rySbA-0005aB-MD; Sun, 21 Apr 2024 04:30:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rySb5-0005Yi-OW for guix-patches@gnu.org; Sun, 21 Apr 2024 04:30:53 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rySb5-0003pm-Gl for guix-patches@gnu.org; Sun, 21 Apr 2024 04:30:51 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rySbK-0006Ha-M3 for guix-patches@gnu.org; Sun, 21 Apr 2024 04:31:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#70493] [PATCH 4/4] gnu: Add gamescope. Resent-From: dan Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 21 Apr 2024 08:31:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 70493 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 70493@debbugs.gnu.org Cc: john.kehayias@protonmail.com Received: via spool by 70493-submit@debbugs.gnu.org id=B70493.171368823723925 (code B ref 70493); Sun, 21 Apr 2024 08:31:06 +0000 Received: (at 70493) by debbugs.gnu.org; 21 Apr 2024 08:30:37 +0000 Received: from localhost ([127.0.0.1]:41439 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rySao-0006DV-SY for submit@debbugs.gnu.org; Sun, 21 Apr 2024 04:30:37 -0400 Received: from fhigh6-smtp.messagingengine.com ([103.168.172.157]:58441) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rySaa-00069n-7A for 70493@debbugs.gnu.org; Sun, 21 Apr 2024 04:30:24 -0400 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfhigh.nyi.internal (Postfix) with ESMTP id D633B1140085; Sun, 21 Apr 2024 04:29:59 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Sun, 21 Apr 2024 04:29:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dan.games; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1713688199; x=1713774599; bh=cDKSW7mXAkTX5IJ/yp1RsEihMM/Nkdu0qzpZmFRzq2s=; b= mWfpdxmg6xQlun7SeRvEMqrbWjh6r8Subh9KIOhxa8sZS5yKzIxeffoF3lTbJ8OR RYKVwWEgSO9VcMuetsklUAHRoUgZZEJbAQqcf68igXq53UTOpSW8DnmE6GCnrKU/ f6BndBcmrp6Ql8an5sVKOAO9WR9XU6IIuu5oJPcT/KVhuBspYKHPfIkAx/nqZi04 I0Tv3eO5LUavred96+ghcduS8iWtykAR0+74oLRnTVH76zD4CqzymlMC5jDzWLvt e6pLL/3ENJ0o+7ULrzHiywG9Sd3r01YrbdBNml1x2hQVA6g6CflJriB0i+ARGxGy ZvHef2CMMDYpH665NAJbtg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1713688199; x= 1713774599; bh=cDKSW7mXAkTX5IJ/yp1RsEihMM/Nkdu0qzpZmFRzq2s=; b=A A5Z3szG1gdVnolCDEQu0R9JsYhOTYdij0fqkhDtp6hQH3cVeInoNxeU0Bj0L9Y6k 66ZdwE9pUrEqQ+lS59B82MZfqtbNgq1ue1skH8/ulFEk96eYK0lR1xYbJMYGj6mD q3io4Y3WkSCFAorn/WvaLvXRSz229TeQ+H/7jjgzx4RfyG59DEyA2pNQz0i/bIHP 06Cr9WjsmcnapK6KsGfwTikAxgdSodFqIhsv6pCZj42rHd6wSGiZ1PSVstVYGGNs FX8WXkVAi5EN2axQcJdVChQCkc7fSuXVQGgxtQCic/ufT3RO1iKhO9tTtjOT68lF 2RyqrirF2HBAYEQ8YTv4g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudekjedgtdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgfrhhlucfvnfffucdludejmdenucfjughrpefhvf evufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepuggrnhcuoehisegurghn rdhgrghmvghsqeenucggtffrrghtthgvrhhnpeehhefhieetveeuledtudetheehgfelue eigeekjeduieevveeuteeuhefftdevjeenucffohhmrghinhepghhithhhuhgsrdgtohhm necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepihesug grnhdrghgrmhgvsh X-ME-Proxy: Feedback-ID: i3b5946ed:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 21 Apr 2024 04:29:57 -0400 (EDT) From: dan Date: Sun, 21 Apr 2024 16:29:32 +0800 Message-ID: <0ca550e23940a3918fd7f42e9383ee188cbea9b5.1713687359.git.i@dan.games> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/wm.scm (%gamescope-version): New variable. (reshade-for-gamescope): New variable. (gamescope): New variable. Change-Id: If86bc6127144854189f8fa66415f32bc80a26d6b --- gnu/packages/wm.scm | 110 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 2eecc0ed2a..8d816e2e28 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -70,6 +70,7 @@ ;;; Copyright © 2024 Ahmad Draidi ;;; Copyright © 2024 chris ;;; Copyright © 2024 Erik Eduardo Alonso Hernández +;;; Copyright © 2024 dan ;;; ;;; This file is part of GNU Guix. ;;; @@ -105,6 +106,7 @@ (define-module (gnu packages wm) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages bash) + #:use-module (gnu packages benchmark) #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages base) @@ -142,6 +144,7 @@ (define-module (gnu packages wm) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages man) + #:use-module (gnu packages maths) #:use-module (gnu packages mpd) #:use-module (gnu packages pciutils) #:use-module (gnu packages music) @@ -155,12 +158,15 @@ (define-module (gnu packages wm) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages sdl) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) + #:use-module (gnu packages stb) #:use-module (gnu packages suckless) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) #:use-module (gnu packages time) + #:use-module (gnu packages vulkan) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) @@ -3856,3 +3862,107 @@ (define-public yambar-wayland for short) for X11 and Wayland, that goes to great lengths to be both CPU and battery efficient---polling is only done when absolutely necessary.") (license license:expat))) + +(define %gamescope-version "3.14.2") + +(define reshade-for-gamescope + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Joshua-Ashton/reshade") + (commit "9fdbea6892f9959fdc18095d035976c574b268b7"))) + (file-name (git-file-name "reshade-for-gamescope" %gamescope-version)) + (sha256 + (base32 "1par0ay973l0bvlz0fsg3v1fxgrnn888yc0hx3ikkyc0jbbf59bg")))) + +(define-public gamescope + (package + (name "gamescope") + (version %gamescope-version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ValveSoftware/gamescope") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0x7gh1rr2ismqfkaa4wm7025acjpgmims41iwzdcps5pg8nxmmhh")))) + (build-system meson-build-system) + (arguments + (list #:configure-flags #~(list "-Dpipewire=enabled" + "-Denable_openvr_support=false" + "-Dforce_fallback_for=[]" + (string-append "-Dc_args=-DHWDATA_PNP_IDS=\"" + #$(this-package-native-input "hwdata") + "/share/hwdata/pnp.ids\"")) + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch-deps + (lambda _ + (substitute* "src/reshade_effect_manager.cpp" + (("/usr") #$output)) + (substitute* "src/meson.build" + ;; patch stb + (("dependency\\('stb'\\)") + (format #f "declare_dependency(include_directories: ['~a'])" + (string-join + '#$(map (lambda (label) (this-package-native-input label)) + (list "stb-image" + "stb-image-resize" + "stb-image-write")) + "','"))) + ;; patch libdisplay-info + (("< 0.2.0") + (string-append "<= " #$(package-version (this-package-input "libdisplay-info")))) + (("reshade/") (string-append #$reshade-for-gamescope "/")) + (("../thirdparty/SPIRV-Headers") #$(this-package-native-input "spirv-headers")))))))) + (inputs + (list glm + libavif-1.0 + libcap + libdisplay-info + libdrm + libinput + libliftoff + libx11 + libxcomposite + libxcursor + libxdamage + libxext + libxkbcommon + libxmu + libxrender + libxres + libxt + libxtst + pipewire + sdl2 + vulkan-loader + wayland + wlroots)) + (native-inputs + (list benchmark + ;; Lazily resolve the gcc-toolchain-12 to avoid a circular dependency. + (module-ref (resolve-interface '(gnu packages commencement)) + 'gcc-toolchain-12) + glslang + `(,hwdata "pnp") + pkg-config + stb-image + stb-image-resize + stb-image-write + spirv-headers + vkroots + vulkan-headers + wayland-protocols)) + (home-page "https://github.com/ValveSoftware/gamescope") + (synopsis "Micro-compositor for running games") + (description + "gamescope is a micro-compositor for running games. Its goal is to +provide an isolated compositor that is tailored towards gaming and supports +many gaming-centric features such as: +@itemize +@item Spoofing resolutions. +@item Upscaling. +@item Limiting framerates. +@end itemize") + (license license:bsd-2)))