Solvedsteam for linux overlay broken (appears white) as of last update
✔️Accepted Answer
@Plagman I believe I know what the problem is. I think it is either an issue in the Steam client in the way that it selects X visuals for the overlay or possibly the Nvidia drivers in the way that it reports X visuals.
After some debugging of the SteamOS compositor, this is what I have found:
- In
win_fbconfig
the X visual attached to the overlay window has a reported visual depth of 32-bits, BUT the actual color buffer size, as reported byglxinfo
for the X visual id, is 24-bits and it does not have an alpha channel. - The selected X visual appears to be the first in the list that has a visual depth of 32, perhaps the Steam client is just picking the first X visual with a reported visual depth of 32, and assumes that is correct without checking the actual color buffer sizes that are allowed to be used with that visual.
- This results in
win_fbconfig
selecting aGLXFBConfig
object without an alpha channel as there is noGLXFBConfig
object with an alpha channel that is compatible with the X visual of the overlay window. This also explains the X11BadDrawable
error and explains why the overlay works (sans transparency) when I override the parameters forglXCreatePixmap
to use RGB instead of RGBA, because the window is actually 24-bit and doesn't have alpha. - On my AMD machine, all X visuals with a reported visual depth of 32-bits also have an actual color buffer that is 32-bits. Explaining why it works in the AMD environment.
TLDR: the way the Nvidia driver reports color depth is a bit wonky and I believe the Steam client is not accounting for it and inadvertently selecting the wrong X11 resource for a 32-bit color window.
I don't think there is anything that can be done in the SteamOS compositor to fix this. It most likely needs to be fixed in the Steam client. X11 doesn't like it when you select a GLXFBConfig
with a different X visual id from the current window. It was worth a shot I guess.
Not sure how to proceed in getting this looked at and addressed. Please advise!
This is quite painful for all SteamOS compositor users with Nvidia GPUs.
Thanks!
Other Answers:
I found a work around.
For SteamOS/steamos-compositor:
Edit /usr/bin/steamos-session
by removing the -steamos
launch option to steam.
For GamerOS/steamos-compositor-plus:
Edit ~/.config/steamos-compositor-plus
, adding the following line:
STEAMCMD="steam -tenfoot -fulldesktopres"
The downside of this change is that you will:
- lose access to audio, bluetooth and network settings
- have a bunch of irrelevant extra options in the shutdown menu
- lose access to OS version information
- likely lose access to OS update notifications
Your system information
Distribution: Fedora31
Opted into Steam client beta?: No
Have you checked for system updates: Yes
Please describe your issue in as much detail as possible:
The steam overlay has been broken in big picture mode (using the steamcompositor) since the last update I received. Info boxes and accessing it through [shift]+[tab] appear as a white box / white screen respectively.
Steps for reproducing this issue:
log_steam3.txt
steam_client.txt
steam_packages.txt
usr_bin_steamon-session.txt
vulkaninfo2.txt