Ok, so I've had a look at Emphatic and the library it uses to draw text (and lines etc) on the display.

I may get the terminology wrong here, but if I understand the gist of it, there are a number of framebuffers?, and the empeg player is writing to one of them, and 3rd parties write to a different one, and tell the kernel which to make active?

The 3rd party app needs to monitor the key presses and IR input to switch the active frame buffer. I.e. I would "take control" when in AM(DAB), FM and AUX mode to overlay my text etc, and flip back to the empeg when playing MP3's.

Is this more or less the gist of it?

Here are some of the bits needed to make this work:
Quote:

vfdlib_registerFont("/empeg/lib/fonts/medium.bf", 0);
fd = open("/dev/display", O_RDWR);
rc = ioctl(fd, EMPEG_HIJACK_WAIT_FOR_PLAYER, NULL);
rc = ioctl(fd, EMPEG_HIJACK_TAKEOVER, NULL);
pthread_mutex_lock(&mutPlayerStarted);
pthread_cond_signal(&cvPlayerStarted);
pthread_mutex_unlock(&mutPlayerStarted);