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

allow gamescope to work on gpus that don't support the present_wait extension #6

Closed
wants to merge 4 commits into from

Conversation

pastaq
Copy link

@pastaq pastaq commented Feb 4, 2024

@sharkautarch
Copy link

sharkautarch commented Feb 4, 2024

Author here,
my commits from the gs_vk_1_2_comp branch also allow gamescope to work on devices that only support vulkan 1.2, in addition to allowing it to work w/ devices that don't support present_wait/present_id.

Now my code w/ checkForPresentWaitExt() may be a bit clunky: it temporarily loads the vulkan library and creates a temporary vulkan instance and instance functions for the sole purpose of checking for the present_id/present_wait extensions...

The reason for the above behavior is to ensure that, if the gpu doesn't support present_wait, gamescope always sets vk_khr_present_wait=false before starting up sdl2 & the child processes

@Boria138
Copy link

@sharkautarch also has this branch https://github.com/sharkautarch/gamescope/tree/nvidia-fix specifically in my case only with these patches I managed to run gamescope normally without artifacts, so I would be grateful if you would consider adding patches from there as well.

@sharkautarch
Copy link

@sharkautarch also has this branch https://github.com/sharkautarch/gamescope/tree/nvidia-fix specifically in my case only with these patches I managed to run gamescope normally without artifacts, so I would be grateful if you would consider adding patches from there as well.

Only issue is that I’ve heard from others (and have also noticed this myself) that the ‘nvidia-fix` branch for whatever reason doesn’t actually work on non-nvidia gpus.
No clue why that is the case

@sharkautarch
Copy link

sharkautarch commented Mar 12, 2024

UPDATE
I just realized that this PR is trying to merge my branch into ChimeraOS/master, yet it should instead merge it into ChimeraOS/gamescope-plus

also, I don't think my sharkautarch/gs_vk_1_2_comp branch will merge into gamescope-plus cleanly, so I made another branch for it that can be merged in cleanly:
sharkautarch/gamescope-plus-vk-1-2-comp

@TheW0LVERIN3
Copy link

@sharkautarch
This MR was originally dismissed by the main chimeraos dev on discord due to the maintenance burden, but if you'd be willing to help maintain these patches or something similar it would be a completely different situation. I recommend joining the discord if you can: https://discord.gg/d4bJu2rNen to make it easier for you to discuss with the devs. I just brought up the topic in the #core-os channel, so go there if possible.

@sharkautarch
Copy link

sharkautarch commented Mar 13, 2024

@sharkautarch This MR was originally dismissed by the main chimeraos dev on discord due to the maintenance burden, but if you'd be willing to help maintain these patches or something similar it would be a completely different situation. I recommend joining the discord if you can: https://discord.gg/d4bJu2rNen to make it easier for you to discuss with the devs. I just brought up the topic in the #core-os channel, so go there if possible.

Honestly understandable,
I will say that I had also made a newer branch (gs_vk_1_2_comp_target_HEAD) where I rewrote my code to target newer versions of gamescope (necessitated by a major refactor that happened w/ gamescope version 3.14.2). When rewriting said code in the gs_vk_1_2_comp_target_HEAD branch, I reworked some stuff to be more maintainable... (I mean, probably still not that maintainable)
However, merging the gs_vk_1_2_comp_target_HEAD branch into gamescope-plus would require gamescope-plus to merge in the entire backend refactor from upstream, so probably not happening anytime soon.
I think my code by its very nature would be a pain to maintain w/out the backend refactor that happened in gamescope version 3.14.2

TL;DR I'm not very personally invested in this, so this PR should probably be closed at this point
(note in case you're wondering: I'm not the person who created this PR, so I cannot close it)

@pastaq pastaq closed this Mar 13, 2024
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.

4 participants