Leider gibt es wohl keine Alternative zu gxmessage, die mindestens so gut ist und auf allen Linux-Versionen sofort greifbar.
Es gibt schon diverse Alternativen (zenity, dialog, yad, whiptail etc.). Ob deren Verfügbarkeit besser ist, weiss ich aber nicht (auf openSUSE gibt es die alle). Evtl. könnte man das auch konfigurierbar machen, da es nur eine zentrale Stelle gibt wo es aufgerufen wird, sollte das machbar sein.
Ich hatte mich auch schon daran versucht, dafür SDL zu verwenden. Müsste prinzipiell möglich sein, da man in SDL2 mehrere Fenster verwalten kann. Allerdings wären dafür einige "Krücken" notwendig (Events von solchen Fenster sollten ja nicht an die Emulation weitergereicht werden). Und das Handling habe ich noch nicht sauber hinbekommen, da Emulation und Graphic in verschiedenen Threads laufen, kann man an der Stelle nicht einfach SDL-Funktionen aufrufen.