Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(tur/luanti): perform the migration from SDL2+GLX to libxi+EGL #1327

Conversation

robertkirkman
Copy link
Contributor

@robertkirkman robertkirkman commented Nov 24, 2024

I am pretty sure upstream Luanti has mostly already done this on all its X11-based official targets, but I did not yet do this to Luanti-on-TUR because I had not had time to finish fixing + testing this mode, and it was not yet clear to me whether the change here would be worth it, unless it could show a really big measurable benefit.

This greatly improves the performance of the game while using virglrenderer-android, and also, this mode can use twaik's termux-wsi-layer and benefit from an extremely huge performance boost on some specific devices, those which work with termux-wsi-layer. termux/termux-packages#22353

luanti-dev-branch-termux-wsi-layer.webm

0001-enable-egl-without-sdl2.patch: this is luanti-org/luanti@4838eb2 cherry-picked

0005-toggle-on-the-recent-migration-away-from-sdl2.patch: this is luanti-org/luanti#15284 but applied to Luanti-on-TUR

0006-fix-incompatible-type-ekey-code.patch: I wrote this, this is necessary to fix a minor build error when SDL2 is disabled in Luanti

@robertkirkman robertkirkman force-pushed the luanti-migrate-from-sdl2-and-glx-to-xi-and-egl branch 4 times, most recently from feaa370 to 1cb3acf Compare November 24, 2024 05:37
On Samsung Galaxy A70 SM-A705FN, this both greatly improves the performance of the app in
virglrenderer-android and also adds support for the new EGL ICD layer,
termux-wsi-layer, which this app has extremely good performance with on
this device.

`0001-enable-egl-without-sdl2.patch`: this is luanti-org/luanti@4838eb2 cherry-picked

`0005-toggle-on-the-recent-migration-away-from-sdl2.patch`: this is luanti-org/luanti#15284 but applied to Luanti-on-TUR

`0006-fix-incompatible-type-ekey-code.patch`: I wrote this, this is necessary to fix a minor build error when SDL2 is disabled in Luanti
@robertkirkman robertkirkman force-pushed the luanti-migrate-from-sdl2-and-glx-to-xi-and-egl branch from 1cb3acf to f1d7381 Compare November 24, 2024 08:49
@robertkirkman robertkirkman marked this pull request as ready for review November 24, 2024 09:13
@licy183 licy183 merged commit 045705d into termux-user-repository:master Nov 24, 2024
7 checks passed
robertkirkman added a commit to robertkirkman/termux-packages that referenced this pull request Nov 26, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](termux#22353) or [new virglrenderer](termux#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- mouse input unimplemented/bugged
robertkirkman added a commit to robertkirkman/termux-packages that referenced this pull request Nov 26, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](termux#22353) or [new virglrenderer](termux#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in
  Termux:X11 settings
robertkirkman added a commit to robertkirkman/termux-packages that referenced this pull request Nov 26, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](termux#22353) or [new virglrenderer](termux#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in Termux:X11 settings
robertkirkman added a commit to robertkirkman/termux-packages that referenced this pull request Nov 27, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](termux#22353) or [new virglrenderer](termux#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in Termux:X11 settings

- I made 6 patches, but the patch 0001-enable-egl-without-sdl2.patch is
  a cherry pick of luanti-org/luanti@4838eb2
robertkirkman added a commit to robertkirkman/termux-packages that referenced this pull request Nov 27, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](termux#22353) or [new virglrenderer](termux#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in Termux:X11 settings

- I made 6 patches, but the patch 0001-enable-egl-without-sdl2.patch is
  a cherry pick of luanti-org/luanti@4838eb2
robertkirkman added a commit to robertkirkman/termux-packages that referenced this pull request Nov 27, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](termux#22353) or [new virglrenderer](termux#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in Termux:X11 settings

- I made 6 patches, but the patch 0001-enable-egl-without-sdl2.patch is
  a cherry pick of luanti-org/luanti@4838eb2
robertkirkman added a commit to robertkirkman/termux-packages that referenced this pull request Nov 27, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](termux#22353) or [new virglrenderer](termux#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in Termux:X11 settings

- I made 6 patches, but the patch 0001-enable-egl-without-sdl2.patch is
  a cherry pick of luanti-org/luanti@4838eb2
robertkirkman added a commit to robertkirkman/termux-packages that referenced this pull request Nov 29, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](termux#22353) or [new virglrenderer](termux#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in Termux:X11 settings

- 6 patches are unique to TUR/termux, but the patch 0001-enable-egl-without-sdl2.patch is
  a cherry pick of luanti-org/luanti@4838eb2
robertkirkman added a commit to robertkirkman/termux-packages that referenced this pull request Nov 29, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](termux#22353) or [new virglrenderer](termux#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in Termux:X11 settings

- 6 patches are unique to TUR/termux, but the patch 0001-enable-egl-without-sdl2.patch is
  a cherry pick of luanti-org/luanti@4838eb2
robertkirkman added a commit to robertkirkman/termux-packages that referenced this pull request Dec 3, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](termux#22353) or [new virglrenderer](termux#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in Termux:X11 settings

- 6 patches are unique to TUR/termux, but the patch 0001-enable-egl-without-sdl2.patch is
  a cherry pick of luanti-org/luanti@4838eb2
robertkirkman added a commit to robertkirkman/termux-packages that referenced this pull request Dec 3, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](termux#22353) or [new virglrenderer](termux#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in Termux:X11 settings

- 6 patches are unique to TUR/termux, but the patch 0001-enable-egl-without-sdl2.patch is
  a cherry pick of luanti-org/luanti@4838eb2
robertkirkman added a commit to robertkirkman/termux-packages that referenced this pull request Dec 3, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](termux#22353) or [new virglrenderer](termux#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in Termux:X11 settings

- 6 patches are unique to TUR/termux, but the patch 0001-enable-egl-without-sdl2.patch is
  a cherry pick of luanti-org/luanti@4838eb2
truboxl pushed a commit to termux/termux-packages that referenced this pull request Dec 4, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](#22353) or [new virglrenderer](#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in Termux:X11 settings

- 6 patches are unique to TUR/termux, but the patch 0001-enable-egl-without-sdl2.patch is
  a cherry pick of luanti-org/luanti@4838eb2
termux-pacman-bot added a commit to termux-pacman/termux-packages that referenced this pull request Dec 4, 2024
Copied and pasted from https://github.com/termux-user-repository/tur/tree/master/tur/luanti

Previous documentation here:
- termux-user-repository/tur#1295
- termux-user-repository/tur#1296
- termux-user-repository/tur#1331
- termux-user-repository/tur#1327

Summary of key points:

- for better performance than normal virglrenderer-android, test using [termux-wsi-layer](#22353) or [new virglrenderer](#22385)

- to use touchscreen input, set "Touchscreen input mode: Direct touch" in Termux:X11 settings

- to use keyboard input, set "Prefer scancodes" in Termux:X11 settings

- to use mouse input, set "Capture external pointer devices" in Termux:X11 settings

- 6 patches are unique to TUR/termux, but the patch 0001-enable-egl-without-sdl2.patch is
  a cherry pick of luanti-org/luanti@4838eb2
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