DavidoTek / ProtonUp-Qt

Install and manage GE-Proton, Luxtorpeda & more for Steam and Wine-GE & more for Lutris with this graphical user interface.
https://davidotek.github.io/protonup-qt
GNU General Public License v3.0
1.25k stars 40 forks source link

option to include a version with wine 8.1 #324

Closed spacecowboyx closed 8 months ago

spacecowboyx commented 10 months ago

with the release of LOOT 22.3 and MO2 2.5 they both require Wine 8.1. I was wondering if there is a GE release included or if there will be one that has Wine 8.1 included. Otherwise, I would appreciate a method to install it outside of protonupqt. for reference I am on the steam deck and.this program has been immensely useful otherwise.

appreciate any help with this as I would love to use the latest versions of these programs

sonic2kk commented 10 months ago

This is really outside of the scope of ProtonUp-Qt, and also, Wine 8.1 is very old. You are probably thinking of Wine 8.21, which includes a patch for Qt6 accent support. Wine 8.1 will not work, as this patch is only available in Wine 8.21 and above (see the WineHQ Changelog, Ctrl+F for "windows.ui" to see the patchnote, here is the WineHQ Bugzilla issue for the ModOrganizer 2.5.0 issue).

You may be able to install Proton-tkg from Wine Master (available under Advanced Mode) and it may target Wine 8.21+, but I have not tested and cannot confirm if ModOrganizer 2.5.0 works with it. ProtonUp-Qt doesn't develop or maintain any Wine versions, it just offers a method to install Wine, in case there has been any confusion. Also, using a bleeding edge build like this is sure to cause problems in some games and some scenarios, so only use it if you know what you're doing, it's under Advanced Mode for a reason (MO2 on Linux is already something only for advanced users so maybe this is an unnecessary warning :-)).

You can also compile Proton-tkg / Wine-tkg manually with this patch on a Linux Desktop if it is not included in Proton-tkg from Wine Master already.

But asking for general Wine support is not really what this issue tracker is for, since it only provides downloads. If you know of a version that does work you would need to request that specific compatibility tool, this issue is otherwise too broad.

appreciate any help with this as I would love to use the latest versions of these programs

Just to make clear, ProtonUp-Qt cannot provide builds of tools that don't exist. Apart from compiling yourself, I don't know of any way to get the latest versions of Wine/Proton builds outside of what ProtonUp-Qt already provides, and it cannot compile tools for you. What ProtonUp-Qt provides for the likes of GE-Proton is already the latest that is available, there is no newer version.

spacecowboyx commented 10 months ago

Ah yes I meant 8.21. Thanky kindly for the informative and swift response! I'll have a looksee and see what can be done. I'm already deep in this hole I've dug so there's no turning back now. All I wanted to do was play games on my deck haha.

Least now I know as I was under the assumption the newest GE builds followed closely with the Wine releases. Perhaps I may wait a bit to see if someone else will do it and release it since we deck modders are in no small number xD. In either case appreciate you and thanks again!

sonic2kk commented 10 months ago

All I wanted to do was play games on my deck haha.

Modding games on Linux is an enormous task and certainly not for the faint of heart, talking from a few years of experience :-) I always advise people to not touch any kind of modding on SteamOS.

I was under the assumption the newest GE builds followed closely with the Wine releases

Quite the opposite, I'll try and give a little bit of background from what I understand.

Upstream Wine is a standalone project and has been around long before the Steam Deck (remember, much of Linux Gaming was and still is done with zero regard for SteamOS). Valve have forked it (ValveSoftware/Wine, "Wine with a bit of extra spice") and have a bunch of patches on top of it. A lot of this work is upstreamed by Valve and their partners at CodeWeavers and Collabora so it eventually filters back into Wine, but Valve have a Wine fork to allow them to implement game fixes and hotfixes without waiting for it to be approved upstream, which can be a lengthy process. This is not to say Valve and co. recklessly create bad fixes, just that they get their fixes in ASAP by having this fork.

This Wine fork is quite diverged from upstream Wine, meaning fixes in upstream are not always directly compatible. If Valve have heavily modified an area of the code that a given patch corresponds to, work has to be done to reconcile these differences. For this reason, Valve usually "rebase", or shove their changes on top, a specific Wine version. The Proton version is based on this Wine version. For example, Proton 8.0 means Valve took Wine 8.0 and put their changes on top of it. Some changes upstream are "backported" meaning they take specific patches and apply them where appropriate to their Proton version, but Valve's Wine is based on Proton 8.0. It might contain fixes and features from other newer releases, but at its core, it's Wine 8.0.

Valve's Wine has a bunch of different flavours, you may know them from the Proton names: There are branches for all the stable Proton releases (3.7.6 all the way up to the current 8.0). Then, there's the proton-next branch for release candidate testing, experimental for Proton Experimental, and some hotfix tags. However, there is another branch, called experimental-bleeding-edge. This is the closest we have to Valve Wine's Master branch, and has the most up-to-date commits not available in any Proton version yet. You can actually optionally get Proton Experimental to use this by going to Proton Experimental in Steam -> Properties -> Betas and choosing that branch.

