Skip to content

Rework to allow wine prefix selection for games#46

Open
sjp761 wants to merge 37 commits intoArmchairDevelopers:masterfrom
sjp761:master
Open

Rework to allow wine prefix selection for games#46
sjp761 wants to merge 37 commits intoArmchairDevelopers:masterfrom
sjp761:master

Conversation

@sjp761
Copy link

@sjp761 sjp761 commented Jan 27, 2026

This is work towards per-game wine prefixes. Also added file exclusion. Tested my changes on windows as well as everything works. Will help close #44

Included work in this PR

  • File Exclusion (I would split this off into a separate PR but part of the refactoring I did gave me access to the slug of the game which I used for the name of the file instead of the offer id; the only place where I touched existing code for this is the GameDownloader struct, declaring an exclusion list and looping and filtering the entries)
  • Per game wine prefixes (added support for it in maxima-cli as well)
  • GUI options for wine prefix at installation time which works for both locating and installing the game. Wine prefix options only appear on Linux
  • Saving game install path and path to json file so the program can pull the path as necessary without referring to the registry (allows referencing the game path without the registry for things like running touchup)

I did not add code (yet at least) that registers games as installed if someone was on the old system so games will have to be manually located again for the app to pick them up

@sjp761 sjp761 changed the title [DRAFT}: Rework to allow wine prefix selection for games [DRAFT]: Rework to allow wine prefix selection for games Jan 27, 2026
@wannkunstbeikor
Copy link
Collaborator

ability to use Steam Linux Runtime directly

Just curious, why would you want to do that when you can use umu? Seems like way more work.

@sjp761
Copy link
Author

sjp761 commented Jan 30, 2026

ability to use Steam Linux Runtime directly

Just curious, why would you want to do that when you can use umu? Seems like way more work.

Just something personal I added. This fork was supposed to be just my subjective improvements before I decided I'll try to add per game prefix support. I'll remove it and keep the PR focused going forward

@wannkunstbeikor
Copy link
Collaborator

I'll remove it and keep the PR focused going forward

You dont have to remove it, I was just curious why u use the runtime directly. Also I think it might be a good idea to split the pr, since then its easier to see what you did. So one pr for the exclusion, one for the settings, etc. Or do they depend on each other too much to split them?

@sjp761
Copy link
Author

sjp761 commented Jan 30, 2026

I'll remove it and keep the PR focused going forward

You dont have to remove it, I was just curious why u use the runtime directly. Also I think it might be a good idea to split the pr, since then its easier to see what you did. So one pr for the exclusion, one for the settings, etc. Or do they depend on each other too much to split them?

I can split exclusion into its own PR but any work towards separate wine prefixes and the JSON installation detection relies on the settings refactor. Moving it to the library allows easy access to the user-set wine prefix location when wine needs to be run and the cli/tui can access said settings as well when running a game

EDIT: Reverted the SLR changes

EDIT 2: Basically striped out any changes unrelated to multiple wine prefixes so this PR is a lot more focused now. Exclusion I'm keeping here because part of the refactor I did allows me to use the slug as the name of the file.

@sjp761 sjp761 marked this pull request as ready for review February 23, 2026 15:47
@sjp761 sjp761 changed the title [DRAFT]: Rework to allow wine prefix selection for games Rework to allow wine prefix selection for games Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Store installed state separately from the wine prefix

2 participants