Linux · Steam / Lutris / Faugus · Proton · Arch / CachyOS

Gamescope & vkBasalt

Magpie, Lossless Scaling und „Fake DLSS“ gibt es unter Linux nicht – aber die Aufgabe ist dieselbe: das Spiel kleiner rendern, hochskalieren, nachschärfen. Gamescope und vkBasalt erledigen das für jedes Vulkan-, OpenGL- oder Proton-Spiel, ohne eine einzige Datei im Spielordner anzufassen.

gamescope 3.16+vkBasalt 0.3.2FSR 1 / NISWine-FSRkeine Anti-Cheat-Sorgen
01

Was hier passiert – und was nicht

Zwei Werkzeuge, zwei Aufgaben:

Gamescope

Ein eigener Mini-Compositor von Valve (der aus dem Steam Deck). Das Spiel rendert intern z. B. 1720×720, Gamescope skaliert auf die Monitorauflösung – mit FSR 1, NIS, Integer- oder linearem Scaling. Funktioniert mit jedem Programm, das ein Fenster hat.

vkBasalt

Ein Vulkan-Layer, der Effekte auf das fertige Bild legt: CAS-Schärfung, Deband, FXAA/SMAA, LUTs, ReShade-Shader. Greift bei allem, was über Vulkan läuft – DXVK und vkd3d-proton eingeschlossen, also praktisch jedes Proton-Spiel.

Ehrlich einsortiert

Das ist räumliches Upscaling ohne Bewegungsvektoren – wie Magpies „Fake DLSS“, Lossless Scaling oder FSR 1. Es kostet fast nichts und ist für Retro-Spiele, Pixel-Art und alte 3D-Titel ideal. Für aktuelle 3D-Spiele mit nativem DLSS/FSR 2+/XeSS ist der spieleigene Upscaler immer besser – siehe unten.

Weil nichts injiziert wird, gibt es keine Anti-Cheat-Diskussion: Gamescope ist ein Fenster, vkBasalt ein Vulkan-Layer wie MangoHud.

02

Installieren

sudo pacman -S gamescope vkbasalt lib32-vkbasalt # Kontrolle gamescope --version ls /usr/share/vulkan/implicit_layer.d/ | grep -i basalt

Auf CachyOS sind beide oft schon drauf. Gamescope braucht keine Konfiguration; vkBasalt liest ~/.config/vkBasalt/vkBasalt.conf (Schritt 6).

03

Render-Auflösung wählen

Dieselben Stufen, die DLSS und FSR benutzen – damit du weißt, was du dir antust. „Quality“ rendert zwei Drittel der Kantenlänge, also weniger als die Hälfte der Pixel.

Ausgabe · 100 % Quality · 67 % Balanced · 58 % Performance · 50 % Ultra Perf. · 33 %
Flächen maßstäblich: „Performance“ rendert ein Viertel der Pixel der Ausgabe.
MonitorQuality 67 %Balanced 58 %Performance 50 %Ultra Perf. 33 %
1920×10801280×7201114×626960×540640×360
2560×14401707×9601485×8351280×720853×480
3440×14402293×9601995×8351720×7201147×480
3840×21602560×14402227×12531920×10801280×720

Faustregel: Für FSR 1/NIS nicht unter „Balanced“ gehen – ohne zeitliche Daten wird darunter alles zu Brei. Für Pixel-Art zählt nur die native Auflösung des Spiels (siehe Retro-Beispiel).

04

Gamescope starten

Der Grundbefehl – Monitorauflösung groß, Renderauflösung klein, Upscaler wählen:

gamescope -W 2560 -H 1440 -w 1707 -h 960 -r 144 -f -F fsr --sharpness 2 -- <spiel>
ParameterBedeutung
-W … -H …Ausgabeauflösung = dein Monitor
-w … -h …Interne Renderauflösung (Tabelle oben)
-r 144Bildwiederholrate
-f / -bVollbild / rahmenloses Fenster
-F fsr|nis|pixel|nearest|linearUpscaler (siehe Karten unten)
--sharpness 0–20Nachschärfung, 0 = maximal. 2–5 sind vernünftig.
-S fit|fill|stretch|integer|autoWie das Bild in den Monitor passt (Seitenverhältnis)
-eSteam-Integration (Overlay, Controller)
--backend sdl|waylandBackend erzwingen, wenn der Start scheitert
--force-grab-cursorMaus im Fenster einsperren (bei Maus-Problemen)

Welcher Upscaler

-F fsr

3D-Spiele, Standardwahl. AMD FSR 1.0, läuft auf jeder GPU, gute Kantenrekonstruktion.

-F nis

NVIDIA Image Scaling – auch auf AMD/Intel. Etwas schärfer als FSR, neigt bei feinen Texturen zu Ringing.

-F pixel

Pixel-Art und Retro. Ganzzahlige Vervielfachung, jeder Pixel bleibt ein scharfes Quadrat.

-F nearest

Wie pixel, aber auch für krumme Faktoren – kann ungleichmäßige Pixelbreiten ergeben.

-F linear

Weich, ohne Nachschärfung. Für Video-lastige Programme oder wenn FSR zu „knackig“ wirkt.

In Steam

Rechtsklick → Eigenschaften → Startoptionen. %command% ist das Spiel:

gamescope -W 2560 -H 1440 -w 1707 -h 960 -r 144 -f -e -F fsr --sharpness 2 -- %command%

In Lutris / Faugus / Heroic

Lutris und Heroic haben eigene Gamescope-Schalter in den Spieloptionen (Auflösung, Upscaler auswählen – kein Kommando nötig). Faugus: Spieleinstellungen → Launch arguments, der Launcher hängt umu-run <spiel.exe> selbst dahinter:

gamescope -W 2560 -H 1440 -w 1707 -h 960 -r 144 -f -F fsr --sharpness 2 --

Retro-Spiel, das klassische Magpie-Szenario

Ein 640×480-Spiel, integer hochgezogen, Seitenverhältnis bleibt, schwarze Ränder links und rechts:

gamescope -W 2560 -H 1440 -w 640 -h 480 -f -F pixel -S fit -- <spiel> # -S stretch zieht das Bild stattdessen auf 16:9 bzw. 21:9

Beliebiges Programm

gamescope -W 2560 -H 1440 -w 1280 -h 720 -b -F fsr -- <programm>
05

Wine-FSR – ohne Gamescope

Proton-GE, Proton-CachyOS und Wine-Staging haben FSR 1 direkt in Wine eingebaut. Das Spiel läuft im exklusiven Vollbild mit niedrigerer Auflösung, Wine skaliert auf den Monitor. Kein extra Fenster, kein Compositor – dafür nur bei exklusivem Vollbild.

Steam-StartoptionenWINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FSR_STRENGTH=2 %command% # optional eine krumme Auflösung im Spielmenü anbieten: WINE_FULLSCREEN_FSR_CUSTOM_MODE=1707x960

Stärke 0 = maximal scharf, 5 = weich, Standard 2. Im Spiel dann die niedrige Auflösung im Grafikmenü wählen.

Nicht mit Vanilla-Proton

Valves eigenes Proton kennt diese Variablen nicht. Proton-GE, Proton-CachyOS oder Wine-Staging/GE in Lutris sind Pflicht.

06

vkBasalt – nachschärfen und mehr

Egal ob mit Gamescope, Wine-FSR oder nativ: vkBasalt legt Effekte auf das fertige Bild. Der wichtigste ist CAS (Contrast Adaptive Sharpening) – dieselbe Schärfung, die FSR und Magpie intern verwenden.

~/.config/vkBasalt/vkBasalt.conf# Effekte in Verarbeitungsreihenfolge, mit Doppelpunkt getrennt effects = cas # CAS: 0.0 (sanft) – 1.0 (hart). 0.4–0.6 ist der übliche Bereich. casSharpness = 0.5 # Alternativen / Ergänzungen: # dls – Denoised Luma Sharpening (dlsSharpness, dlsDenoise) # deband – Banding in Verläufen entfernen (gut vor cas: effects = deband:cas) # fxaa / smaa – Kantenglättung für Spiele ohne eigenes AA # lut – Farbkorrektur per PNG-LUT (lutFile = /pfad/lut.png) # Im Spiel an/aus toggleKey = Home enableOnLaunch = True

Aktiviert wird der Layer nur, wenn ENABLE_VKBASALT=1 gesetzt ist – sonst tut er nichts:

