From patchwork Wed Feb 23 22:35:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: John Kehayias X-Patchwork-Id: 37440 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 BD0D127BBE9; Wed, 23 Feb 2022 22:52:48 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,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 3524327BBEA for ; Wed, 23 Feb 2022 22:52:43 +0000 (GMT) Received: from localhost ([::1]:54988 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nN0V0-0000dW-9s for patchwork@mira.cbaines.net; Wed, 23 Feb 2022 17:52:42 -0500 Received: from eggs.gnu.org ([209.51.188.92]:60282) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nN0Es-000769-OQ for guix-patches@gnu.org; Wed, 23 Feb 2022 17:36:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:52877) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nN0Es-0001q2-Ea for guix-patches@gnu.org; Wed, 23 Feb 2022 17:36:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nN0Es-0000E0-DP for guix-patches@gnu.org; Wed, 23 Feb 2022 17:36:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#53015] [PATCH v2] Add mangohud. References: In-Reply-To: Resent-From: John Kehayias Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 23 Feb 2022 22:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 53015 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxim Cournoyer Cc: "53015@debbugs.gnu.org" <53015@debbugs.gnu.org>, Nicolas Goaziou Received: via spool by 53015-submit@debbugs.gnu.org id=B53015.1645655749845 (code B ref 53015); Wed, 23 Feb 2022 22:36:02 +0000 Received: (at 53015) by debbugs.gnu.org; 23 Feb 2022 22:35:49 +0000 Received: from localhost ([127.0.0.1]:46774 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nN0Ea-0000DV-J2 for submit@debbugs.gnu.org; Wed, 23 Feb 2022 17:35:49 -0500 Received: from mail-4322.protonmail.ch ([185.70.43.22]:47271) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nN0EY-0000DH-EK for 53015@debbugs.gnu.org; Wed, 23 Feb 2022 17:35:43 -0500 Date: Wed, 23 Feb 2022 22:35:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1645655735; bh=YjMW92wOlWiTCqCj8/JQYucvzdGI4gW9HYDGFj3VJjw=; h=Date:To:From:Cc:Reply-To:Subject:Message-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID; b=GMKiBRzP46VAhTQKkeOZVVBDVpHAmptFax3W0m193pqgJbcRnlMTIA5or10YGgHor 8A+ONDQdhJF3UsAP9YaCudwi24TcBAQHSk8DTF+Pz3V4bcVfATWJtJ4lrgxhqVCL80 RdSTcKnFWMaM6CW9uXgKGtRqY3p7p3RhkVusZcxtLMD1aXK8gh0su+d4q5hs/no2t3 YPRPS2x06/SPZXs4z0udpV00HjFfWZpFInBk8vWetek+QuMrqGTmRss/1nZXZDvK8c ihDaqb6+UgRJZWixejrJhXRopLQKVyTLN5bD9w5gQ1f/7A/Gp7iIupFlacKilab28s ly0zQtAKVj8WA== Message-ID: 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" Reply-to: John Kehayias X-ACL-Warn: , John Kehayias via Guix-patches X-Patchwork-Original-From: John Kehayias via Guix-patches via From: John Kehayias X-getmail-retrieved-from-mailbox: Patches Hi Maxim (and anyone else), Attached is an update to this patch series, reduced to just one patch. This relies on the hwdata package added in https://issues.guix.gnu.org/54069#2 and the update to imgui I sent in https://issues.guix.gnu.org/54132 With that, mangohud just uses imgui-1.86 (the newer version has a breaking change). The modifications to the meson.build is handled in a build phase substitute* rather than a patch, as it needs the imgui location. I've checked this builds and works. Let me know if any other modifications are needed, other than the hwdata and imgui fixes referenced. Thanks! John From 73babfb8747916fb8bd0584cffb7fcd4a2c469c7 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Wed, 23 Feb 2022 17:29:39 -0500 Subject: [PATCH] gnu: Add mangohud. * gnu/packages/graphics.scm (mangohud): New variable. --- gnu/packages/graphics.scm | 86 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 04f92e2b07..40ed72b323 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2021 Ekaitz Zarraga ;;; Copyright © 2021, 2022 Vinicius Monego ;;; Copyright © 2022 Michael Rohleder +;;; Copyright © 2022 John Kehayias ;;; ;;; This file is part of GNU Guix. ;;; @@ -80,11 +81,13 @@ (define-module (gnu packages graphics) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) + #:use-module (gnu packages logging) #:use-module (gnu packages llvm) #:use-module (gnu packages lua) #:use-module (gnu packages maths) #:use-module (gnu packages mp3) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages pciutils) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages photo) @@ -117,6 +120,7 @@ (define-module (gnu packages graphics) #:use-module (guix build-system python) #:use-module (guix build-system qt) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix hg-download) #:use-module ((guix licenses) #:prefix license:) @@ -863,6 +867,88 @@ (define-public alembic distills complex, animated scenes into a set of baked geometric results.") (license license:bsd-3))) +(define-public mangohud + (package + (name "mangohud") + (version "0.6.6-1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flightlessmango/MangoHud/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ka004wxkajmvs5vy60r4ckm7f169c61rrd46w6gywkaqf5yp1ab")))) + (build-system meson-build-system) + (arguments + (list + #:build-type "release" + #:configure-flags + #~(list "-Duse_system_vulkan=enabled" + "-Duse_system_spdlog=enabled" + "-Dwith_xnvctrl=disabled" + "-Dappend_libdir_mangohud=false" + (string-append "-Dvulkan_datadir=" + #$(this-package-input "vulkan-headers") + "/share")) + #:phases + #~(modify-phases %standard-phases + ;; Mangohud tries to build the imgui library as a meson submodule, + ;; so we change the dependency to the imgui input instead. + (add-after 'unpack 'unbundle-imgui + (lambda _ + (substitute* "meson.build" + (("dearimgui_sp = .*") + "") + (("dearimgui_sp.get_variable\\('imgui_dep'\\)") + (string-append "declare_dependency(dependencies: " + "cpp.find_library('imgui'), include_directories: '" + #$(this-package-input "imgui") "/include/imgui')"))))) + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/meson.build" + (("\\\\\\$LIB") + "lib")) + (substitute* "src/loaders/loader_libdrm.cpp" + (("libdrm.so.2") + (search-input-file inputs "/lib/libdrm.so.2")) + (("libdrm_amdgpu.so.1") + (search-input-file inputs "/lib/libdrm_amdgpu.so.1"))) + (substitute* "src/overlay.cpp" + (("glxinfo") + (search-input-file inputs "/bin/glxinfo"))) + (substitute* "src/loaders/loader_x11.cpp" + (("libX11.so.6") + (search-input-file inputs "/lib/libX11.so.6"))) + (substitute* "src/pci_ids.cpp" + (("/usr/share/hwdata/pci.ids") + (search-input-file inputs "share/hwdata/pci.ids"))) + (substitute* "src/dbus.cpp" + (("libdbus-1.so.3") + (search-input-file inputs "lib/libdbus-1.so.3")))))))) + (inputs + (list dbus + glslang + hwdata + imgui-1.86 + mesa + mesa-utils + libdrm + libx11 + python-mako + spdlog + vulkan-loader + vulkan-headers)) + (native-inputs + (list pkg-config python)) + (synopsis "Vulkan and OpenGL overlay for monitoring performance and hardware") + (description + "MangoHud is a Vulkan and OpenGL overlay for monitoring frames per second (FPS), +temperatures, CPU/GPU load and more.") + (home-page "https://github.com/flightlessmango/MangoHud/") + (license license:expat))) + (define-public ogre (package (name "ogre") -- 2.34.0