Using a QT4e app in yocto

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using a QT4e app in yocto

Jump to solution
1,720 Views
michaeldiamond
Contributor III

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

1 Solution
884 Views
michaeldiamond
Contributor III

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

View solution in original post

3 Replies
884 Views
michaeldiamond
Contributor III

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?

0 Kudos
885 Views
michaeldiamond
Contributor III

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

884 Views
SergioSolis
NXP Employee
NXP Employee

Thank you for posting the solution Michael, I'm sure it'll help other community members!

0 Kudos