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 "Launch Options" (not launch_args) to the config.toml #339

Open
Kagukara opened this issue Jan 18, 2025 · 1 comment
Open

Add "Launch Options" (not launch_args) to the config.toml #339

Kagukara opened this issue Jan 18, 2025 · 1 comment
Labels
enhancement New feature or request

Comments

@Kagukara
Copy link

Being able to add all your configurations to 1 file would great and what I thought the config.toml would allow, but it doesn't so far.

There was this comment for a suggestion to add [env] for your environment variables #135 (comment) (hasn't had any activity since Jul 4, 2024) and this PR for adding gamescope #179 that was closed (Oct 29, 2024).

Why not just add what Steam allows users to do with "Launch Options"? This would enable the user to add anything including environment variables and launch options to this section.

Example:

[umu]
launch_options = ["MESA_SHADER_CACHE_DIR=~/location/to/game/cache/mesa_shader", "VKD3D_SHADER_CACHE_PATH=/location/to/game/cache/vkd3d_shader", "gamemoderun", "gamescope -w 3840 -h 1800 -f"]
@R1kaB3rN
Copy link
Member

Yes. the current state of the configuration file usage leave much to be desired and hasn't been actively maintained or enhanced lately. The primary reason for this is simply because it's not clear how useful it really is. Since the Python rewrite and the initial release, no client app that I'm aware of uses config files and I'm observing the majority of users who use umu-launcher directly either make their own wrapper scripts or prefer the environment variable usage instead. The latter is understandable, as the usage is familiar to those who had previously used wine directly from the command line. For these reasons, the config usage is considered to be taken out in the next major release. At that time, users will be encouraged to look to other solutions such as umu-wrapper or build their own.

But if you think that adding an [env] table and putting all configurations to 1 file would make it more useful or if there's already client that's using config files, then I'm all ears. Maybe we can keep it then.

For the new config file usage, maybe we can have the table structure like this:

[umu.umu-0]
proton = '~/.local/share/umu/compatibilitytools/GE-Latest'
prefix = '~/Games/umu/umu-0'
launch_args = ['foo', 'bar']
# This will prepend gamescope to the command line
gamescope = True

[umu.umu-1]
proton = '~/.local/share/umu/compatibilitytools/GE-Latest'
prefix = '~/Games/umu/umu-0'
launch_args = ['foo', 'bar']

# environment variables that will be applied globally
[umu.env]
mesa_shader_cache_dir = '~/location/to/game/cache/mesa_shader'

# global gamescope options
[umu.gamescope]
sdr_gamut_wideness = 1
xwaylands = 2
fsr = True

# gamescope opts for umu-0
[umu.umu-0.gamescope]
out_width = 1600
out_height = 900

[umu.umu-1.gamescope]
out_width = 1280
out_height = 720

Or like what you suggested, which scales better. I'm open to other ideas/suggestions here though. Config file usage aside, providing gamescope-dbus to users will still likely be a thing.

@R1kaB3rN R1kaB3rN added the enhancement New feature or request label Jan 19, 2025
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

2 participants