What about just checking the time before and after the nanosleep and if it lasted longer than expected bumping the text two pixels instead of one?

I was doing that for a while. That approach does work, but the key word is "relatively" smooth. It's noticable (to me) when it has to "catch up." I was just trying to explore every avenue to get it to scroll smooth all the time. If I can't find the holy grail, then I'll put the "skip a pixel" code back in.
_________________________
- Tony C
my empeg stuff