Portable Linux Wine Launcher
  • JavaScript 89.9%
  • CSS 6%
  • HTML 2.6%
  • Shell 1.5%
Find a file
2026-09-26 10:13:50 +02:00
files/translations update icon & change PLGL to PLWL 2026-09-25 20:04:00 +02:00
node_modules add installer to build package 2026-09-25 20:38:23 +02:00
renderer code cleanup 2026-09-26 10:13:50 +02:00
src code cleanup 2026-09-26 10:13:50 +02:00
tools better installer and portable mode 2026-09-25 21:15:17 +02:00
.gitignore add installer to build package 2026-09-25 20:38:23 +02:00
build.sh better installer and portable mode 2026-09-25 21:15:17 +02:00
package-lock.json add installer to build package 2026-09-25 20:38:23 +02:00
package.json add installer to build package 2026-09-25 20:38:23 +02:00
README.md better installer and portable mode 2026-09-25 21:15:17 +02:00
run.sh update icon & change PLGL to PLWL 2026-09-25 20:04:00 +02:00

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 renamed to olcxja.plwl/ (binary olcxja.plwl/olcxja.plwl) with the whole app (code, renderer and bundled files/) packed into olcxja.plwl/resources/app.asar, plus the olcxja.plwl.png icon, install.sh and createshortcut.sh:

tar -xzf PLWL-<version>.tar.gz
cd PLWL
./install.sh        # copies everything to ~/.local/bin/olcxja.plwl/,
                    # installs the icon (olcxja.plwl.png) + shortcut
                    # removes the extraction folder, launches

./createshortcut.sh # portable mode: only installs the icon + shortcut

# or run without any shortcuts:
./olcxja.plwl/olcxja.plwl

Wine & Proton support

  • System Wine — uses the wine binary 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_PATH points to a fake steam client folder, STEAM_COMPAT_DATA_PATH is a per-build compat folder, and the prefix lives at <compat>/pfx which 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 in files/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.