Skip to content

Latest commit

 

History

16,949 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

X11 Server port for Android, using SDL 1.2 backend.

# How it works

SDL creates a screen buffer in memory, returned by SDL_SetVideoMode().

XSDL code copies video data from X screen buffer to SDL screen buffer on each frame,
then SDL copies it into OpenGL texture on each call of SDL_Flip().

Shared memory is used for X apps to write directly to X screen buffer,
instead of transferring video data over TCP socket (which implemented by android-shmem library)

# Limitations

- No OpenGL hardware acceleration, even using OpenGL ES internally
- No XRANDR support
- Text input is hacky

# Android instructions

You need to compile this code using the patched SDL from: https://github.com/pelya/commandergenius

Compilation instructions: https://github.com/pelya/commandergenius/tree/sdl_android/project/jni/application/xserver

# Linux instructions

To compile and run a test build of XSDL for Linux, run the following commands on Debian or Ubuntu:

```
sudo apt-get install build-essential libsdl1.2-dev
sudo apt-get build-dep xserver-xorg-core
./build-xsdl-for-linux.sh
./start-linux.sh
```

Then you can run the following commands to test it:

```
export DISPLAY=:1111
xfwm4 &
xterm
```

About

XSDL - X.Org server ported to Android using SDL.

Resources

Stars

357 stars

Watchers

25 watching

Forks

Releases

Packages

Used by

Contributors

Languages