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

Entire screen is white when steam overlay is opened while in-game #864

Closed
oliverchang opened this issue May 1, 2023 · 13 comments
Closed

Comments

@oliverchang
Copy link

oliverchang commented May 1, 2023

Since the color and hdr overhaul, I've been running into issues with steam overlay while in-game on my device.

Whenever the steam overlay is brought up while in game, my screen instantly goes completely white before any animations occur. I can still interact with the overlay by guessing where the buttons are (e.g. the "Exit" button).

Bisecting this is difficult due to #862 manifesting in many of the commits here, but ef41d9f is the last fully working commit for me. I'm happy to provide any logs or help with any debugging if pointers are provided.

@ruineka
Copy link

ruineka commented May 2, 2023

My bisect results came to this while diagnosing the white screen. Like the OP said it's hard because so many commits break gamescope in multiple ways.

dc60eba2463faa433bd906e78afea95dcfd176b4 is the first bad commit
commit dc60eba2463faa433bd906e78afea95dcfd176b4
Author: Joshua Ashton <[email protected]>
Date:   Thu Mar 23 03:14:03 2023 +0000

    color, drm: Initial work on new color mgmt system
    
    Deprecates all other color properties for new color mgmt system using 3D LUTs

 src/color_helpers.cpp | 443 ++++++++++++++++++++++++++++++++++++++++++++++
 src/color_helpers.h   | 147 ++++++++++++++++
 src/drm.cpp           | 479 ++++++++++++++------------------------------------
 src/drm.hpp           |  58 +++---
 src/meson.build       |   1 +
 src/steamcompmgr.cpp  | 152 +++++-----------
 src/xwayland_ctx.hpp  |  15 +-
 7 files changed, 799 insertions(+), 496 deletions(-)
 create mode 100644 src/color_helpers.cpp

@ruineka
Copy link

ruineka commented May 2, 2023

I uploaded a video showing the white screen issue here https://www.youtube.com/watch?v=XISJFvdH-l0
@Joshua-Ashton

@misyltoad
Copy link
Collaborator

Can you all please list the hardware you are using?

@ruineka
Copy link

ruineka commented May 2, 2023

Can you all please list the hardware you are using?

Aya Neo Geek 6800U 800P model. It seems the Win Max 2 may have the same issue.

Edit:
To clarify this is on ChimeraOS when using gamescope-git.

@oliverchang
Copy link
Author

oliverchang commented May 3, 2023

I am also using the AYANEO Geek with a 6800U. In case it's helpful the parsed EDID information for the display is the following (note that the edid parsing from libdisplay-info here fails, which led to #860):

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: AYA
    Model: 257
    Serial Number: 539035143
    Made in: week 49 of 2022
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 8
    DisplayPort interface
    Maximum image size: 9 cm x 15 cm
    Gamma: 2.20
    DPMS levels: Standby Off
    Supported color formats: RGB 4:4:4, YCrCb 4:4:4
    First detailed timing includes the native pixel format and preferred refresh rate
  Color Characteristics:
    Red  : 0.6503, 0.3388
    Green: 0.3242, 0.6132
    Blue : 0.1572, 0.0488
    White: 0.3134, 0.3291
  Established Timings I & II: none
  Standard Timings: none
  Detailed Timing Descriptors:
    DTD 1:   800x1280   59.982747 Hz   5:8     78.817 kHz     67.310000 MHz (94 mm x 151 mm)
                 Hfront   18 Hsync  18 Hback   18 Hpol P
                 Vfront   20 Vsync   4 Vback   10 Vpol P
    DTD 2:   720x1280   59.002819 Hz   9:16    77.884 kHz     66.980000 MHz (94 mm x 151 mm)
                 Hfront   64 Hsync   8 Hback   68 Hpol P
                 Vfront   10 Vsync  16 Vback   14 Vpol P
    DTD 3:   600x960    58.993636 Hz   5:8     58.050 kHz     44.350000 MHz (94 mm x 151 mm)
                 Hfront   68 Hsync   8 Hback   88 Hpol P
                 Vfront   12 Vsync   4 Vback    8 Vpol P
    Display Product Name: 'AYANEOWXGA'
  Extension blocks: 1
Checksum: 0x7a

----------------

