Welcome to HiGFXback with the X11 graphics backend!
- Getting started
- Vulkan rendering
- OpenGL rendering
- Drawing libraries
- Multimedia frameworks
- Tools
- Graphics abstraction layers
- User interface toolkits
- Applications
Components running on X11 graphics backend are based on Xlib with libX11.so library for the communication with Xorg server, and twm window manager is started.
Note that components running on X11 graphics backend can also be based on XCB with libxcb.so library for the communication with Xorg server.
If the current graphics backend used on HiGFXback is not X11, switch on it with startx11
command. Select one of the following graphics driver interface available on HiGFXback and used by Xorg server for the display:
- Linux Framebuffer interface (
/dev/fb0
) handled with fbdev_drv.so plugin - KMS/DRM interface (
/dev/dri/card0
) handled with modesetting_drv.so plugin
But depending on the platform, it's possible to use specific graphics driver interfaces, possibly with hardware accelerated graphic rendering support, based on the Xorg Device Dependent X (DDX) module architecture.
When starting on X11 graphics backend with startx11
command, select one of the following input driver interface available on HiGFXback and used by Xorg server for managing the keyboard:
- console interface (
/dev/tty0
) handled with kdb_drv.so plugin - event device interface (
/dev/input/event0
) handled with evdev_drv.so plugin
and for managing the mouse:
- PS/2 mouse interface (
/dev/psaux
) handled with mouse_drv.so plugin - event device interface (
/dev/input/event1
) handled with evdev_drv.so plugin
But depending on the input peripheral, it's possible to use specific input driver interfaces based on the Xorg input module architecture.
When starting on X11 graphics backend, xterm terminal emulator is displayed. System informations about X11 settings can be get with xdpyinfo.
Programs running on X11 graphics backend using Xlib are available as examples, tests or benchmarks.
Programs running on X11 graphics backend using XCB are available as examples, tests or benchmarks.
For display rendering with X11 graphics backend, Vulkan implementation in libvulkan.so library (loading library from Vulkan-Loader) and its ICD (Installable Client Driver) relies on Xlib WSI or XCB WSI interfaces.
On HiGFXback, Xlib WSI or XCB WSI interfaces (Window System Integration for X11) are used with one of the following ICD selected with VK_ICD_FILENAMES
environment variable:
- Mesa associated to lvp_icd.json manifest file
- SwiftShader associated to swiftshader_icd.json manifest file
But depending on the platform, specific ICD can be used.
Vulkan-Tools, Vulkan-Examples, vkcube2 and yagears2 programs are available as examples, tests or benchmarks.
For display rendering with X11 graphics backend, OpenGL implementation in libGL.so library, but also OpenGL ES 1.1 CM implementation in libGLESv1_CM.so library and OpenGL ES 2.0 implementation in libGLESv2.so library, rely on GLX or EGL for X11 interfaces.
Loading libraries can be used:
- libGLEW.so library from GLEW (OpenGL Extension Wrangler)
- libepoxy.so library from Epoxy
On HiGFXback, GLX interfaces (OpenGL extension for Xlib) are used with one of the following implementation selected with alternatives-GL
command:
- Mesa with libGL.so
->
libmesaGL.so, libGLESv1_CM.so->
libmesaGLESv1_CM.so, libGLESv2.so->
libmesaGLESv2.so libraries - TinyGL with libGL.so
->
libtinyGL.so library
But depending on the platform, specific implementation can be used.
mesa-demos and yagears programs are available as examples, tests or benchmarks.
On HiGFXback, EGL for X11 interfaces (through Xlib or XCB) are used with one of the following implementation selected with alternatives-GL
command:
- Mesa with libEGL.so
->
libmesaEGL.so, libGL.so->
libmesaGL.so, libGLESv1_CM.so->
libmesaGLESv1_CM.so, libGLESv2.so->
libmesaGLESv2.so libraries - SwiftShader with libEGL.so
->
libswiftshaderEGL.so, libGLESv1_CM.so->
libswiftshaderGLESv1_CM.so, libGLESv2.so->
libswiftshaderGLESv2.so libraries
But depending on the platform, specific implementation can be used.
mesa-demos and yagears programs are available as examples, tests or benchmarks.
On HiGFXback, Cairo interfaces for X11 graphics backend are provided by libcairo.so library.
cairo-demos programs are available as examples, tests or benchmarks.
On HiGFXback, Evas interfaces for X11 graphics backend are provided by libevas.so library.
expedite program is available as examples, tests or benchmarks.
On HiGFXback, FFmpeg interfaces for X11 graphics backend are provided by libavformat.so, libavcodec.so, libswscale.so libraries and rely on libavdevice.so library for output.
ffmpeg program is available as example.
On HiGFXback, GStreamer interfaces for X11 graphics backend are provided by:
- libgstreamer-0.10.so library on GStreamer 0.10
- libgstreamer-1.0.so library on GStreamer 1
and rely on libgstximagesink.so plugin for output.
gst-launch-0.10 program is available as example on GStreamer 0.10.
gst-launch-1.0 program is available as example on GStreamer 1.
On HiGFXback, Xine interfaces for X11 graphics backend are provided by libxine.so library and rely on xineplug_vo_out_xshm.so plugin for output.
xine-ui program is available as example.
On HiGFXback, GLUT (openGL Utility Toolkit) interfaces running on X11 graphics backend are provided by one of the following implementation selected with alternatives-glut
command:
- FreeGLUT with libglut.so
->
libfreeglut.so library - MesaGLUT with libglut.so
->
libmesaglut.so library - TinyGLUT with libglut.so
->
libtinyglut.so library
For OpenGL rendering, note that EGL for X11 interfaces can also be used internally by GLUT implementations instead of GLX interfaces.
mesa-demos and yagears programs are available as examples, tests or benchmarks.
On HiGFXback, SDL (Simple Directmedia Layer) interfaces running on X11 graphics backend are provided by:
- libSDL.so library on SDL 1
- libSDL2.so library on SDL 2
For OpenGL rendering, note that EGL for X11 interfaces can also be used internally by SDL instead of GLX interfaces.
SDL-test and yagears programs are available as examples, tests or benchmarks on SDL 1.
SDL2-test and yagears2 programs are available as examples, tests or benchmarks on SDL 2.
On HiGFXback, GLFW (Graphics Library FrameWork) interfaces running on X11 graphics backend are provided by libglfw.so library.
For OpenGL rendering, note that EGL for X11 interfaces can also be used internally by GLFW instead of GLX interfaces.
GLFW-examples and yagears2 programs are available as examples, tests or benchmarks.
Graphical user interfaces can rely on GTK+ (Gimp ToolKit) using the port for X11 graphics backend. Web rendering can then rely on WebKitGTK+, a port of the WebKit browser engine for GTK+.
On HiGFXback, GTK+ interfaces running on X11 graphics backend are provided by:
- libgtk-2.0.so and libgtkgl-2.0.so libraries on GTK+ 2
- libgtk-3.0.so and libgtkgl-3.0.so libraries on GTK+ 3
For OpenGL rendering, note that EGL for X11 interfaces can also be used internally by GTK+ instead of GLX interfaces.
gtk-demo, gtk-tests, gtkperf and yagears programs are available as examples, tests or benchmarks.
On HiGFXback, WebKitGTK+ interfaces for GTK+ with X11 graphics backend are provided by:
- libwebkitgtk-2.0.so library on GTK+ 2
- libwebkitgtk-3.0.so library on GTK+ 3
For WebGL rendering, note that EGL for X11 interfaces can also be used instead of GLX interfaces.
GtkLauncher program is available as example.
Graphical user interfaces can rely on Qt (Q toolKit) using the port for X11 graphics backend. Web rendering can then rely on QtWebKit, a port of the WebKit browser engine for Qt.
On HiGFXback, Qt interfaces running on X11 graphics backend are provided by:
- libQtGui.so and libQtOpenGL.so libraries on Qt 4
- libQt5Gui.so and libQt5OpenGL.so libraries on Qt 5
For OpenGL rendering, note that EGL for X11 interfaces can also be used internally by Qt instead of GLX interfaces.
qtdemo, qt-examples, qtperf and yagears programs are available as examples, tests or benchmarks.
On HiGFXback, QtWebKit interfaces for Qt with X11 graphics backend are provided by:
- libQtWebKit.so library on Qt 4
- libQt5WebKit.so library on Qt 5
For WebGL rendering, note that EGL for X11 interfaces can also be used instead of GLX interfaces.
QtTestBrowser program is available as example.
Graphical user interfaces can rely on EFL (Enlightenment Foundation Libraries) with Elementary using the port for X11 graphics backend.
On HiGFXback, EFL with Elementary interfaces running on X11 graphics backend are provided by libelementary.so library.
For OpenGL rendering, note that EGL for X11 interfaces can also be used internally by EFL with Elementary instead of GLX interfaces.
elementary-test, elementary-examples and yagears programs are available as examples, tests or benchmarks.
Graphical user interfaces can rely on FLTK (Fast Light Tool Kit) using the port for X11 graphics backend.
On HiGFXback, FLTK interfaces running on X11 graphics backend are provided by libfltk.so and libfltk_gl.so libraries.
For OpenGL rendering, note that EGL for X11 interfaces can also be used internally by FLTK instead of GLX interfaces.
fltk-test and yagears programs are available as examples, tests or benchmarks.
ffplay multimedia player |
qemu machine emulator |
midori web browser |
qupzilla web browser |
BillardGL, gtktetris, pinball games |
chocolate-doom game engine |