As some of you know, I'm working on porting both Ubuntu Touch and Ubuntu Desktop to the Galaxy S5 (natively booting). I had partially succeeded in doing this with AT&T Galaxy S4, but with locked bootloaders, I ran into too much trouble to make it fun anymore. All that being said...
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
(or similar, depending on what I'm trying to do). Additionally, I can't get the framebuffer console to work, either - nor can I get it to output a getty shell on the framebuffer. All of this I could "easily" do on the Galaxy S4.
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.