I'm working with Broadcom's 97356 device, which contains an HDMI and an analog video output device.
I'd like to be able to draw stuff to one of those two devices (or both at the same time!) using a framebuffer device. However, I'm having troubles finding the correct documentation to get me on track.
I want to use the EFL to develop a small application and I'd like to start with the simplest backend possible: the framebuffer. But I don't know how to enable it; I've recompiled my kernel with framebuffer support. Even though, I can not see a /dev/fb0 device. There is a /dev/hdmi0 device and I can't find one related specifically to the analog output.
So, my question is: how does Linux decide which video output will be used when creating a framebuffer device? How do I configure it to do what I want, e.g. set the HDMI output as the one displaying the framebuffer's contents?
Best Answer
Partial answer:
"Linux" doesn't, it's up to the driver. So the first step is to look into
dmesg
and/orlsmod
and find out which driver gets loaded. Next step is to find the source code for the driver, read it and find out what options it understands./dev/hdmi0
is a pretty unusual name for a framebuffer device, though it seems some sunxi-drivers use that. Did you try to write something into it (withdd
, or a small C program)? Does it behave like a framebuffer?So edit the question with the relevant part of
dmesg
, or edit it with a link to the completedmesg
after boot in a pastebin etc.See above: it completely depends on the driver. For example, the Intel framebuffer driver doesn't allow you to switch to HDMI (or didn't, the last time I looked).