bottlesdevs / Bottles

Run Windows software and games on Linux
https://usebottles.com
GNU General Public License v3.0
6.38k stars 266 forks source link

[Request]: Add custom gamescope options #3483

Open arm32x opened 2 months ago

arm32x commented 2 months ago

Tell us the problem or your need

gamescope has lots of command-line options, most of which aren't exposed by the Bottles GUI. I would like to be able to set these options.

Describe the solution you'd like

To fix this, I would add a text field in the gamescope settings panel where you could enter custom command-line arguments for gamescope. These would be used in addition to the regular arguments set by Bottles.

Other solutions?

Adding individual GUI controls for each option would also work.

Additional context and references

For my use case, I'm interested in the -s/--mouse-sensitivity option, but I would like to be able to set other options as well if I need to in the future.

Akeem29 commented 2 months ago

I would like to see this added too! I'm interested in --filter option that allows me to upscale pixelated games. There is a currently available solution though - you should disable the gamescope in the bottle's settings and instead go to the ⋮ menu of your game's executable. In it, you should go to "Change Launch Options...". There, you should write gamescope %command% in the "Command Arguments" text field. Between gamescope and %command% you can write any options that you like. In my case this looks like gamescope -w 640 -h 480 -F nearest -S integer -f %command%

cncz42 commented 1 month ago

Definitely need this, especially since gamescope as a launch argument doesn't work on flatpak, meaning the only way to get extra options is to edit winecommand.py to add extra args like --hdr-enabled.

bbilford83 commented 1 month ago

I would also love for this to be added as I'm really struggling to add certain non-gamescope-related command arguments.

I would like to see this added too! I'm interested in --filter option that allows me to upscale pixelated games. There is a currently available solution though - you should disable the gamescope in the bottle's settings and instead go to the ⋮ menu of your game's executable. In it, you should go to "Change Launch Options...". There, you should write gamescope %command% in the "Command Arguments" text field. Between gamescope and %command% you can write any options that you like. In my case this looks like gamescope -w 640 -h 480 -F nearest -S integer -f %command%

This doesn't seem to work for me... the commands after "gamescope" still work but it isn't actually loading gamescope anymore. @Akeem29, any tips?

Definitely need this, especially since gamescope as a launch argument doesn't work on flatpak, meaning the only way to get extra options is to edit winecommand.py to add extra args like --hdr-enabled.

Also trying to use this solution, I can't seem to find where the winecommand.py file is. I'm working on a Steam deck and there doesn't seem to be a "backend" folder that I see when I google that filename. I'd gladly go through the manual steps of editing these files if it would let me add more commands. @cncz42, could you possibly point me in the right direction?

bbilford83 commented 1 month ago

Commenting again for anyone else facing the same problem, but I finally solved the issue by changing my executables to be ahk scripts (converted into exes) that launch the original executable with the command arguments added. This worked out fine, though obviously it's a ton more work than if the command arguments worked in Bottles itself.

cncz42 commented 1 month ago

Also trying to use this solution, I can't seem to find where the winecommand.py file is. I'm working on a Steam deck and there doesn't seem to be a "backend" folder that I see when I google that filename. I'd gladly go through the manual steps of editing these files if it would let me add more commands. @cncz42, could you possibly point me in the right direction?

The winecommand.py file should be in /var/lib/flatpak/app/com.usebottles.bottles/x86_64/stable/active/files/share/bottles/bottles/backend/wine/ but steam deck is immutable afaik so you may need to change things with a custom repo. The line you want to edit is whichever call to gamescope_cmd.append matches the active options for your game.