-
Notifications
You must be signed in to change notification settings - Fork 183
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
Games open in an invisible window since 3.14.3 when using FSR #1237
Comments
assertion failure in your output log @zany130 do you get that assertion failure only when trying to use FSR w/ gamescope? |
That happened when I was trying to open the Steam overlay. So I ran the game, heard the game responding to my input, but didn't see the game. Then I tried to open the Steam overlay, and it crashed. I'll try to see if it still happens without FSR it may be a separate issue EDIT: nope only happens when using FSR Updated the OP to clarify I am still running nested under kde |
that assert fail could be a clue then, or it is due to an unrelated bug... @Joshua-Ashton technically, |
Hi. I am tripping this assertion and another one upon closing the app gamescope is running. I bisected the offending commits. The assertion (1) being tripped here started with aec2fd2 . The other one (2) which happens on closing is: Backtrace of assertion 1:
Backtrace of assertion 2:
(tested on master branch with both Clang 18.1.2 and GCC 13.2.1 with either debug on and off, CachyOS Linux) |
@KyunLFA You could try checking for possible data races by building gamescope with thread sanitizer you'll need to first run this: Here's the build command(s) I've used for building w/ clang tsan: (clang's sanitizers are a bit more powerful than gcc's)
and then you can run gamescope like so: if you get a message complaining about sanitizer library load order, you might need to LD_PRELOAD |
for assertion #1, looking at this line of the backtrace:
that corresponds to so I might have been onto something afterall... though...
So I think there's a race condition that's happening in a short window of time, where if Note that the reason why I mention |
@zany130 @KyunLFA |
@Joshua-Ashton
I think that the point where said memory is freed (and then the static analyzer complains about the use-after-free) is when At this point, I wonder if it would be simpler to refactor the Rc stuff to just use boost intrusive pointers since I think that does something similar to what the Rc stuff is trying to do... just food for thought |
Did not fix it for me. Now getting Backtrace again in case anything changed:
|
@sharkautarch Definitely opposed to any boost crap, we can just store m_pClientBuffer in DecRef before the base class call. |
The assertion is because of how composition output buffers are handled fundamentally not working with how Wayland buffer release works. I need to rewrite that code to be smarter and pick images based on which are free. |
good to know
Ah I see
Well good luck, that sounds like a bit of a pain... |
I'm experiencing something similar on my end. As of 3.14.3 (downgrading to 3.14.2 fixes the issue), launching with FSR causes the window to show up not quite invisible, but extremely transparent and over-saturated. Toggling off FSR with For reference, I'm on arch, with hyprland 0.38.1-1 |
Ah, it looks like Joshua Ashton has fixed the use-after-free bug that I had found w/ scan-build. |
I'm trying to start waydroid in gamescope, and meet the same fault.
2024-04-22.13-31-56.webm |
You can comment out that assertion for now, but you might get visual glitching |
So, update on this issue. I tried the latest commit and FSR still shows a blank image. I'm guessing that just needs to be fixed but the really interesting thing is that it sorta works with nis... except an old copy of the screen is overlayed on top... trying to see how I can upload a screen shot here it comes out to big for github (prob because its 4k) So the "bottom" image is correct and responds to input while the top "overlayed image is static |
Something I've noticed is that this seems to be happening with the Nvidia generations Pascal and older. I have a 1080. This only happens when not full-screen otherwise it's black. gamescope 3.14.3-1
|
@Joshua-Ashton I was able to bisect this to 92f28b0 Although my issue might be unrelated, because gamescope never launches in nested mode no matter what (unrelated to using FSR) edit: fixed by this diff
|
Does your cursor theme not have left_ptr? That should not be fatal anyway. |
It does not, duplicating the "default" cursor as "left_ptr" fixes it as well. My cursor does not have any of the fallback names listed here https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/xcursor/wlr_xcursor.c?ref_type=heads#L262-292 but it does have the names wlroots tries for first. |
when I run Steam inside Gamescope (still nested under KDE in order to work around #1180)
any game I launch launches in an invisible window
this is ever since updating to the latest tag release https://github.com/ValveSoftware/gamescope/releases/tag/3.14.3
I have tried the following games:
a hat in time
Persona 3 Reload
Trails into reverie
Yooka-Layle (native linux game)
gamescope also seems to crash when trying to open the steam overlay or alt tab
EDIT:removing FSR from the gamescop arguments fixes the issue
possibly related to #1111 even though it was fixed for me for a while (ie: works on 3.14.2 #1005) ( I always use fsr when using gamescope)
Gamescope output
this is on the latest steam stable
also happens on latest game scope git
The text was updated successfully, but these errors were encountered: