ProtonPlus¶
- ID
protonplus- Link
- Version requirement
>= 0.6
- Platforms
🐧 Linux
- Operations
installed·install·upgrade·upgrade_all·remove- purl types
pkg:protonplus/- CLI name
protonplus- Issues and PRs
- Source
ProtonPlus, installing Proton, Wine, DXVK and VKD3D builds into game launchers.
A package is one runner on one launcher, identified as
<launcher_id>/<runner_id>: lutris-system/dxvk-doitsujin is DXVK
(doitsujin) as the natively installed Lutris sees it. protonplus list names
the launchers ProtonPlus detects. ProtonPlus has no catalog command, but
protonplus install <launcher_id> <runner_id> answers an unknown runner ID
with the list of the ones that launcher accepts.
The inventory reads the .protonplus record ProtonPlus writes into every
release it installs, which is also what ProtonPlus builds its own listing
from. protonplus list <launcher_id> prints directory names only, with
neither runner nor version, and mixes in the launcher’s own directories. The
records are looked for in the launcher directories ProtonPlus checks as of
0.6.8, which is an implementation detail rather than a documented contract:
a release missing from the inventory after a ProtonPlus upgrade points there
first. A runner kept at several releases is listed once, at its newest.
install fetches the newest release into a rolling <runner title> Latest
directory, the one release that upgrade moves forward. A release installed
at a chosen version from ProtonPlus itself is listed too, but upgrade --all
passes it over, and upgrading a runner that holds no rolling release fails
with ProtonPlus’s own This compatibility tool is not installed. error: run
mpm install on it first. remove deletes every release of the runner on
that launcher.
mpm runs the protonplus command. The AppImage build carries a longer file
name: link it as protonplus into a directory on PATH.
What mpm adds to protonplus¶
mpm reaches across every manager at once, not protonplus alone: mpm installed and mpm outdated cover protonplus alongside every other manager you run in one table, mpm upgrade --all updates them together, and mpm sbom exports the whole machine as one bill of materials.
Every mpm command also gains --dry-run and --plan previews, cross-scheme version comparison and purl identifiers. See manager augmentations for how each one is built.
Operations¶
Operation |
Supported |
Notes |
|---|---|---|
|
✅ |
|
|
❌ |
ProtonPlus compares releases only while |
|
||
|
❌ |
ProtonPlus has no catalog, only an error listing the runner IDs. |
|
✅ |
|
|
✅ |
|
|
✅ |
|
|
✅ |
|
|
||
|
||
|
Configuration¶
Ignore
protonpluson thempmCLI by passing the--no-protonplusoption.Ignore it for every run in your configuration:
[mpm] protonplus = false
Raise the timeout of all
protonpluscalls:[mpm.overrides.protonplus] timeout = 900
Run
mpm config-template protonplusto print all overridable settings for your configuration file:[mpm.overrides.protonplus] cli_names = [ "protonplus", ] cli_search_path = [] dry_run = false ignore_auto_updates = true plan = false post_args = [] pre_args = [] pre_cmds = [] requirement = ">=0.6.0" stop_on_error = false unmaintained = false version_cli_options = [ "version", ] version_regexes = [ "ProtonPlus\\s+(?P<version>\\S+)", ]
Recipes¶
A few jobs you would otherwise script around protonplus, one mpm command each:
Snapshot and clone a machine:
mpm --protonplus dump protonplus.toml, thenmpm restore protonplus.tomlon the next one.Export a compliance SBOM:
mpm --protonplus sbom(CycloneDX by default,--spdxfor SPDX).
Privilege escalation¶
mpm runs this manager as the current user and never prepends sudo by default. Flip the policy for its privileged operations with --sudo or the per-manager sudo override.
None of its operations is privileged.
See privilege escalation for the full policy.
Cooldown¶
State of ProtonPlus’s release-age gating, from the cooldown support table:
Status: ❌ None
A cooldown only pays off where a compromised release can be withdrawn while the clock runs, and can only be emulated where the registry dates its releases. From the retraction table:
Registry: GitHub release assets
Retraction: None: withdrawing a build is the upstream author deleting their own release or tag. Nothing sits between them and the user
Publish date: ✅ server-set
published_aton each release (REST API)
With --cooldown set, mpm skips this manager’s install and upgrade operations rather than run them unguarded (fail-closed); --cooldown best-effort opts back in.
Version check¶
The version is probed by running:
$ protonplus version
ProtonPlus 0.6.8
and extracted with:
r"ProtonPlus\s+(?P<version>\S+)"
Changelog¶
8.1.0.dev0(unreleased)Add ProtonPlus, which installs Proton, Wine, DXVK and VKD3D builds into game launchers, with
installed,install,upgradeandremovesupport.