Skip to content
Anatoliy Kashkin edited this page Jul 8, 2020 · 6 revisions

Tweaks, similar to loaders and launch options, are settings that can improve performance, compatibility, or can add new features.

Tweaks are defined with JSON (.json) files under the tweaks/ directory in GameHub's configuration directory, e.g. $HOME/.config/com.github.tkashkin.gamehub/tweaks.

Included tweaks

The following bullets are tweaks that are included in GameHub:

  • Feral GameMode — apply temporary optimizations to the game process and OS
  • Radeon ACO Vulkan Compiler — use a hardware-based shader compiler on AMD GPUs, improves loading times with DXVK and native Vulkan games
  • Wine/Proton specific tweaks — used to improve compatibility with some Windows games

Additional tweaks

GameHub will load custom tweaks from data directories listed in Settings. Tweaks can be overridden by new tweaks with the same id.

The following tweaks are additional tweaks done by the community. The JSON files will be located under the tweaks/ directory. Everything between and including "{" and "}" will have to be pasted in the JSON files.

Original issue: https://github.com/tkashkin/GameHub/issues/380

File name: vkbasalt.json

{
	"id": "vkbasalt",
	"name": "vkBasalt",
	"description": "Vulkan post processing layer to enhance the visual graphics of games",
	"url": "https://github.com/DadSchoorse/vkBasalt",
	"env": {
		"ENABLE_VKBASALT": "1"
	}
}

Original issue: https://github.com/tkashkin/GameHub/issues/371

File name: mangohud.json

{
	"id": "mangohud",
	"name": "MangoHud",
	"description": "A modification of the Mesa Vulkan overlay. Including GUI improvements, temperature reporting, and logging capabilities",
	"url": "https://github.com/flightlessmango/MangoHud",
	"command": "mangohud ${command}"
}

Syntax

Tweaks are defined as JSON files.

Root of JSON file can either be an object (for a single tweak) or an array of objects (for multiple tweaks in a file).

Property Type Required Default Description
id string optional "file"
"file[i]"
Tweak's internal name. Tweaks with higher priority will replace tweaks with the same id
file - tweak's filename
i - tweak's index if file contains multiple tweaks
name string optional id Tweak's display name
description string optional Tweak's description
url string optional URL of the tweak/documentation/etc. Shown in UI as a clickable button
applicable_to object optional Tweak will only be used for games that match specified conditions
applicable_to.platforms string[] optional Restrict to games from specific platform (windows, linux, macos)
applicable_to.compat string[] optional Restrict to games using specific compatibility layers (wine, proton, ...)
command string optional Command to execute, uses ${command} as a placeholder for the game executable and other tweaks
env object optional Environment variables