I have recently started taking 3d Modelling classes (just finished my first semester) at my school and have been wondering how graphics get processed within Linux before they are displayed on the screen. If anyone could please address my curiosity, I would greatly appreciate it.

I have tried searching for these answers myself, but have not had much success.
These are the links I have found a bit helpful, but do not really address my questions ( or are probably not high-level enough):
http://zrusin.blogspot.com/2010/03/s...-renderer.html
http://www.bitwiz.org.uk/s/how-dri-and-drm-work.html

I would like to know about three different scenarios (in a "mid-level" explanation).

1) What is working when I boot into init 3? For example, what does what before displaying any output on screen? (I assume no graphic libraries have anything to do with this sort of output.)

2) When I boot into GNOME (just 2d environment), what happens within the software/hardware? I guess the desktop/2D-App tells X to do something then... ?

3) And lastly, what is doing what doing in a 3d environment like when I am using Blender or playing a 3D game?


I am aware that there is software-rendering and hardware-rendering (hardware acceleration) and this would present another layer of complication for the explanations I am asking for, I think.