PLWL/README.md

45 lines
1.9 KiB
Markdown

# 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
```bash
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`:
```bash
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 `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.