This bleeding edge branch is, again, developed independently from Wine upstream. A fix tomorrow may be backported from Wine 8.4, but zero changes from the recent Wine 8.21 may be included. Because Valve's Wine is so diverged and because third-party programs are technically not supposed to use Proton, Valve develop this Wine fork with fixes for Steam games in mind, and develop it themselves. Essentially the Wine project is forked for their own development efforts, and Valve and WineHQ are developed independently.

A new Wine version is released every two weeks on a Friday, and Proton does not follow this release cycle. Likewise when a new Proton minor version comes out it will not necessarily include any Wine changes. Once Proton 9.0 comes out, which will be after Wine 9.0 early next year, that means Proton has been rebased on top of Wine 9.0, so Wine 9.0 becomes the base version that all of Valve's changes are on top of. If Valve released Proton 8.21 tomorrow, it would be safe to assume it's based on Wine 8.21. Hope that makes sense so far.

GE-Proton used to target the latest Wine Staging, but as of a year or so ago, now targets this Proton Experimental Bleeding Edge branch. This means GE-Proton uses, at the time of its release, the latest Valve Experimental Bleeding Edge, it does not use upstream Wine at all as a base. GE-Proton targets Valve's latest Wine, not upstream Wine's. GE-Proton also has a significant number of patches on top of Valve's Wine tree, which itself has a lot of patches on top of Wine's tree. You can kinda see how everything diverges, and hopefully how and why GE-Proton is not closely following Wine. The opposite is true, it's as far behind as Valve's Wine is, which is very far behind upstream Wine, though patches may be backported. GE-Proton also has patches backported or even patches for Valve Wine that aren't merged yet, adding another layer of divergence!

Perhaps I may wait a bit to see if someone else will do it and release it since we deck modders are in no small number

Proton-tkg (Wine Master) should already have a release that you can download now, but it's likely to be unstable. If you want something that closely follows Wine releases, at the cost of stability, this is your best bet.

If you're curious, regular Proton-tkg follows Valve's Wine Experimental Bleeding Edge, but even more closley than GE-Proton, built on each commit automatically using GitHub Actions (with a test workflow) with no guarantee of stability.

For the most balanced compatibility without waiting for this to potentially be picked up by Valve, you could try and wait for GE-Proton to include the Qt6 patch, because Valve will only backport this if they need it for a game (and they may have another fix in place that is incompatible).

sonic2kk commented 8 months ago

I'm not sure if there is anything for this issue to solve. It's specifically about Wine incompatibility with a specific piece of software which was resolved in Wine 8.21. ProtonUp-Qt already supports downloading this Wine version in the form of Proton-tkg downloads as well as Kron4ek Wine downloads which have builds for 8.21+ at this point.

I don't believe GE-Proton includes this yet as it's based on Valve Wine, and I don't know that the upstream Wine fix was backported since it was only for ModOrganizer 2 v2.5.0+. Likely once Wine 9 comes out and Proton is rebased on top of it (likely as Proton 9), it will inherit this fix, but inclusion of this fix is not something in ProtonUp-Qt's control.

spacecowboyx commented 8 months ago

Oh ok. So are you saying it is now possible to get tkg directly from the software instead of the way you mentioned couple months back because I was looking into it then and it seemed more work than it was worth to do it the hard way.

I was not sure how to get the tkg version of proton so if possible I would appreciate some help on how to do it exactly. The info you gave already is helpful but I'm still a noob 😂

sonic2kk commented 8 months ago

So are you saying it is now possible to get tkg directly from the software instead of the way you mentioned couple months back

Sorry? Proton-tkg has always been available from ProtonUp-Qt. You'll want to enable Advanced Mode and install the Proton-tkg build from Wine Master, that's pretty much what I said last month. To quote myself from https://github.com/DavidoTek/ProtonUp-Qt/issues/324#issuecomment-1837318122

Proton-tkg (Wine Master) should already have a release that you can download now, but it's likely to be unstable. If you want something that closely follows Wine releases, at the cost of stability, this is your best bet.

Here is a screenshot from ProtonUp-Qt 2.8.2 Flatpak:

image

What I said still stands, stability is not guaranteed here, but it should include the fixes. I didn't test myself, but since it's based on Wine Master, it's probably based on Wine 9.0-rc3 at this point, which is newer than Wine 8.21, so it will include the fix for MO2.

If you're not confident in tinkering though I still don't recommend doing this, or modding games on Linux at all since you need some understanding of how to use Wine and troubleshoot things when they break. Even moreso, in my opinion you shouldn't be modding games with MO2 on SteamOS as too much is likely to break at any given time.

spacecowboyx commented 8 months ago

That is much more clear and what I needed to see and understand. It may have been the way you worded it and or my extreme exhaustion when reading it where it didn't make sense. I understand now better.

I'm more than confident as far as tinkering goes that's not an issue it's just some things that I have not gotten cleared up. While I'm still a ways from an advanced user I am well experienced now dealing with Linux and modding on steamOS. If nothing else Skyrim has tested my patience and pushed my boundaries of knowledge extensively since you wrote that.

MO2 from rockerbacon works well enough for now and I've found ways to get things done with the 2.4 release. I'll experiment with 2.5 once I have this proton version to test. I'm curious to see if I can get some other applications that require qt7 running natively as well so it should prove to be a fun experiment.

sonic2kk commented 8 months ago

This issue can probably be closed then, as there isn't anything left on the ProtonUp-Qt side :slightly_smiling_face: