#How it works (Gnu/Linux + X11)
How it works (Gnu/Linux + X11)
Overview
##Overview ItIt looks something like this (not draws to scale)
Linux
##Linux AtAt the bottom is Linux (the kernel): a small part of the system. It provides access to hardware, and implements security.
Gnu
##Gnu ThenThen Gnu (Libraries; bash; tools:ls, etc; C compiler, etc). Most of the operating system.
X11 server (e.g. x.org)
##X11 server (e.g. x.org) ThenThen X11 (Or Wayland, or ...), the base GUI subsystem. This runs in user-land (outside of the kernel): it is just another process, with some privileges. The kernel does not get involved, except to give access to the hardware. And providing inter-process communication, so that other processes can talk with the X11 server.
X11 library
##X11 library AA simple abstraction to allow you to write code for X11.
GUI libraries
##GUI libraries LibrariesLibraries such as qt, gtk, sdl, are next — they make it easier to use X11, and work on other systems such as wayland, Microsoft's Windows, or MacOS.
Applications
##Applications ApplicationsApplications sit on top of the libraries.
#Some low-level entry points, for programming
Some low-level entry points, for programming
xlib
##xlib UsingUsing xlib, is a good way to learn about X11. However do some reading about X11 first.
SDL
##SDL SDLSDL will give you low level access, direct to bit-planes for you to directly draw to.
Going lower
#Going lower IfIf you want to go lower, then I am not sure what good current options are, but here are some ideas.
#Links
Links
X11
##X11 https://en.wikipedia.org/wiki/X_Window_System
Modern ways
##Modern ways WritingWriting this got my interest, so I had a look at what the modern fast way to do it is. Here are some links: