Details
-
Bug
-
Resolution: Incomplete
-
Not Evaluated
-
None
-
4.8.0
-
None
-
Embedded
Description
QLinuxFbScreen claims to be designed to be subclassed by drivers, but subclasses do not have access to the framebuffer file descriptor and the device path is hardcoded to "/dev/fb0" in the QLinuxFbScreen source (see http://qt.gitorious.org/qt/qt/blobs/4.8/src/gui/embedded/qscreenlinuxfb_qws.cpp).
QLinuxFbScreen needs to expose an interface to allow subclasses to open/close the framebuffer device and provide a file descriptor; perhaps virtual int openFrameBuffer(), the default implementation simply opening "/dev/fb0" and returning the file descriptor.
The effect is that devices which use the Linux framebuffer interface but require extra ioctl() calls (for example) in the subclass, as well as devices that do not use "/dev/fb0" (in situations where a symlink is not appropriate), cannot use QLinuxFbScreen, and must reimplement the entire class simply to control the file descriptor.