Android X11 X-Server
An X11 X-Server written in Java
This fork contain these changes:
- X server doesn't restart on screen resolution changes - fixes #35 and #25
- Workaround fix for:
Unsupported screen format: depth: 32, bits_per_pixel: 24, red_mask: ff0000, blue_mask: ff
- fixes (almost) #30 - Gestures support:
- Zooming with fingers - !!! Some problems with handling events (idk whyyy)
- Three finger tap - hide/show navigation panel
- Four finger tap - Restore zoom
WIP:
- XKB
- Properly fix for #30
TODO:
- MIT SHM, SYNC, GLX extensions support - should fix #17 and #27
This project implements an X11 server for use with Android devices, written in Java. The X11 server runs within an Android View subclass, allowing it to be embedded in other applications. This implementation has proven to be very useful for porting C++ FLTK applications to Android.
This project also includes a simple demo application.
Quick Start
To display programs within the X-Server demo app you need to set the DISPLAY environment variable on your host device. Its also highly recommended to use a window manager (i.e. lwm). A simple window manager (FLWM) is already embedded into the application. For an extended softkeyboard Hacker's Keyboard can be used.
Build
Gradle
This project uses gradle build system, so if you don't want to mess with Android Studio you can just
open console at project's root folder and type ./gradlew build
. Generated APK can be found under
app/build/outputs/
.
Manual (Makefile based)
If, for whatever reason, you do not want to use gardle, there is also a Makefile that performs all the necessary build steps.
Example
Starts xfe file browser, 192.178.1.2 should be replaced with te IP of your device:
$ export DISPLAY=192.178.1.2:0
$ lwm &
$ xfe
In addition to the touch screen, the volume rocker acts as mouse buttons.
About
Forked from: https://github.com/mattkwan-zz/android-xserver
Daniel Giritzer, 2020 (https://page.nwrk.biz/giri)