Skip to content

[not for merging] enhance(main/mesa): Lucas Fryzek and xMeM's freedreno kgsl for mesa 26.2.0-devel#30162

Draft
lfdevs wants to merge 1 commit into
termux:masterfrom
lfdevs:dev/mesa/freedreno-kgsl
Draft

[not for merging] enhance(main/mesa): Lucas Fryzek and xMeM's freedreno kgsl for mesa 26.2.0-devel#30162
lfdevs wants to merge 1 commit into
termux:masterfrom
lfdevs:dev/mesa/freedreno-kgsl

Conversation

@lfdevs

@lfdevs lfdevs commented Jun 13, 2026

Copy link
Copy Markdown
Contributor
  • Based on Robert Kirkman's PR ([not for merging] enhance(main/mesa): Lucas Fryzek and xMeM's freedreno kgsl for mesa 25.1.1 #24840), rebased to mesa 26.2.0-devel. The reason it is opened as a draft PR is to make it easier for people in need to download, and there is no need to merge.
  • For convenience and some potentially needed latest features, I directly specified the source code as a branch of my repository. This branch has already applied patches such as 0013-detect-sve-sve2-support.patch, 0016-unofficial_support_adreno_710_720_722.patch, 0017-preserve-egl-support-in-zink.patch, 0018-disable-general-layout-in-zink-for-turnip.patch, etc., so the already applied patches are not repeatedly used here.
  • The original inventor of this code is Lucas Fryzek. The Termux:X11 port of this code was created by xMeM.
  • Requires specifying the environment variable MESA_LOADER_DRIVER_OVERRIDE=kgsl when used.

Tip

  • Due to current limitations, if you use desktop environments such as Xfce 4 or KDE Plasma, please disable the display compositor first before installing the build artifacts of this PR.
  • If screen tearing issues occur when running certain programs or games, you can add the following two environment variables to force-enable vertical sync:
    vblank_mode=3 MESA_VK_WSI_PRESENT_MODE=mailbox

@robertkirkman

Copy link
Copy Markdown
Member

Thank you, i did not have time to make updates for this and this is helpful for people who like this driver, even though it has flickering that most people probably don't prefer

@hansm629

Copy link
Copy Markdown

@lfdevs
Thank you!

There are still artifact, flickering, and tearing issues, but it works very well on the Adreno 840.

Most of the Freedreno KGSL-related issues seem to be caused by compatibility problems with the Termux-X11 X server and fence synchronization issues.

Would it be possible to fix these issues by using Claude and Codex?

@lfdevs

lfdevs commented Jun 26, 2026

Copy link
Copy Markdown
Contributor Author

Would it be possible to fix these issues by using Claude and Codex?

I think even with AI assistance, it still requires someone who is relatively familiar with graphics driver development. Otherwise, we wouldn't know where to begin.

@IntinteDAO

Copy link
Copy Markdown
Contributor

Would it be possible to fix these issues by using Claude and Codex?

I think even with AI assistance, it still requires someone who is relatively familiar with graphics driver development. Otherwise, we wouldn't know where to begin.

I agree, although if we don't have someone like that, I would start by creating a demo for the AI. That way, we could eliminate the human in the loop. Instead of a person writing "works / doesn't work," let the AI try different ways to pinpoint the problem and "see" whether it solved the problem or not.

… 26.2.0-devel

- Based on Robert Kirkman's PR (termux#24840), rebased to `mesa` 26.2.0-devel. The reason it is opened as a draft PR is to make it easier for people in need to download, and there is no need to merge.
- For convenience and some potentially needed latest features, I directly specified the source code as [a branch](https://github.com/lfdevs/mesa-for-android-container/tree/dev/adreno-main) of my repository. This branch has already applied patches such as `0013-detect-sve-sve2-support.patch`, `0016-unofficial_support_adreno_710_720_722.patch`, `0017-preserve-egl-support-in-zink.patch`, `0018-disable-general-layout-in-zink-for-turnip.patch`, etc., so the already applied patches are not repeatedly used here.
- The original inventor of this code is Lucas Fryzek. The Termux:X11 port of this code was created by xMeM.
- Requires specifying the environment variable `MESA_LOADER_DRIVER_OVERRIDE=kgsl` when used.
@lfdevs lfdevs force-pushed the dev/mesa/freedreno-kgsl branch from 6e75f55 to 0c2b865 Compare July 6, 2026 00:40
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.

4 participants