On the Galaxy S4, it was easily possible to read and write to the framebuffer. It was located at /dev/graphics/fb0, unless you enable DEVTMPFS in the kernel (in this case, I have), which ultimately moves it to /dev/fb0 if remounting /dev correctly. Examples of screwing around with the framebuffer include:
(shows random garbage all over the screen - more helpful if android is stopped)
(blanks the screen)
(effectively takes a screenshot .... kinda)
(note: the same above applies to /dev/graphics/fb0 if not remounting /dev - such trying this straight from android)
All fun and games, until you need it to load Xorg server and lightdm - at which point this sort of access to the framebuffer is absolutely critical.
My problem with the Galaxy S5: I can't do anything with the framebuffer device! If I try some of the above commands with it, all I get is:
cat: fb0: No such device
The above applies whether I'm in Android, within an Ubuntu within Android, or natively booting to Ubuntu (which I'm currently able to do, btw... just no video!). For the record, I most certainly do have the FB (and FB_MSM) and corresponding options enabled in my kernel config.
So I'll ask again, where is my framebuffer? (and further, how do I get it back?)
If you can answer my questions, I might be able to provide you some Ubuntu goodness.