I have a qt 4 app that we have compiled and running on an LTIB version of our board.
Now after switching to yocto dizzy and the 3.10.17 kernel, I used the meta-toolchain-qte to compile our app. When I start the app in the application I get the following error continuously.
QScreenLinuxFb::connect: No such file or directory
Error opening framebuffer device /dev/fb0
....
I am trying to only include the necessary items in my image but here are the image recipes I am including.
inherit core-image
IMAGE_FEATURES += "ssh-server-openssh tools-debug"
IMAGE_FEATURES += "debug-tweaks"
IMAGE_INSTALL += "tzdata hostapd linux-firmware-wl12xx wpa-supplicant libusb1 libusb-compat bash openssh-sftp-server"
IMAGE_INSTALL += "qt4-embedded icu"
Am I missing something?
Any help would be appreciated.
Michael
已解决! 转到解答。
I got this working and hopefully can be helpful to others with similar issues. The problem had nothing to do with Qt. Both the X version and the embedded version did not work.
The main issue is that the bootloader needed to load a display. I did not have a display hooked up to the nitrogen6x board and it does not load a video if no screens are detected via i2c. Here are the args that worked for me.
setenv bootargs $bootargs video=mxcfb${nextcon}:dev=ldb,1024x600M@60,if=RGB666
screenres=1024,600
setenv fbmem ${fbmem},10M
My board has a display but we are currently not using it. To find out if you have any screens loaded type the command
cat /proc/cmdline
It will return something like the following;
enable_wait_mode=off video=mxcfb:dev=ldb,1024x600M@60,if=RGB666 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off ,10M console=ttymxc1,115200 vmalloc=400M consoleblank=0 rootwait root=/dev/mmcblk0p2 mxc_hdmi.only_cea=1
Further information is I tried the qt4e-demo-image and the qte-in-use-image on the nitrogen6x board.
I get the same error on the serial console of the nitrogen board;
QScreenLinuxFb::connect: No such file or directory
Error opening framebuffer device /dev/fb0
QScreenLinuxFb::connect: No such file or directory
Error opening framebuffer device /dev/fb0
QScreenLinuxFb::connect: No such file or directory
Error opening framebuffer device /dev/fb0
QScreenLinuxFb::connect: No such file or directory
Error opening framebuffer device /dev/fb0
I don't have any files in the /dev that are fb0 or any other number. cat /proc/fb returns empty. I am not sure how to create a frame buffer. Doing this with the qt4 images also results in no FB files.
Does anyone have any info on this?
I got this working and hopefully can be helpful to others with similar issues. The problem had nothing to do with Qt. Both the X version and the embedded version did not work.
The main issue is that the bootloader needed to load a display. I did not have a display hooked up to the nitrogen6x board and it does not load a video if no screens are detected via i2c. Here are the args that worked for me.
setenv bootargs $bootargs video=mxcfb${nextcon}:dev=ldb,1024x600M@60,if=RGB666
screenres=1024,600
setenv fbmem ${fbmem},10M
My board has a display but we are currently not using it. To find out if you have any screens loaded type the command
cat /proc/cmdline
It will return something like the following;
enable_wait_mode=off video=mxcfb:dev=ldb,1024x600M@60,if=RGB666 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off ,10M console=ttymxc1,115200 vmalloc=400M consoleblank=0 rootwait root=/dev/mmcblk0p2 mxc_hdmi.only_cea=1