Block 1, CTA-861 Extension Block:
  Revision: 3
  Supports YCbCr 4:4:4
  Supports YCbCr 4:2:2
  Native detailed modes: 0
  Video Format Data Block:
    NTSC fractional frame rates are preferred
    RID 16@24p:  5120x2880   24.000000 Hz  64:27    88.200 kHz    465.696000 MHz
    RID 16@30p:  5120x2880   30.000000 Hz  64:27    88.200 kHz    465.696000 MHz
    RID 16@60p:  5120x2880   60.000000 Hz  64:27   178.800 kHz    951.216000 MHz
    RID 10@30p:  5120x1440   30.000000 Hz  32:9     44.400 kHz    236.208000 MHz
    RID 10@60p:  5120x1440   60.000000 Hz  32:9     90.000 kHz    472.320000 MHz
    RID 1@30p:  1280x720    30.000000 Hz  16:9     22.200 kHz     35.520000 MHz
    RID 1@60p:  1280x720    60.000000 Hz  16:9     45.600 kHz     67.488000 MHz
    RID 24@30p: 11520x6480   30.000000 Hz  64:27   197.400 kHz   2305.632000 MHz
    RID 24@60p: 11520x6480   60.000000 Hz  64:27   400.800 kHz   4681.344000 MHz
    RID 16@24p:  5120x2880   24.000000 Hz  64:27    88.200 kHz    465.696000 MHz
    RID 16@25p:  5120x2880   25.000000 Hz  64:27    88.200 kHz    465.696000 MHz
    RID 16@30p:  5120x2880   30.000000 Hz  64:27    88.200 kHz    465.696000 MHz
    RID 16@50p:  5120x2880   50.000000 Hz  64:27   178.800 kHz    951.216000 MHz
    RID 16@60p:  5120x2880   60.000000 Hz  64:27   178.800 kHz    951.216000 MHz
  Detailed Timing Descriptors:
    DTD 4:   720x1152   59.001297 Hz   5:8     70.330 kHz     61.890000 MHz (94 mm x 151 mm)
                 Hfront   64 Hsync   8 Hback   88 Hpol P
                 Vfront    8 Vsync  20 Vback   12 Vpol P
    DTD 5:   768x1024   59.043074 Hz   3:4     63.767 kHz     57.900000 MHz (94 mm x 151 mm)
                 Hfront   48 Hsync  10 Hback   82 Hpol P
                 Vfront   10 Vsync  24 Vback   22 Vpol P
    DTD 6:   600x800    58.958630 Hz   3:4     52.355 kHz     39.790000 MHz (94 mm x 151 mm)
                 Hfront   56 Hsync  16 Hback   88 Hpol P
                 Vfront    8 Vsync  36 Vback   44 Vpol P
Checksum: 0x56  Unused space in Extension Block: 57 bytes

@ruineka
Copy link

ruineka commented May 17, 2023

I just tested the latest gamescope-git changes to see if anything had changed on the geek and the white screen is still an issue.

@oliverchang
Copy link
Author

This is still an issue on the latest revision of gamescope (though now the screen is black instead of white).

oliverchang added a commit to oliverchang/device-quirks that referenced this issue Jun 26, 2023
This fixes an edid parse failure by patching out a bad section in the
edid, and seems to fix
ValveSoftware/gamescope#864.
@oliverchang
Copy link
Author

oliverchang commented Jun 26, 2023

Patching out the bad section in the edid seems to fix this for me. The edid that my device reported had a bad CTA data block header that used a reserved tag and had an invalid size causing this part of libdisplay-info to fail parsing: https://gitlab.freedesktop.org/emersion/libdisplay-info/-/blob/main/cta.c#L1466. Fixing the size of this bad data block fixes the overlay issues for me.

That said, I wonder if gamescope would be able to handle these invalid edid cases in a better way? Or perhaps libdisplay-info could be more resilient to smaller invalid sections in the edid?

@misyltoad
Copy link
Collaborator

Can you please upload your edid here or somewhere?

@oliverchang
Copy link
Author

oliverchang commented Jun 26, 2023

My edid is here (base64 encoded):

AP///////wAHIQEBBwYhIDEgAQSlCQ94qrBlplZTnSgMUFQAAAABAQEBAQEBAQEBAQEBAQEBSxog
NjAAIlASEkQEXpcAAAAeKhrQjCAAKFBACKABXpcAAAAeUxFYpCDAGDBECMQAXpcAAAAeAAAA/ABB
WUFORU9XWEdBCiAgAXoCAxAw0FAgAC5QIAqgAXG1LRjQoCCAKEBACIQBXpcAAAAenhYAjDAAOEAw
CqgBXpcAAAAeiw9YoCAgWDA4EIQCXpcAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVg==

Patching two bytes (a size + a checksum byte) fixes the parsing. The patched one is:

AP///////wAHIQEBBwYhIDEgAQSlCQ94qrBlplZTnSgMUFQAAAABAQEBAQEBAQEBAQEBAQEBSxog
NjAAIlASEkQEXpcAAAAeKhrQjCAAKFBACKABXpcAAAAeUxFYpCDAGDBECMQAXpcAAAAeAAAA/ABB
WUFORU9XWEdBCiAgAXoCAxAwy1AgAC5QIAqgAXG1LRjQoCCAKEBACIQBXpcAAAAenhYAjDAAOEAw
CqgBXpcAAAAeiw9YoCAgWDA4EIQCXpcAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWw==

@misyltoad misyltoad reopened this Jul 9, 2023
@misyltoad
Copy link
Collaborator

Can you see if d5aec88 fixes the issue for you?

@ruineka
Copy link

ruineka commented Jul 9, 2023

Can you see if d5aec88 fixes the issue for you?

I just tested and it seems to have fixed the issue! Thanks!

@kisak-valve
Copy link
Member

Closing as fixed in 3.12.0.

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

No branches or pull requests

4 participants