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

Tool Rewrite Plans and Ideas #13

Open
valarnin opened this issue Mar 8, 2021 · 4 comments
Open

Tool Rewrite Plans and Ideas #13

valarnin opened this issue Mar 8, 2021 · 4 comments
Assignees
Labels
enhancement New feature or request question Further information is requested

Comments

@valarnin
Copy link
Owner

valarnin commented Mar 8, 2021

This issue is meant to be a tracking issue to track ideas and plans for the upcoming rewrite of the tools.

This issue will track final decisions, with suggestions and discussion in comments below.

@valarnin valarnin added enhancement New feature or request question Further information is requested labels Mar 8, 2021
@valarnin valarnin self-assigned this Mar 8, 2021
@valarnin
Copy link
Owner Author

valarnin commented Mar 8, 2021

My current thoughts are as follows:

  • Rewrite the tools to use some sort of UI.
  • Allow one of:
    • Selection of a currently running FFXIV/XL process
    • Selection of a wine runner and runtime
      • Runner selection will offer from a pre-populated list of known working runners, a list of runners in Lutris' runner folder, and a list of runners in Steam's runner folder
      • Runtime will auto-select if the user selects a Lutris or Steam-associated runner, but allow override to use only system libraries
    • Select an existing config file
  • Detect XL, ACT, FFXIV installation status, offer to install each in the prefix
    • If FFXIV is already installed in the prefix, offer to symlink or to copy the install to the new setup
    • Otherwise, ask user to select an existing FFXIV install or if they want to install from scratch
    • If copying, ask them if they want to symlink instead
  • Maybe CMTools-related options if I can figure out a way to get them to work consistently?
  • Depending on selected options, ask the user which .NET version they want to install, e.g. 4.8
  • Ask the user what desktop shortcuts they want
  • Once setup options are decided, generate a setup config and store somewhere in ~/.config
    • Config should track each step in the process and if it's unstarted, started, errored, or finished, as well as any associated metadata for that step, e.g. backup locations for the step where backups are generated
    • Config should also track all options selected as part of the setup
  • Run some initial config checking here, make sure we can e.g. figure out relevant versions/runtime locations/etc
  • Prompt the user with config options and detected information, with continue or cancel
  • After continuing, begin setup process
    • Runner will be downloaded and extracted, or copied, to a ~/.<something appropriate> folder
    • Prefix will be copied as well if an existing process was selected, otherwise generate a new prefix via wine
      • Handle the copy/symlink decision for FFXIV here if it was already installed
    • .NET installation happens here
    • Test for working runner and prefix, test for working .NET install (via csc -version check maybe?)
    • Generate backups
    • Patch runner via patchelf
    • Test for working runner
    • Set runner caps (requires sudo, run as subprocess?)
    • Test for working runner
    • Generate second backup for patched runner
    • Install XL if selected
    • Install FFXIV if selected
      • If XL is installed as well, install FFXIV via XL instead
    • Install other tools/utilities
    • Add desktop shortcuts

@sangoku116
Copy link

I would also add an option or even automatically install hudkit with act as it works great and is quite necessary for a proper overlay behaviour.

@valarnin
Copy link
Owner Author

valarnin commented Mar 9, 2021

I was hoping to get BrowserHost working consistently as part of the 'known working' selection, I have a couple of guesses as to why it randomly fails for some people, but having a hudkit option would probably be a good idea. I'd prefer to have a way to allow interaction with the overlay as well, but that's a hudkit issue not something that should be tracked here.

@MageToLight
Copy link

If you're considering CMTools options it may also be worth factoring in GShade as it does have a Linux install method already. I know it sometimes has issues with certain versions of Wine though could just leave it to the user to install GShade to the install themselves and getting that working before moving onto ACT.

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

No branches or pull requests

3 participants