Ui, hier fliegen aber ganz schön viele Begriffe durcheinander durch die Gegend. Also wenn du einen X-Server haben willst, dann ist das der Teil, der mit deinem Kernel und ggf. direkt mit der Hardware zu tun hat. Dazu will man dann einen Window Manager haben (den X-Window-Manager gibt es nicht), und X-Clients (also normale Programme) können, wenn sie wollen, als Bibliothek ein Toolkit wie GTK oder Qt benutzen - müssen sie aber nicht, sie können auch einfach direkt das X-Protokoll sprechen bzw. xlib-Funktionen aufrufen, die das machen.
GEM hat diese Komponenten vermutlich in einem, d.h. wenn du GEM hast, brauchst du nicht extra noch einen Window Manager und ein Toolkit.
Und zum Abschluss der Satz, auf den alle gewartet haben: Am besten bringst du erst einmal deinen Kernel auf einen benutzbaren Stand, dann ist in drei Jahren immer noch genug Zeit, um über die GUI nachzudenken.