forked from ublue-os/bazzite
-
Notifications
You must be signed in to change notification settings - Fork 0
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
[pull] main from ublue-os:main #81
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* feat: Introduce gamescope-overlay-injector This is a modified version of @coolavery's script from ValveSoftware/gamescope#835 (comment) It introduces the `scb` command which is a symlink to `scopebuddy` that will do the whole unset `LD_PRELOAD` for gamescope and re-apply it for `%command%` song and dance. `scb` can replace `gamescope` in the launch options for games in steam ex: `gamescope -w 1920 -h 1080 -W 2560 -H 1440 -r 180 --hdr-enabled -- %command% --nointro --etc` --> `scb -w 1920 -h 1080 -W 2560 -H 1440 -r 180 --hdr-enabled -- %command% --nointro --etc` Furthermore if the user has a config file `~/.config/scopebuddy/scb.conf` it will be sourced before starting gamescope. If the above file exists and a config with the games AppID exists in `~/.config/scopebuddy/AppID/` then that file will be loaded instead of the `scb.conf` unless a custom one is set through the SCB_CONF env var. The file can set a `SCB_DEFAULT_ARGS` variable to provide `scb` with default gamescope arguments as long as the user gives `scb` no arguments before the `--` in the launch options, providing __any__ args to `scb` will make it ignore `SCB_DEFAULT_ARGS` completely and use whatever the user provides in the launch options. This lets the user apply a default set of env vars and gamescope args that they use regularly for games to avoid messes like `env -u LD_PRELOAD ENABLE_GAMESCOPE_WSI=0 SteamDeck=0 XKB_DEFAULT_LAYOUT=no MANGOHUD_CONFIG=read_cfg,preset=2 gamescope --mangoapp -f -w 2560 -h 1440 -W 2560 -H 1440 -e --force-grab-cursor --hdr-enabled -- env LD_PRELOAD="$LD_PRELOAD" %command%` Instead they can define the defaults in `~/.config/scopebuddy/scb.conf` like this ```ini export XKB_DEFAULT_LAYOUT=no export MANGOHUD_CONFIG=read_cfg,preset=2 SCB_DEFAULT_ARGS="--mangoapp -f -w 2560 -h 1440 -W 2560 -H 1440 -r 180 --force-grab-cursor --hdr-enabled -e --adaptive-sync" ``` now this is simplified in the launch options as `SteamDeck=0 ENABLE_GAMESCOPE_WSI=0 scb -- %command%` If the user wants a specific config they do not need to remember for a specific game (in this example warframe) then they can make an AppID config in `~/.config/scopebuddy/AppID/230410.conf`, `230410` is the Steam App ID for warframe. In this we can add ```ini export MANGOHUD_CONFIG=read_cfg,preset=3 export SteamDeck=0 export ENABLE_GAMESCOPE_WSI=0 SCB_DEFAULT_ARGS="--mangoapp -f -w 1920 -h 1080 -W 2560 -H 1440 -r 60 --force-grab-cursor --hdr-enabled -e --adaptive-sync" ``` So now i can set the launch options for warframe to `scb -- %command%` and it will source `~/.config/scopebuddy/scb.conf` then source `~/.config/scopebuddy/AppID/230410.conf` which will override anything set by `scb.conf` if they touch the same variables, in this example it will upscale the game from 1080p to 1440p and limit refresh rate to 60 while setting the `SteamDeck` and `ENABLE_GAMESCOPE_WSI` environment variables, change MangoHud to preset 3 and keep the XDG keyboard layout set by `scb.conf`. This also means it will run any bash code written in the config file before launching the game too! Then to not use the gamescope args defined in `SCB_DEFAULT_ARGS` the user just has to supply any gamescope arg like so, as they clearly do not want the defaults then. (current implementation still will apply default env vars though) `scb -r 180 -- %command%` The user can also define a different file that contains different defaults too by overriding `SCB_CONF` with the new filename. `SCB_CONF=1080_180hz_upscaled_hdr.conf scb -- %command%` this will then load the config from `~/.config/scopebuddy/1080_180hz_upscaled_hdr.conf` instead RFC: * Unsure if we should make the script not load the config file at all if a gamescope arg is provided or if we should make it just load the env vars * ~~Should we preemptively have this named something else in prep for upstream fixing this issue?~~ PROS: * Fixes overlay when using nested gamescope in most titles * Gives users a command to use for using nested gamescope with a default set of env vars and args (giving this a purpose once it is fixed upstream) Limitations: * ~~`%command%` has to be in double quotes, args after `"%command%"` does not need to be quoted unless you would normally~~ fixed with 58f5bf6 * does not fix the overlay in all games (usually games where it didn't work to begin with) * `gamemode.conf` will be forced as the only possible default config when running inside gamemode (appid configs will still be loaded as usual if they exist) Co-authored-by: Avery <[email protected]> * feat: only load default args if the user supplies none, but do load default env vars * fix: output each line from gamescope-overlay-injector.gamescope.out until xwayland is initialized * feat: Use a fifo file so we dont end up filling memory by accident Co-authored-by: Zeglius <[email protected]> * feat: rename to scopebuddy * feat: add GAMESCOPE_BIN env var according to @tulilirockz it will help making this work inside flatpak Co-authored-by: Tulip Blossom <[email protected]> * chore: improve wording * feat: make SCB_CONFFILE configurable through env vars For advanced users * fix: remove rogue $ in example config * fix(scopebuddy): double quoting %command% is no longer required * chore: remove quoted %command% from example * chore(scopebuddy): rename SCB_CONFFILE to SCB_CONF for clairity and less to type for overriding and renamd SCB_CONFIG to SCB_CONFIGFILE for clairity in code * feat: add support for automatic loading of configs based on Steam AppID example: throw a config named `230410.conf` into `~/.config/scopebuddy/AppID/` and it will automatically be loaded instead of `scb.conf` as long as the user does not specify a custom file through the SCB_CONF env var * chore(scopebuddy): shellcheck cleanup * chore: remove old references to GOI * feat: add SCB_NOSCOPE override to launch %command% without gamescope @wolfyreload wanted to use this nonsense in gamemode :P * feat(scopebuddy): add separate default conf file for SCB_NOSCOPE=1 * feat(scopebuddy): add support for usage inside gamemode * chore(scopebuddy): clarify advanced example text * fix(scopebuddy): HDR now works with gamescope spawned by scopebuddy --------- Co-authored-by: Avery <[email protected]> Co-authored-by: Zeglius <[email protected]> Co-authored-by: Tulip Blossom <[email protected]> Tested-by: Crono <[email protected]> Tested-by: wolfyreload <[email protected]>
would essentially show mangohud twice
This will allow the reuse of build args for multiple image builds within the same job in a future
--no-lock was recently removed from brew-bundle and is no longer valid. See Homebrew/homebrew-bundle@98d8ad7#diff-2ba13d1d1d9b7abcde49568b7aec20c97f4541f44f6befd62ac6a4d820ddb7ccL96-L98
This fixes nested quoted in the os-release
* fix(install-kernel-akmods): fetch nct6687 RPM from akmods-extra instead of akmods * fix(install-kernel-akmods): more strict akmods-extra installation
Now it will detect whenever we are running inside a container, and if so, redirect to dnf5
No longer neccessary since the HDR fix
feat: Switch to upstream scopebuddy
feat(yafti): add Crunchyroll and Plex media apps to yafti
chore(deps): update hhd-dev/rechunk action to v1.2.1
fix: remove --no-lock from ujust bazzite-cli brew command
fix(flatpak): remove flatpak data/icons override
feat: Smart dnf wrapper
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.1)
Can you help keep this open source service alive? 💖 Please sponsor : )