Skip to content

[Feature] X server ↔ Android Surface synchronization and frame pacing Improve #979

Description

@hansm629

Problem description

@twaik

Hello sir,
I’d like to ask about improving synchronization and frame pacing between the Termux-X11 X server and the Android Surface.

As far as I know, most currently released Wine-based Android Apps(Winlator, GameHub, GameNative, and MiceWine) use an X server based on Termux-X11.

With Snapdragon 8 Elite Gen 5 and the newer mesa Turnip driver now available, Android devices have reached a level where running PC games is realistically possible. As a result, new issues are appearing that weren’t noticeable before when the framerate was lower.

What steps will reproduce the bug?

Specifically, even though the framerate and ping shown in DXVK_HUD / VKD3D_HUD look stable, the actual on-screen motion is not smooth and shows noticeable stuttering (frame pacing issues).

Examples:

  • 1280×720: HUD shows 50–60 FPS → on-screen feels like ~25–30 FPS, with intermittent stutters
  • 1920×1080: HUD shows 25–30 FPS → on-screen feels like ~10–15 FPS, with intermittent stutters

My guess is that this is related to synchronization and frame pacing between the X server and the Android Surface.

I’ve also observed a similar issue even in the Termux bionic native environment: running Supertuxkart through the Termux-X11 X server shows the same kind of stutter despite stable FPS reported by the HUD.

In the mid to long term, is it possible to improve synchronization and frame pacing between the X server and the Android Surface?

Thank you for your time, and I’d appreciate your review.

What is the expected behavior?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions