Skip to content

Gamescope payload 20261031.3: cursor on its own layer (A55), present-wait shim fix; daemon with the GNCL cursor layer - #2300

Merged
utkarshdalal merged 1 commit into
masterfrom
gamescope-payload-a55-cursor-plane
Oct 31, 2026
Merged

utkarshdalal merged 1 commit into
masterfrom
gamescope-payload-a55-cursor-plane

Conversation

@utkarshdalal

@utkarshdalal utkarshdalal commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Description

Points the app at payload gamescope-gamenative-20261031.3.tzst and ships the master daemon with the cursor layer.

Payload uploaded 2026-10-31 to https://downloads.gamenative.app/gamescope-gamenative-20261031.3.tzst; re-downloaded and verified: sha256 61af3418ae73c0d9116f251756aa8624447369ca61b12e5005a8e80ca3c97ede, 14292251 bytes.

The payload is the shipped 20261031.2 with two members replaced, everything else byte-identical (1014 members):

member from
bin/gamescope GameNative/gamescope gamenative @ 8e4b50c, A55 merged as #24: the cursor rides the daemon's cursor plane. CI build of the merge commit (Android build run 41202973127), md5 1b1beeb07017ed50c8def5341a031793
lib/libadrenotools_gamescope.so GameNative/gamenative-drm master @ 88e30b2, includes #37 (53df34a): the present wait is answered at commit under mailbox/immediate, and replaced frames are answered. md5 7031c60b0712dd23f73a2126f413e859
app file from
jniLibs/arm64-v8a/libgamenative_drm.so GameNative/gamenative-drm master @ 88e30b2, #38: the daemon presents the cursor on a layer of its own (GNCL cursor plane). md5 40ab00e5cd53bb44aaefca19021ed21a

The daemon and the shim are built from the same gamenative-drm commit (88e30b2) with the testbed's build-drm-mac.sh; the shim links no libandroid.so.

Verified on the Retroid Pocket 6 (8 Gen 2 / Adreno 740), Dave the Diver:

check shipped this change
FPS cap 60 (present wait, #37) 47 fps 60 fps
cursor composited into the game plane on its own hardware layer, re-shows on motion, no picture change
LSFG x2 (shown fps) 68.4 72.9 (not worse)

Dependency: #2299 (drop the -r 1200 vblank grid) is already merged (96cf638).

Payload gamescope-gamenative-20261031.3.tzst, size 14292251, sha256 61af3418ae73c0d9116f251756aa8624447369ca61b12e5005a8e80ca3c97ede. Hand-assembled from the merge commits with the testbed repack script, not a packager build.

Component SHAs: gamescope 8e4b50cd91e4b0b1aaa99bde1727b28343736af4 (#24), gamenative-drm 88e30b238a42c5666e606b681219b5c7b5d8d219 (#38, on top of #37 53df34aa59e87a747e84ef964d11b5a9929d3114).

Recording

None attached.

Type of Change

  • Bug fix
  • Performance / stability improvement
  • Compatibility improvements
  • Other (requires prior approval)

Checklist

  • If I have access to #code-changes, I have discussed this change there and it has been green-lighted. If I do not have access, I have still provided clear context in this PR. If I skip both, I accept that this change may face delays in review, may not be reviewed at all, or may be closed.
  • This change aligns with the current project scope (core functionality, stability, or performance). If not, it has been explicitly approved beforehand.
  • I have attached a recording of the change.
  • I have read and agree to the contribution guidelines in CONTRIBUTING.md.

…t commit

Payload 20261031.2 with bin/gamescope from GameNative/gamescope 8e4b50c
(A55, merged #24: the cursor rides the daemon's cursor plane; CI build
of the merge commit, run 41202973127) and lib/libadrenotools_gamescope.so
from GameNative/gamenative-drm 88e30b2 (#37: the present wait is answered
at commit under mailbox/immediate); everything else byte-identical.

The daemon (jniLibs libgamenative_drm.so) is rebuilt from gamenative-drm
88e30b2 (#38: the cursor is presented on a layer of its own).

sha256 61af3418ae73c0d9116f251756aa8624447369ca61b12e5005a8e80ca3c97ede

@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.

1 issue found across 2 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="app/src/main/java/app/gamenative/display/GamescopePayload.kt">

<violation number="1" location="app/src/main/java/app/gamenative/display/GamescopePayload.kt:14">
P1: This version bump makes first launch require `gamescope-gamenative-20261031.3.tzst`, but that archive is not bundled and has not been uploaded. Upload and re-download/verify the required SHA-256 before merging, or keep the version at `20261031.2` until the new archive is available.</violation>
</file>

Reply with feedback, questions, or to request a fix.

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

/** Versioned gamescope payload (gamescope, XWayland, scaling clients), fetched on the first gamescope launch. */
object GamescopePayload {
const val VERSION = "20261031.2"
const val VERSION = "20261031.3"

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.

P1: This version bump makes first launch require gamescope-gamenative-20261031.3.tzst, but that archive is not bundled and has not been uploaded. Upload and re-download/verify the required SHA-256 before merging, or keep the version at 20261031.2 until the new archive is available.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At app/src/main/java/app/gamenative/display/GamescopePayload.kt, line 14:

<comment>This version bump makes first launch require `gamescope-gamenative-20261031.3.tzst`, but that archive is not bundled and has not been uploaded. Upload and re-download/verify the required SHA-256 before merging, or keep the version at `20261031.2` until the new archive is available.</comment>

<file context>
@@ -11,7 +11,7 @@ import java.io.File
 /** Versioned gamescope payload (gamescope, XWayland, scaling clients), fetched on the first gamescope launch. */
 object GamescopePayload {
-    const val VERSION = "20261031.2"
+    const val VERSION = "20261031.3"
     const val ARCHIVE = "gamescope-gamenative-$VERSION.tzst"
     private const val STAMP = ".payload.version"
</file context>
Suggested change
const val VERSION = "20261031.3"
const val VERSION = "20261031.2"

@coderabbitai

coderabbitai Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Caution

Review failed

The pull request is closed.

  • 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

@utkarshdalal
utkarshdalal merged commit 253a385 into master Oct 31, 2026
3 checks passed
@utkarshdalal
utkarshdalal deleted the gamescope-payload-a55-cursor-plane branch October 31, 2026 13:05
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