Вы рисуете на экране, передавая протокол X11 системному серверу Xserver.(Используемые системные вызовы являются обычными для разговора через сокет, поэтому они не информативны.) Обычно для этого вы используете библиотеку.Обычной базовой библиотекой для использования является библиотека X11 (libX11), которая обычно оборачивается библиотекой инструментария, такой как GTK или Qt (или wxWindows, Tk или ...).Также есть библиотеки низкого уровня (xcb, который является более тонким уровнем по сравнению с протоколом X) и библиотеки более высокого уровня (Gnome, KDE).Вы также можете использовать библиотеки OpenGL, что является совершенно другим подходом.
Есть целые полки книг о том, как это сделать.
Сам Xserver использует устройства отображения памяти, ион говорит на очень низком уровне с графическим оборудованием.Это не намного более высокий уровень, чем графический драйвер, и это очень привилегированный процесс.(Если вы сравниваете с Windows, вы должны знать, что точные уровни, на которые делятся вещи, отличаются, , но уровень libX11 довольно похож на большую часть Win API.)