Skip to content

Add support for the IN_FORMATS_ASYNC DRM property#2229

Draft
k2naveen wants to merge 1 commit into
ValveSoftware:masterfrom
k2naveen:add-in-formats-async
Draft

Add support for the IN_FORMATS_ASYNC DRM property#2229
k2naveen wants to merge 1 commit into
ValveSoftware:masterfrom
k2naveen:add-in-formats-async

Conversation

@k2naveen

Copy link
Copy Markdown

This property lets the driver specify which format+modifier combinations are actually supported with tearing, and we use that in the dmabuf feedback to make tearing work in more cases (with sync fallback) - matching the approach taken in KWin.

Assisted-by: Claude:claude-sonnet-4.6
Signed-off-by: Naveen Kumar <naveen1.kumar@intel.com>
@matte-schwartz

Copy link
Copy Markdown
Collaborator

Are there kernel patches necessary for this to work? I tried a few games (Hades II, Portal 2) on my MSI Claw and none seem to tear, even with this PR. The same in-game settings on AMD do tear.

@k2naveen

k2naveen commented Jul 1, 2026

Copy link
Copy Markdown
Author

Are there kernel patches necessary for this to work? I tried a few games (Hades II, Portal 2) on my MSI Claw and none seem to tear, even with this PR. The same in-game settings on AMD do tear.

Is there another way to test this using a standalone Gamescope binary? Currently, vkcube fails with the following logs::
$ MESA_VK_WSI_PRESENT_MODE=immediate GAMESCOPE_DEBUG=2 gamescope --backend drm --immediate-flips

$ vkcube --present_mode VK_PRESENT_MODE_IMMEDIATE_KHR
Present mode specified is not supported

@matte-schwartz

Copy link
Copy Markdown
Collaborator

I'll have to check locally, as usually I just use our standard gamescope-session setup on SteamOS for testing tearing.

@matte-schwartz

Copy link
Copy Markdown
Collaborator

@k2naveen i had a chance to look into this today, and it's not an issue with your patch.

we were missing a few upstream commits in our 6.18 kernel:

8d923853759e (HEAD -> matts/6.18/intel-backports) [FROM-UPSTREAM] drm/i915/psr: Allow async flip when Selective Fetch enabled
d79694c0e374 [FROM-UPSTREAM] drm/i915/psr: Perform full frame update on async flip
9cff40cca8ea [FROM-UPSTREAM] drm/i915/psr: Set plane id bit in crtc_state->async_flip_planes for PSR

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.

2 participants