Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Sarek #464

Open
pythonlover02 opened this issue Sep 25, 2024 · 6 comments
Open

Add Sarek #464

pythonlover02 opened this issue Sep 25, 2024 · 6 comments
Labels
enhancement New feature or request

Comments

@pythonlover02
Copy link

Is your feature request related to a problem? Please describe.
Nop

Describe the solution you'd like
Adding Sarek or Proton-For-Old-Vulkan Builds: https://github.com/pythonlover02/Proton-Sarek/tree/Stable

Describe alternatives you've considered
Manually downloading the Sarek builds

Additional context
Sarek (Proton-For-Old-Vulkan) is a custom Proton build featuring DXVK 1.10.3 and DXVK 1.10.3 Async, tailored for users with GPUs supporting Vulkan 1.1+ (but not 1.3+) and non-Vulkan setups. It offers patched versions of Proton-GE for improved performance on old hardware, with little enhancements to WineD3D. Originally created for two friends with GT 710 GPUs, the goal is to allow users with older GPUs to run Proton-GE without needing to use older versions.

Im the creator and maintainer of the repo, i come here because some people would really like those builds to be on ProtonUp-Qt for a more easy access, anything that i need to know, or do i am at the orders

pd: while i have a decent experience modifying code and using GitHub a im new to this of doing a public request, if i mess up anywhere just say it and i will fix it. And thx for reading :)

@pythonlover02 pythonlover02 added the enhancement New feature or request label Sep 25, 2024
@sonic2kk
Copy link
Contributor

Sounds like a good idea, can you give more information on the technical details? Including:

  • What archive type is used, and is this likely to change, or has this changed in the past? This could impact implementation a bit, if the extension has changed before.
  • Does this project use standard GitHub releases only? If there are nightlies would we also want to add support for downloading these as well?
  • What launchers are supported here? Steam seems like the obvious one of course, but what about Lutris, Heroic, and Bottles, which usually support Proton-based tools as well as those using Wine with patches and tweaks.
    • While this tool may work with these launchers I'm asking this more to get an understanding ofan "official" standpoint.
    • Lutris may detect this tool already if installed for Steam so we may get Lutris for free / whether we like it or not, I'd need to check though.
  • Anything else you think might be relevant! 😄

The repository can probably answer some of these but getting them directly from someone familiar with the project is also good, and having the answers here gives a good single reference point during implementation. :-)

while i have a decent experience modifying code and using GitHub

I'd wait until the maintainer weighs in, but if you'd like you're free to implement this yourself! Using the GE-Proton ctmod as a base is probably good, it could probably be subclassed and used in a new file called something like ctmod_sarek.py.

That may not be super straightforward to do right now but I am planning a bit of a refactor PR for GE-Proton, and it might make this an easy thing to implement!

@pythonlover02
Copy link
Author

pythonlover02 commented Sep 25, 2024

Shure, i can give that info :)

What archive type is used, and is this likely to change, or has this changed in the past? This could impact implementation a bit, if the extension has changed before.

I will use always the .tar.gz as its the standard that i follow, and in the past it hadn't change

Does this project use standard GitHub releases only? If there are nightlies would we also want to add support for downloading these as well?

Yep standard releases only, about what releases adding i would like to only add the Sarek[version_here] and the Sarek[version_here]-async and not the testing versions. I just don’t want new users to accidentally use a testing version and mess up a game prefix. Even though I’m careful with what goes into testing, there’s always a small chance something could break.

What launchers are supported here? Steam seems like the obvious one of course, but what about Lutris, Heroic, and Bottles, which usually support Proton-based tools as well as those using Wine with patches and tweaks.
While this tool may work with these launchers I'm asking this more to get an understanding ofan "official" standpoint.

For now only Steam its and will be officially supported, i will considerate making it available for others Launchers, maybe even make a version without the proton stuff so it can be used just like a normal Wine version on those launchers. But first i want this to be a little more future prof, i am at the moment teaching 2 of my closest friends of how to make the releases, add patches and anything that they need to know, so in the future if something happens to me they can take care till i come back, they had already help a loot doing testing and feedback to the builds.

Lutris may detect this tool already if installed for Steam so we may get Lutris for free / whether we like it or not, I'd need to check though.

For some reason, it doesn’t work on my PC, even though I have all the versions in the ~/.local/share/Steam/compatibilitytools.d/ directory. Both Steam and Lutris are native versions, so maybe it’s an issue with the distro package (OpenSUSE Tumbleweed).

The repository can probably answer some of these but getting them directly from someone familiar with the project is also good, and having the answers here gives a good single reference point during implementation. :-)

Just say if you or anyone needs anything more and i will add it :)

I'd wait until the maintainer weighs in, but if you'd like you're free to implement this yourself! Using the GE-Proton ctmod as a base is probably good, it could probably be subclassed and used in a new file called something like ctmod_sarek.py.

I would like to do it, but i dont have much time rn i have a loot of exams this week and the next, im currently at my university writing this on my laptop, waiting to do the Geometry and Linear Algebra 2 exam lol(hope that i write that right).

That may not be super straightforward to do right now but I am planning a bit of a refactor PR for GE-Proton, and it might make this an easy thing to implement!

That sounds really nice. Good luck with that :)

@sonic2kk
Copy link
Contributor

Thanks for the info! This sounds like a pretty straightforward tool to add, then. We could probably add it now but I think it would make sense to base this on the GE-Proton ctmod (this is the most generic installer path, basically just downloads and extracts a compatibility tool archive), and to do that like I said I think it would make sense to wait until after a refactor PR. I don't have time to write up a PR right now and give background (I like to be detailed, for review and historical purposes, in PRs about the "what, why, how", rationale, pros/cons, future work etc).

That's good to know about other launchers, there's absolutely no problem with only Steam being supported fwiw I want to clear that up, I asked to make sure ProtonUp-Qt only lists it for "valid" launchers.

@pythonlover02
Copy link
Author

Thanks for the info! This sounds like a pretty straightforward tool to add, then. We could probably add it now but I think it would make sense to base this on the GE-Proton ctmod (this is the most generic installer path, basically just downloads and extracts a compatibility tool archive), and to do that like I said I think it would make sense to wait until after a refactor PR. I don't have time to write up a PR right now and give background (I like to be detailed, for review and historical purposes, in PRs about the "what, why, how", rationale, pros/cons, future work etc).

I understand, also i have all the time of the world, i am just doing a request feel free to add or not my tool once its all ready :), and thanks for your work

That's good to know about other launchers, there's absolutely no problem with only Steam being supported fwiw I want to clear that up, I asked to make sure ProtonUp-Qt only lists it for "valid" launchers.

Its organized and avoids problems, i really like it 👍 . About supporting other launchers its something that might come in one month or two, it really depends of how the schedule change on the short therm, also i will make a request at least one version/revision before adding that build to any release.

@DavidoTek
Copy link
Owner

Thanks for sharing Sarek.
Great to have a compatibility tool that focuses on older hardware. After all, many people use Linux to keep their older hardware supported.

I'd wait until the maintainer weighs in, but if you'd like you're free to implement this yourself! Using the GE-Proton ctmod as a base is probably good, it could probably be subclassed and used in a new file called something like ctmod_sarek.py.

Sorry for not getting back to you sooner. I'm open to introducing Sarek to ProtonUp-Qt, likely as an advanced (advmode) compatibility tool. As sonic2kk mentioned, feel free to take a look at the GE-Proton ctmod and create a PR if you have spare time when you are done with your exams.

That may not be super straightforward to do right now but I am planning a bit of a refactor PR for GE-Proton, and it might make this an easy thing to implement!

Okay, I'm looking forward to this. Yeah, it makes sense to consider this before creating the Sarek ctmod.

@dpanter
Copy link

dpanter commented Nov 4, 2024

Proton-Sarek was featured on GamingOnLinux today, hope we can see it added to ProtonUp-Qt soon!
https://www.gamingonlinux.com/2024/11/check-out-proton-sarek-if-you-have-an-older-gpu-for-windows-games-on-linux/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants