you@pigmentlab:~$ ls docs/
you@pigmentlab:~$ cat README.md
Overview
Pigment is a front end for Sober, the runtime that runs the Android Roblox client on Linux. Roblox’s Hyperion anti-cheat blocks the Windows Player under Wine, so Sober is the only working path — but Sober is configured by hand-editing a JSON file. Pigment gives it a real UI: settings, profiles, FastFlags, mods, activity and Discord presence.
Pigment never reimplements the runtime. It drives Sober as-is: it reads and safely rewrites Sober’s
config, composes mods into Sober’s asset overlay, launches Sober, and can (optionally) become the
roblox:// handler so it applies your profile before handing off.
you@pigmentlab:~$ pigmentlab --requires
Requirements
- The Sober Flatpak:
org.vinegarhq.Sober - GTK 4.12+ and libadwaita 1.4+ at runtime
- Rust 1.96+ and Cargo — only if you build from source. No Debian or Ubuntu release packages a
rustcthis new, so use rustup there - Optional:
xdg-utils(to set the default handler) and Discord (for Rich Presence)
you@pigmentlab:~$ pigment --install --help
Installation
1. Install Sober
flatpak install flathub org.vinegarhq.SoberOpen any experience once so Sober creates its config, or just launch it from Pigment’s Home page.
2. Install Pigment
Arch, CachyOS, EndeavourOS, Manjaro — from the AUR:
yay -S pigment-launcherpigment-launcher-git tracks main if you’d rather live on the edge.
Debian 13+, Ubuntu 24.04+, Mint 22+, Pop!_OS — there is no .deb, but a script does the whole source build for you. It installs the apt dependencies, checks your GTK and libadwaita versions before building, and sets up rustup, which you will need: no Debian or Ubuntu release packages a rustc new enough, not even 26.04.
git clone https://github.com/SpeeNotPee/Pigment.git
cd Pigment
./packaging/install-debian.shUbuntu 22.04, Debian 12, Mint 21 and Pop!_OS 22.04 cannot run Pigment — their libadwaita is below the 1.4 floor, and there is no Flatpak to bundle a newer one. The script tells you this in seconds instead of failing deep into a build. Upgrading the distro is the only path.
Steam Deck — same source build, but install to ~/.local so an OS update doesn’t wipe it.
Any distro — from source:
git clone https://github.com/SpeeNotPee/Pigment.git
cd Pigment
make install PREFIX=$HOME/.localMake sure $HOME/.local/bin is on your PATH. System-wide: sudo make install PREFIX=/usr.
you@pigmentlab:~$ pigmentlab
First run
Launch pigmentlab from your app menu or terminal. The Home page shows whether Sober is installed and detected, which build it is, the Roblox client version it has fetched, and whether its config exists yet. Press Launch Roblox to start Sober. If Sober has never run, open it once so it can create its configuration — then the Settings, FastFlags and other pages light up.
Home also checks Flathub in the background and shows a banner when a newer Sober build is available. This matters more than it sounds: VinegarHQ ships Sober as periodic refreshes that keep the same version number — 1.7.1 has been rebuilt roughly weekly — and Roblox rejects clients that fall behind. A version match is not proof you are current, so Pigment compares the Flatpak commit instead.
you@pigmentlab:~$ man pigment-settings
Settings
A typed switch or dropdown for every one of the 13 documented Sober config keys: Discord presence,
the join button, Feral GameMode, OpenGL fallback, HiDPI scaling, server-location popup, close-on-leave,
gamepad access, the console UI, the mobile home screen, storing your login in the keyring
(libsecret, experimental), plus the graphics-optimization and touch-mode dropdowns.
Coverage is enforced by a test, so a key Sober adds upstream shows up as a failing build rather than a silently missing switch.
Change what you like and press Apply Changes. Pigment reloads the file first, so keys it doesn’t manage — and any change Sober’s own settings made — are preserved. Restart Roblox to apply.
you@pigmentlab:~$ man pigment-fastflags
FastFlags
FastFlags are Roblox engine variables. Pigment edits them as JSON in the exact format Bloxstrap uses, so a Windows preset pastes straight in.
- Apply FastFlags — validates the JSON (it must be an object) and saves it.
- Clear All — removes every FastFlag in one click, resetting to an empty set.
- Import — paste a Bloxstrap/ClientAppSettings JSON body and Apply.
you@pigmentlab:~$ man pigment-mods
Mods
Mods replace game assets through Sober’s sanctioned asset_overlay. A mod is a folder
that mirrors Roblox’s asset layout — for example
content/textures/Cursors/KeyboardMouse/ArrowCursor.png.
- Install mod from folder… copies the folder into your mod library.
- Each mod is validated against the real Roblox APK; files at paths Roblox doesn’t ship are flagged as “won’t apply”.
- Toggling a mod on adds it to your active profile and recomposes the overlay. Conflicts between enabled mods are detected — the later mod wins.
you@pigmentlab:~$ man pigment-profiles
Profiles
A profile is a named bundle of settings, FastFlags and enabled mods — think main, alt, testing. Profiles are applied one at a time.
- Save current setup as profile snapshots your current config into a new profile.
- Make active (★) sets which profile is applied automatically when you launch.
- Apply now (▶) writes a profile onto Sober immediately.
Simultaneous multiple instances are intentionally not supported — that’s the behavior Roblox treats as abuse. Profiles are the sequential alternative.
you@pigmentlab:~$ man pigment-activity
Activity & Discord
The Activity page lists your recent games, parsed from Sober’s logs, with names resolved live from Roblox’s API and each session’s time and duration.
Discord Rich Presence
Toggle Share your game on Discord to show what you’re playing, with elapsed time. It requires Discord to be running. Sober also ships its own Discord presence — enable one or the other to avoid duplicates.
you@pigmentlab:~$ man pigment-launcher
Default launcher
On the Home page, Make Pigment the default launcher registers Pigment as the system
roblox:// handler. Then, when you press Play on the Roblox website, Pigment applies your
active profile and hands the link to Sober.
- It’s opt-in — Pigment never changes your handler on its own.
- It’s fully reversible — turn the switch off to hand the handler back to Sober.
- If anything fails, Pigment still launches Sober directly, so you’re never stranded.
On KDE, Pigment refreshes the desktop/service caches so the change takes effect immediately.
you@pigmentlab:~$ tree ~/.var/app/org.vinegarhq.Sober
File locations
- Sober config:
~/.var/app/org.vinegarhq.Sober/config/sober/config.json - Mod overlay:
~/.var/app/org.vinegarhq.Sober/data/sober/asset_overlay/ - Sober logs:
~/.var/app/org.vinegarhq.Sober/data/sober/sober_logs/ - Pigment profiles & mod library:
~/.config/pigment/
you@pigmentlab:~$ pigmentlab --doctor
Troubleshooting
“Sober is not installed”
Install the Flatpak: flatpak install flathub org.vinegarhq.Sober, then relaunch Pigment.
Roblox won’t launch, or rejects the client
Usually a stale Sober build. The version number stays 1.7.1 across refreshes, so
check the build date on Home, not the version — if Pigment shows the update banner, run
flatpak update org.vinegarhq.Sober and try again.
Settings/FastFlags say there’s no config
Launch Roblox through Sober once so it creates config.json, then reopen the page.
The default-launcher switch doesn’t stick
Pigment refreshes the desktop and (on KDE) the service cache automatically. If a link still opens the wrong app, toggle the switch off and on again.
Discord presence won’t connect
Make sure the Discord desktop app is running before enabling the toggle. Flatpak/Snap Discord is supported.
you@pigmentlab:~$ cat FAQ.md
FAQ
Will this get me banned?
Pigment only uses Sober’s documented, sanctioned mechanisms — config keys, the asset overlay, and whitelisted FastFlags. It doesn’t patch the client or defeat anti-cheat. Sober itself is unofficial, so play at your own risk, but Pigment adds nothing that Sober doesn’t already permit.
Can I run two accounts at once?
No — simultaneous instances are deliberately unsupported. Use profiles to switch between accounts/setups.
Do my Windows Bloxstrap mods work?
FastFlag presets do (identical format). Asset mods often need adjusting, because Sober uses Android asset paths — Pigment flags files that don’t match the real APK.
Is it safe to let Pigment edit Sober’s config?
Yes. Writes are atomic, validated before saving, back up the previous file, and preserve comments and unknown keys.
you@pigmentlab:~$ gh issue create
Feedback & bug reports
Found a bug or have an idea? Open an issue on GitHub — there are templates for bug reports and feature requests. Inside the app you can also use Menu ‣ Report a Bug, or Menu ‣ About Pigment ‣ Report an Issue.
When reporting a bug, please include your Pigment version (Menu ‣ About Pigment), your Sober version, and your distro and desktop.
you@pigmentlab:~$ cat TERMS.md
Terms of use
Pigment is free, unofficial, community software provided “as is”, without warranty of any kind. It is not affiliated with, endorsed by, or sponsored by Roblox Corporation or VinegarHQ; all trademarks belong to their respective owners.
Using unofficial clients is at your own risk. You are responsible for complying with Roblox’s Terms of Use and Community Standards, including any risk to your account. Pigment uses only Sober’s documented, sanctioned mechanisms and does not modify the Roblox client or bypass its anti-cheat.
Read the full Terms of Use.
you@pigmentlab:~$ cat PRIVACY.md
Privacy
Pigment is a local desktop app with no servers, accounts, analytics, or telemetry — the developers receive none of your data. It makes network requests only for two things:
- resolving game names from Roblox’s public API (it sends a public universe id, never personal data); and
- optional Discord Rich Presence, which talks to your local Discord client only.
Your configuration, FastFlags, mods, and logs never leave your machine. Read the full Privacy Notice.