Skip to content

Add Proton Universal Prefix - #126

Open
BlafKing wants to merge 3 commits into
SteamClientHomebrew:mainfrom
BlafKing:main
Open

BlafKing wants to merge 3 commits into
SteamClientHomebrew:mainfrom
BlafKing:main

Conversation

@BlafKing

Copy link
Copy Markdown
Contributor

steam-proton-universal

A plugin that let's you use a fully universal steam Proton prefix

Hi there!
I've made another plugin which I'd like to submit :)

Currently on Linux, Steam's "Proton" creates a separate windows drive prefix for each game.
This plugin allows the user to define a single path which every game will then use as it's Proton Prefix.

It does the following:

  1. Detect when a game is being launched
  2. Find the game's compatdata folder location
  3. If the folder exists with pre-existing files it:
    • Copies all content to your universal prefix (without overwriting existing files)
    • Removes the original compatdata folder
  4. Creates a single symlink where the entire AppID's compatdata folder points directly to your universal prefix

v1.1.0 is an update to switch to LUA instead of Python, and to use millennium's in-steam configurator.

Task Checklist

Developer

  • I am the original author or an authorized maintainer of this plugin.
  • I have complied with all license requirements for the libraries used, including providing appropriate notices where necessary.
  • My plugin is fully open source and does not depend on any external paid services, except for widely trusted and well-known platforms. Additionally, neither I nor anyone associated with me profits from any such services.

Plugin Functionality

  • I have tested the plugin on both the Stable and Beta Steam update channels.
  • My plugin is unique, or provides additional or alternative functionality to plugins already on the store.

Backend Configuration

  • No: I use a standard Millennium python backend in my plugin.
  • No: I use custom binaries that or rely on other FOSS projects that aren't written directly using Millennium's python backend.

Community Contribution

  • I have tested and left feedback on two other plugin pull requests.
  • I have added links to those feedback comments in this PR.

@github-actions

Copy link
Copy Markdown
Contributor

Automated Message: This message has been sent to all open pull requests. Your pull request will be further reviewed once Millennium 3.0.0 is released. We are very busy with Millennium!

@github-actions github-actions Bot changed the title Add plugin "steam-proton-universal" v1.1.0 Add Proton Universal Prefix Jul 29, 2026
@ejalxndr
ejalxndr requested a review from Copilot July 30, 2026 00:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@ricewind012

Copy link
Copy Markdown
Member
  • do not patch SteamClient.Apps.RunGame, there is some other shit there you can use to see when a game is running (you can ignore that if you feel like not doing it)
  • remove settings <style>, it's most likely broken now

really defensive code for some reason, but otherwise looks good

BlafKing and others added 2 commits November 2, 2026 03:55
@BlafKing

BlafKing commented Nov 2, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the review, sorry for getting back so late.

I made some changes;
Replaced RunGame with RegisterForGameActionStart
Removed the <style> settings
And cleaned up some of the unrequired defensive code.

Let me know if anything else needs adjusting!

@ricewind012

Copy link
Copy Markdown
Member

oh wait also remove unused dependencies, then it actually lgtm

@BlafKing

BlafKing commented Nov 2, 2026

Copy link
Copy Markdown
Contributor Author

Good catch! Removed any unused dependencies and checked with a local build 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants