GloriousEggroll's Proton has been rebased on Proton 11
github.com90 points by d3Xt3r 2 days ago
90 points by d3Xt3r 2 days ago
For those curious, Proton is included with Steam, but GE's Proton includes many tweaks, improvements, and yes, rebasing on the latest upstream versions of many packages. For many games running in Linux GE Proton tends to be better than Valve's default Proton. GE Proton also includes features earlier than Valve, like FSR3 -> FSR4 upgrading, etc.
CachyOS makes also makes a Proton that's similar but different from GE's. There's also Valve's Proton betas, Proton Experimental (which is often updated within days of major releases).
ProtonDB.com is a great resource for finding out which "Proton" works best for a given game.
Saying "many" games work better with GE is misleading I think, though perhaps technically true. The vast majority work out of the box with regular Proton. Reaching for GE is definitely the exception rather than the rule in my experience.
Valid point! For me, the FSR3 -> FSR4 was such a big boon of performance and graphics quality it made GE Proton (with the PROTON_FSR4_UPGRADE=1 flag) the easy choice for most games that supported FSR3. Luckily, it seems Valve has just added this to their Proton, too!
I found it to be the case that while many games worked with stock proton, I often (most of the time) got much better performance from GEs proton.
Not needed for working, but I always find GE's improvements on performance much better than stock Proton. I usually default my games to it anyway, since it is always installed
Back in 2018, using the Glorius Eggroll fork basically mandatory. Nowadays? Not so much.
One of the biggest blockers I remember was that Valve refused to support some of the proprietary video codecs developed by Microsoft that only have a working legal decoder on Windows, but eventually they decided to just show a fallback image if a cutscene couldn't play.
If anyone is confused on what this is, like I was, it might be helpful to know that GloriousEggroll is the GE in Proton-GE.
I use Proton-GE a fair bit when running steam games on Linux, usually when something in the normal proton release isn't working
Might be useful to provide some context on why this fork is interesting or relevant
Proton-GE includes media libraries that valve can't include, which fixes video playback in many older games. Valve has found a different way to bypass this issue, by sharing video content through their shader distribution system, but that may not work for all titles.
Proton-GE also supports more experimental features long before they get added to regular proton, and includes various hotfixes for games that won't work under normal proton.
Usually the recommendation I make to people playing on linux is to try with regular proton or proton experimental first, but if that doesn't work then try the newest proton-GE instead.
This guy works for red hat and his code is already constantly merged to upstream. His version is simply more bleeding edge. Also he's already somewhat famous in Linux gaming circles.
It has fixes and features not in the official proton, but most importantly, proprietary codecs.
I had the same question. Why is this needed? Valve already ships a Proton 11.0 (Beta) version in the Steam client.
[flagged]
I have not needed any of these features to use proton on the games I own so I’m still none the wiser as to who the target is for this or what the context of this fork/its possible merging is
> I have not needed any of these features to use proton on the games I own so I’m still none the wiser as to who the target is for this...
...it's people who need these features and fixes? If you don't need them, then you don't need them, and you don't care about this.
With the addition of this comment, it seems like your commentary here boils down to "Why would I need this fork of this project that solves a specific set of problems that I neither have nor have bothered to understand?".
I do agree that it's reasonable to not waste time learning about problems you don't have, aren't really important if you don't have them, and that you're not interested in learning about, so don't make the mistake of believing that I'm throwing scorn your way.
> you're not interested in learning
Perhaps a learning moment for you is, instead of writing these paragraphs you could have just explained more about the project, which other comments have now helpfully done.
HN is a news website, and yeah you can post things that are just interesting - but a link to a repository that is one of several thousand forks of a project needs a little bit more explanation for people to understand why it’s here
It's interesting to read that an entire video streaming rework was done with AI, but likely won't be upstreamed because of the upstream policy on AI gen code. I wonder if that will ever be re-done using the plan GE outlined in the release notes.
Also really excited about this because there are several games that get kind of borked because they get stuck on an intro video before you get to the game menu without doing any winetricks.
> With all of that work done, I am happy to say all of the games listed above now have functional video playback with NO winetricks needed and NO dll overrides needed. No quartz,no dshow, no amstream, no lavfilters, no klite, no rsx3d, no wmp9, no wmp11, etc. -- All the functionality previously needed from those overrides is now patched directly into wine for the listed games that needed them, and the protonfixes that were previously added have now been removed since they are no longer needed.
Yeah the big left 4 dead clone (forgot the name) had video playback issues for me.
It might come to be that maintainers have to begin accepting llm-authored or llm-assisted contributions just to maintain control of the project. Otherwise users will gravitate towards forks that offer the functionality they want.
They very specifically do not accept AI contributions because there is no way to tell if it's just regurgitating parts of the various Windows source code leaks from over the years ad-hoc, which would be a very costly mistake to make if Microsoft were feeling litigious.
The remedy for unintentional infringement is generally to remove the infringing code and cease distribution. That used to be a serious issue when rewriting the offending code might take years. But these days? Rewriting any offending code is a matter of specifying the interfaces and setting Claude / Codex to work. Risk of incorporating derived code might go up with accepting LLM submissions, but cost of recovering from them seems to have dropped accordingly, at least on the technical side.
Replace one set of LLM tainted code by a different bunch of LLM tainted code - perfect a and totally solid from any legal perspective!
(The paragraph above is a sarcasm.)
Is this concept of "LLM tainted" enumerated in a statute or potentially borne out of actual case law somewhere?
Tech companies shouldn’t be able have it both ways and say that copyright doesn’t apply to LLM-generated code only when it benefits them.
And yet, they likely will be able to. The law doesn't have much hold on the rich.
On the other hand, it'd be absolutely fascinating to see how that'd play out. The ramifications could be huge.
That would be something Microsoft would have to prove in court and not that the AI came up with a similar approach on its own. ReactOS never got sued despite its similarity to Window's code.
Also not all Wine code is related to reverse engineering.
They might not have been sued, but ReactOS was certainly threatened. There was a large audit to ensure nothing was infringing. [0]
Or it might come to be that rejecting LLM-authored or LLM-assisted contributions becomes a badge of quality, and users gravitate to them to avoid buggy, inconsistent, or non-performant versions of the same software.
There's no need to guess, the reasoning is clearly laid out:
“Don't use an LLM tool to generate code. There's no guarantee that the training material of that LLM respects our Clean Room Guidelines, or that its output is compatible with the LGPL.”
--https://gitlab.winehq.org/wine/wine/-/wikis/Clean-Room-Guide...
The allure of being just good enough where the bling and hype of features outshine hidden bugs may win out socially.
Not sure if those fork would be maintainable long term if their authors need to lean so heavily on LLMs just to get their coding done. Would bet more on the original project that have demonstrated they know what they are doing & can do the work by themselves (if at more realistic pace).
Doesn't wine have various rules to remain a white-room implementation?
Not sure using LLMs which have possibly been trained on leaked Windows sources would be compatible with that. But that's just speculation, I wonder if LLMs possibly using leaked sources for training has been looked into. (probably legally difficult as the investigator would have to access the leaked sources too...)
I've implemented several missing features and fixed several compatibility issues in wine using LLMs. It works very well for the use case.
pretty good. the only thing i would love is a autohdr kinda thing
The Linux gaming world doesn't need more fragmentation of options and configurations. The work behind it is undeniable and worth appreciating, Proton GE staying ahead of Proton is commendable, but please, get on the same page with Valve and follow a single development path.
This is literally how open source development is meant to work.
Having a fork which has features not on main, which main may never adopt, is what allows for both teams to evaluate what the other project has and accept or reject those.
Proton itself is a fork of wine. Do you think they need to end this fragmentation and return to wine?
I don't. It's precisely the proton work valve has done which has further pushed forward wine. And before that it was the code weavers fork that further advanced wine.
I get your point, but Valve now has Steam on Linux as a maturing product where users are expected to spend money. Having them unclear on whether to use Proton Stable, Proton Experimental, or go down the rabbit hole of adding Proton GE doesn't strike me as a realistic model for the average end user.
Maybe Valve should reach out to GloriousEggroll and offer Proton GE as an official option while those improvements make their way into the mainline release. That way you get the best of both worlds: the flexibility of the fork, without burdening regular users with the decision.
The "program produces this trace, reproduce it after changing xyz" loop is imo -- a kind of programming primitive for the current agent capabilities ... I've found technique like that really effective as well.
It's interesting because there's a part of me that sometimes thinks "hey look this pattern is pretty effective -- I wonder if this a nascent abstraction on the path toward reasoning about how to use these tools in effective ways" -- while another part of me thinks "six months from now, you won't ever have to do this or if this is a useful technique the agent will just apply it on its own when relevant" ...
the actually llms are there to be honest. the harnesses need to be a bit better