From 8e96f32070dd1c7b1e8c630273ab01f0fdf5b4f7 Mon Sep 17 00:00:00 2001 From: Farhan Hakim D Date: May 14 2025 09:18:02 +0000 Subject: Add gamescope installation and usage guide --- diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 05d5ceb..69c60ea 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -8,6 +8,7 @@ * xref:optimization-and-tools.adoc[Optimization & Tools] ** xref:controllers.adoc[Controllers] ** xref:monitoring.adoc[Monitoring Tools] +** xref:gamescope.adoc[Gamescope] * xref:game-development.adoc[Game Development] * xref:community.adoc[Gaming Community] * xref:game-links.adoc[Gaming Links] diff --git a/modules/ROOT/pages/gamescope.adoc b/modules/ROOT/pages/gamescope.adoc new file mode 100644 index 0000000..bc65e7d --- /dev/null +++ b/modules/ROOT/pages/gamescope.adoc @@ -0,0 +1,102 @@ + += Gamescope + +== Introduction == + +Gamescope is an compositor (micro-compositor) by Valve that runs nested and isolated from the OS desktop compositors. This allow gaming specific tweaks and features to be implemented regardless of desktop environment support. It also used by default in Valve's Steam Deck. + +=== Features === +Here are some of the well know features of gamescope tailored for gaming. + +* Resolution spoof to set or force a game to run at specific resolution and/or ratio (eg. 4:3 screen ratio stretch) +* Upscalling patch regardless of game support, either AMD FSR or Nvidia Image Scalling (NIS) can be use. +* Reshade support +* HDR support +* Frame limiter (useful for games that does not have built in frame limiter) + +== Installation == + +Gamescope package should included during steam installation as detailed xref:proton.adoc[here] and does not need further configuration. +If the package is not installed, you can install it manually using the following command. +[source,bash] +---- +sudo dnf install gamescope +---- + +For flatpak installation, use the following command. +[source,bash] +---- +flatpak install gamescope +---- + +=== Requirements === + +In order to use gamescope without issues, ensure that the following requirements are met based on your GPU: + +* AMD: Mesa 20.3 and above +* Intel: Mesa 21.2 and above +* Nvidia: Proprietary drivers 515.43.04 or above / Nvidia Open Kernel drivers + +[IMPORTANT] +-- +For fairly recent nvidia GPU user, most user reported better performance and experience when using the Nvidia Open Kernel Module drivers. +You can try to install the Kernel Open Driver using the following command. +[source,bash] +---- +sudo dnf install rpmfusion-nonfree-release-tainted +sudo dnf swap akmod-nvidia akmod-nvidia-open +---- +Nvidia users will also need to set `nvidia_drm.modeset=1` in their system's kernel parameters for gamescope to work properly. This can be done using the following command. +[source,bash] +---- +sudo grubby --update-kernel=ALL --args='nvidia-drm.modeset=1' +---- +-- + +// TODO Farhan: Need someone with nvidia hardware to verify as I only have AMD hardware. + +== Usage == + +In order to run your games using gamescope, you will need to attach `gamescope` as the game launch option. Below is the example of launch option when using steam with no gamescope options. +---- +gamescope -- %command% +---- + +To see the full list of options applicable for gamescope, run the following in your terminal. +[source,bash] +---- +gamescope --help +---- + +Below is a few example of common options used to launch games. + +* Run a game with a 1920x1080 resolution fixed at 60hz refresh rate. ++ +---- +gamescope -W 1920 -H 1080 -r 60 -- %command% +---- ++ +* Run a game with with FSR upscalling from 720p to 1440p ++ +---- +gamescope -h 720p -H 1440 -F fsr -- %command% +---- +NOTE: gamescope support both FSR and Nvidia Image Scalling (NIS) upscalling method, you can switch from `-F fsr` to `-F nis` if you want to use NIS as your upscaller. ++ +* Enable HDR rendering in supported games and displays ++ +---- +gamescope --hdr-enabled -- %command% +---- ++ +* Enable gamescope variable refresh rate (VRR) for supported displays ++ +---- +gamescope --adaptive-sync -- %command% +---- + + +[TIP] +-- +You can combine multiple options based on your use case, it is recommended to read the options and its uses using the command `gamescope --help` on your terminal. +--