I have been studying lately OpenGL in university and searched on my own about Windows GUI programming in c++ like Qt. I even went deeper and found XLib for Windows GUI. But I still don't get the big picture.
I understand that Qt is build on-top of XLib. And to do OpenGL I need to define context through some libraries like GLUT. From what I understand, GLUT is basically a library that connects between XLib and OpenGL through something called GLX.
I also get that OpenGL runs on the GPU, and that XLib is embedded into the operating system. So what happens when the operating system is installed on computer that doesn't have a GPU. As far as I know it will work. Does that mean XLib does not rely on OpenGL to draw Windows and such? If so, what does it rely on? Or maybe it draws it pixel by pixel through some driver.
In short, how does LibX implement its GUI elements, is it through openGL or something else?
Note 1: I am referring with 'Windows GUI' to buttons, text box and window generations and such. Note 2: I am running on Linux.