Steam-Startoptionen, kombiniert mit GamescopeENABLE_VKBASALT=1 gamescope -W 2560 -H 1440 -w 1707 -h 960 -r 144 -f -e -F fsr --sharpness 3 -- %command% # Spielspezifische Config statt der globalen: VKBASALT_CONFIG_FILE=/pfad/zur/spiel.conf

ReShade-Shader

git clone https://github.com/crosire/reshade-shaders ~/.config/reshade # dann in vkBasalt.conf: reshadeTexturePath = /home/DEINNAME/.config/reshade/Textures reshadeIncludePath = /home/DEINNAME/.config/reshade/Shaders LumaSharpen = /home/DEINNAME/.config/reshade/Shaders/LumaSharpen.fx effects = LumaSharpen

Vollständige Pfade, kein ~ – vkBasalt expandiert es nicht. Magpies .hlsl-Effekte (Anime4K, ACNet) sind ein eigenes Format und laufen nicht in vkBasalt.

07

Fehler beheben

ProblemLösung
Gamescope startet nicht (Vulkan-Fehler, NVIDIA)--backend sdl versuchen; -e weglassen; Treiber ≥ 555 für Wayland-Backend
Schwarzer Bildschirm unter Wayland--backend wayland explizit setzen, oder -b statt -f
Steam-Overlay fehlt-e hinzufügen
Maus versetzt oder eingesperrt--force-grab-cursor oder Fenstermodus -b
vkBasalt macht nichtsLäuft das Spiel über Vulkan (DXVK/vkd3d)? Ist ENABLE_VKBASALT=1 gesetzt? OpenGL-Spiele sieht der Layer nicht.
HDR-Farben falsch--hdr-enabled weglassen; HDR im Desktop prüfen. Unter KDE + NVIDIA noch wackelig.
Zu unscharf / zu scharf--sharpness (Gamescope) bzw. casSharpness (vkBasalt) – nicht beides hochdrehen
Framepacing ruckeltNur einen FPS-Limiter: Gamescope (-r + --framerate-limit), MangoHud oder das Spiel – nicht mehrere

Gamescope loggt auf stderr; bei Steam-Spielen hilft zusätzlich PROTON_LOG=1 (Log landet im Home als steam-<AppID>.log).

◆

Warum Magpie unter Linux nicht läuft

Magpie (Blinue) skaliert unter Windows beliebige Fenster per GPU-Shader. Jede Schicht davon ist an Windows gebunden – unter Wine geht es weder nativ noch mit Tricks:

KomponenteTechnikWarum nicht unter Linux
Fenster-CaptureWindows.Graphics.Capture / DXGI Desktop DuplicationKein Äquivalent; Wine hat keinen gemeinsamen Desktop-Compositor
RenderingD3D11-Compute-Shader, Overlay per Win32-HooksOverlay über fremde Fenster ist in Wine nicht abbildbar
OberflächeWinUI 3 / Windows App SDKVon Wine nicht unterstützt
BuildNur Windows x64 / ARM64Kein Linux-Build; ARM64-EXE startet auf x86-Wine gar nicht („Bad EXE format“)

Dasselbe gilt für Lossless Scaling (Steam-App): Windows-only. Der Community-Port lsfg-vk bringt zwar dessen Frame Generation unter Linux, braucht aber die gekaufte Windows-DLL aus dem Steam-Kauf – und ist ein anderes Thema.

◆

Wann du stattdessen echtes DLSS / FSR / XeSS willst

Hat das Spiel einen eingebauten temporalen Upscaler, nimm den – er kennt Bewegungsvektoren und Tiefe, Gamescope sieht nur das fertige Bild. Unter Proton läuft DLSS auf NVIDIA in aktuellen Versionen von Haus aus; falls es im Menü fehlt:

PROTON_ENABLE_NVAPI=1 %command% # Spiele mit NVIDIA Streamline (z. B. PoE 2) brauchen zusätzlich einen Prefix ≥ Windows 10: protontricks <AppID> win10

Fehlt ein Upscaler ganz (FSR 4 auf RDNA 4, XeSS, DLSS-Preset-Wechsel ohne NVIDIA-App), ist OptiScaler das Werkzeug – mit eigenem Guide inklusive Anti-Cheat-Warnung: OptiScaler sauber installieren.