Skip to content PULSAR
Docs Install
DocsThemesReleases Install Source on GitHub
Docs gamescale

gamescale

Your screen’s real resolution, for one game at a time.

How it works

Games get the screen’s real resolution. The desktop gets its scaling back when they quit.

With GNOME’s fractional scaling on, an X11 game is handed a whole-number multiple of your scaled resolution, never the screen’s own. At 133% on a 2560×1600 laptop no multiple lands on the hardware, so a borderless game renders too small and gets stretched, or too big and gets shrunk.

Resolution reported to an XWayland game at each scale factor
What the game is given Resolution What you see
The screen itself 2560×1600 what the hardware has
Scaled, XWayland factor 1 1920×1200 stretched to fit, and soft
Scaled, XWayland factor 2 3840×2400 2.25× the pixels, then shrunk
With gamescale 2560×1600 the screen’s own pixels, one to one

Scaling drops to 100% for as long as that one game runs. Text and cursor sizes are bumped to match, so the desktop stays usable behind it, and everything goes back when the game exits.

Even when it doesn’t exit cleanly: a watchdog, a state file on disk and a check at login mean a crash or a SIGKILL still gives you your desktop back.

The script, its top-bar indicator, and the reconcile unit ship in the image at a pinned tag. Flatpak Steam runs the image’s copy with no setup; other Flatpak launchers need one grant from gamescale’s installer.

What ships in the image

gamescale (pinned, hash-verified): /usr/bin/gamescale, its top-bar indicator, and a unit that restores your scale if a game crashes. That’s all native launchers and terminal use need.

Flatpak Steam needs nothing

Flatpak apps can’t see the host’s /usr:

At every boot pulsar-steam-grants.service gives Steam a read-only view of the host OS and puts a directory holding only gamescale, gg and ggm on its PATH. Steam runs the image’s copies, which update with the image. If you set gamescale up for Steam on an older image, run pulsar setup gamescale once: it points Steam back at the image’s copies and removes old copies in ~/.local/bin that match them.

Other Flatpak launchers need one step

Heroic, Faugus, Bottles and other launchers get gamescale under $HOME:

This runs the image’s pinned installer, offline. (Upstream’s curl | sh installs the latest instead.) It also adds gg and ggm, the launch options.

The user install replaces the image copy: ~/.local/bin, the user extension and the user unit take precedence. gamescale --version shows which copy runs.

Written with help from AI and reviewed by a person before publishing. Spotted a mistake? Let us know.

PULSAR

Your lighthouse in the sky.

Site

Machine

Arclight

Theme

Dark only Light only

Recolors the whole site, like pulsar theme set does your desktop.

Light and dark

One look picks light or dark for you

Saved in this browser Back to Pulsar