Releases: dillacorn/smtty
Steam Machine TTY
smtty
To view smtty options type smtty -h in terminal.
A minimal TTY "Steam Machine" launcher that runs Steam Big Picture inside gamescope on a chosen monitor, with configurable internal resolution (including 4:3 / 16:10 stretch) and saved per-user settings.
IMPORTANT:
-
Steam cannot be running in any other session or smtty will fail.
-
Make sure “Enable GPU accelerated rendering in web views” is enabled in Steam, or Steam notifications can cover the entire screen with a black image when running under gamescope.
Steam Big Picture overlay cursor quirk (stretched resolutions only)
- This issue only shows up when running a stretched/custom aspect session (4:3, 16:10, etc.), not native 1:1 inner=outer sessions.
- On my setup, the game only consistently re-grabs raw mouse input if the mouse is moving while I close the Steam Big Picture overlay.
- If I close the overlay with the mouse perfectly still, the game often fails to re-grab the cursor and the camera/aim can feel stuck or pinned to an edge.
- Current workaround: jiggle the mouse while opening and closing the Steam Big Picture overlay so the game can re-grab the cursor.
I made an issue on this ValveSoftware/gamescope#2042
Overlay limitations
- When running gamescope, clipboard integration with the desktop session is one-way: you can copy from the gamescope session to the desktop, but you cannot copy from the desktop into the gamescope session (no desktop → gamescope paste).
- For Steam messaging, use a browser on your normal desktop session and open:
https://steamcommunity.com/chat - For convenience, you can create a dedicated Steam Chat launcher. Example
.desktopfile (Firefox profile) in my awtarchy repo:
firefox-steam-chat.desktop
Requirements
- Linux with DRM KMS (normal modern distro / kernel)
- Steam (
steamon your PATH) - gamescope (upstream or any fork/patched build that works on your GPU/driver)
On Arch Linux:
sudo pacman -S gamescope steamNeed latest gamescope patches?
yay -S gamescope-gitsmtty never installs dependencies for you; it only tells you what's missing.
Install (manual stepped-process)
# clone the repo
git clone https://github.com/dillacorn/smtty && cd smtty
# install to ~/.local/bin/smtty by default
chmod +x smtty-installer && ./smtty-installer
# make sure ~/.local/bin is in your PATH, for example:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile
# then log out and back in, or start a new login shellNow you can run:
smttyfrom any TTY / directory.
Install (one-liner, user-local)
git clone https://github.com/dillacorn/smtty "$HOME/.local/src/smtty" \
&& cd "$HOME/.local/src/smtty" \
&& chmod +x smtty-installer \
&& ./smtty-installerThis installs smtty to ~/.local/bin/smtty.
System-wide install (one-liner optional)
git clone https://github.com/dillacorn/smtty /tmp/smtty \
&& cd /tmp/smtty \
&& chmod +x smtty-installer \
&& sudo PREFIX=/usr/local ./smtty-installerThis installs smtty to /usr/local/bin/smtty for all users.
Uninstall
Preferred method (using smtty-installer)
If you still have the clone directory:
User-local uninstall:
cd /path/to/smtty
chmod +x smtty-installer
./smtty-installer
# When prompted:
# [2] Uninstall smtty from $BINDIRSystem-wide uninstall:
cd /path/to/smtty
chmod +x smtty-installer
sudo PREFIX=/usr/local ./smtty-installer
# When prompted:
# [2] Uninstall smtty from $BINDIRsmtty-installer will:
- Remove smtty from the selected PREFIX/bin
- Remove smtty-update from the same PREFIX/bin if present
- Optionally remove ~/.config/smtty if you confirm
Manual removal (fallback)
User-local manual removal:
rm -f ~/.local/bin/smtty
rm -f ~/.local/bin/smtty-update # if installed
rm -rf ~/.config/smtty # optional, removes saved settingsSystem-wide manual removal:
sudo rm -f /usr/local/bin/smtty
sudo rm -f /usr/local/bin/smtty-update # if installed
rm -rf ~/.config/smtty # optional, removes saved settings