Skip to content

SurfaceFlinger renderer: RGBA_8888 scan-out slots under the daemon's layout rule - #2324

Closed
utkarshdalal wants to merge 1 commit into
masterfrom
gamescope-container-x11-sessions-use-vulkan-renderer
Closed

utkarshdalal wants to merge 1 commit into
masterfrom
gamescope-container-x11-sessions-use-vulkan-renderer

Conversation

@utkarshdalal

@utkarshdalal utkarshdalal commented Nov 2, 2026 •

Copy link
Copy Markdown
Owner

Superseded by #2325 (RGBA_8888 scan-out slots for the SurfaceFlinger renderer). The renderer-selection change proposed here was dropped.

Open container, test graphics and pre-install steps run on X11 even when the
container's display server is gamescope. They picked the container's stored
display renderer, a field the Graphics tab only shows for X11 containers, so a
gamescope container silently kept the last X11 container's choice. On a
RedMagic Astra (Android 16, GLES render engine) that leftover was the
SurfaceFlinger renderer with compat mode off, which hands BGRA_8888 window
buffers to surfaceflinger and aborts it on every open-container launch.

The stored renderer now only applies to X11 containers; a gamescope
container's X11 sessions use the Vulkan renderer, as its game session does.
@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1bff0f9b-564b-4856-bf5d-fdeb0d4b1d6f
Commits

Reviewing files that changed from the base of the PR and between 0ca3d8e and cf7f0d7.

Files selected for processing: 1
  • app/src/main/java/app/gamenative/ui/screen/xserver/XServerScreen.kt

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

Walkthrough

Renderer selection now resolves the display renderer from the container type. GL requires an X11 session and either the VirGL driver or a resolved GL renderer. Gamescope sessions use Vulkan when GL is not selected.

Changes: Renderer selection

Layer / File(s) Summary
Resolve renderer for the session
app/src/main/java/app/gamenative/ui/screen/xserver/XServerScreen.kt
Renderer selection now uses the container’s stored renderer for X11 containers and Vulkan otherwise. GL requires an X11 session and either VirGL or a resolved GL renderer. Non-GL Gamescope sessions use Vulkan.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Possibly related PRs

Suggested reviewers: joshuatam

Merge Risk: Minimal · up to cf7f0

No actionable merge-blocking issue was identified in the renderer-selection change.

Pre-merge checks: Passed 3 · Failed 2

Failed Failed checks: 2 warnings

Check name Status Explanation Resolution
Title check Warning The title describes a SurfaceFlinger RGBA_8888 scan-out change, but the changeset updates renderer selection for X11 sessions in gamescope containers. Use a title that describes the actual renderer-selection change, such as "Use Vulkan for X11 sessions in gamescope containers".
Description check Warning The description follows the required template and provides detailed technical context, but it describes an RGBA_8888 SurfaceFlinger change that does not match the supplied changeset or PR objective ab… Replace the description with details about selecting Vulkan for X11 sessions in gamescope containers, including the affected session types, renderer-selection behavior, and validation results.
Passed Passed checks: 3 passed
Check name Status Explanation
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 1 files.

Full details: Description check

Explanation

The description follows the required template and provides detailed technical context, but it describes an RGBA_8888 SurfaceFlinger change that does not match the supplied changeset or PR objective about X11 renderer selection.

Resolution

Replace the description with details about selecting Vulkan for X11 sessions in gamescope containers, including the affected session types, renderer-selection behavior, and validation results.

Finishing Touches
Generate docstrings
  • Commit to this branch
  • Create a new PR
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

View guided diff | Turn on auto-fix | Re-trigger cubic

@utkarshdalal utkarshdalal changed the title X11 sessions of a gamescope container use the Vulkan renderer SurfaceFlinger renderer: RGBA_8888 scan-out slots under the daemon's layout rule Nov 2, 2026
@utkarshdalal
utkarshdalal deleted the gamescope-container-x11-sessions-use-vulkan-renderer branch November 2, 2026 13:59
@utkarshdalal

Copy link
Copy Markdown
Owner Author

Superseded: the intended fix is the RGBA_8888 scan-out slots for the SurfaceFlinger renderer, opened as a separate PR on branch surfaceflinger-renderer-rgba-scanout-slots. The renderer-selection change here was dropped.

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.

1 participant