Portable Linux Wine Launcher
- JavaScript 89.9%
- CSS 6%
- HTML 2.6%
- Shell 1.5%
| files/translations | ||
| node_modules | ||
| renderer | ||
| src | ||
| tools | ||
| .gitignore | ||
| build.sh | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| run.sh | ||
PLWL — Portable Linux Wine Launcher
A portable launcher for Windows games and applications on Linux.
Portable layout
Everything the launcher needs lives next to the executable:
./files/
wines/ imported Wine / Proton builds
wineprefixes/ wine prefixes
apps/ imported app folders (optional)
data/ launcher config (apps.json, settings.json)
translations/ translation files
Running
npm install
npm start
Building & installing
./build.sh produces build/PLWL-<version>.tar.gz: the Electron runtime with the whole app (code, renderer and bundled files/) packed into electron/resources/app.asar, plus a plwl launcher, a plwl.desktop template and install.sh:
tar -xzf PLWL-<version>.tar.gz
cd PLWL
./install.sh # copies to ~/.local/lib/PLWL, adds ~/.local/bin/plwl + a desktop shortcut, launches the app
# or run without installing:
./plwl
Wine & Proton support
- System Wine — uses the
winebinary from PATH. - Imported builds — drop any wine or Proton build into
files/wines/. The folder may contain the build directly, or one level of nesting (zip-extracted layouts are detected automatically). - Proton without Steam — fully supported. Proton is invoked like Steam does it:
STEAM_COMPAT_CLIENT_INSTALL_PATHpoints to a fake steam client folder,STEAM_COMPAT_DATA_PATHis a per-build compat folder, and the prefix lives at<compat>/pfxwhich PLWL links to its own prefix folder. No Steam installation required (GE builds work out of the box; for a few Valve builds that refuse to run without a client, PLWL fakes a minimal steam folder infiles/data/fake-steam).
Translations
All UI text comes from JSON files in files/translations/. The data object carries the language names; texts maps keys to strings, with {0}, {1} ... placeholders filled at runtime.