Build qte into x11 image and then run qt application error

Hi.

Today, I rebuild qt-embedded for a special purpose. I want to enable phonon and set the screen depths to 32 bit.
so, I change the bb-file qt-embedded_4.4.3.bb:

this original file was:

QT_CONFIG_FLAGS += "
-no-phonon -webkit
-DQT_KEYPAD_NAVIGATION
"
and the changed file by me is;

QT_CONFIG_FLAGS += "
-webkit -depths 32
-DQT_KEYPAD_NAVIGATION
"

I only remove the option “-no-phonon” in order to using phonon, and I add a option “-depths 32” (maybe was “-display 32”, i can’t remember clearly) in order to let screen show 32 bit color.
these options was writed rightly, bcz, no error message came out.

then , the compile was successful.

the I change the x11-image.bb, only add one option to IMAGE_INSTALL, and the building was fine, and the qt related libraries were there,too:
IMAGE_INSTALL = "
${XSERVER}
task-base-extended
angstrom-x11-base-depends
angstrom-gpe-task-base
angstrom-gpe-task-settings
${ANGSTROM_EXTRA_INSTALL}
qt-embedded"

In the end, it’s time to run some qt application. when i run the first simple qt application which was running well before, it failed to start up and aborted.
the error message is:

solid Fill _setup():Screen depth 16 not supported

it seems the option “-depths 32” setting is wrong, is it? or anything else that i did is not right. please give me some advice.

thanks a lot!

/favor

Does your kernel support 32bit output?

regards,

Koen

yes. the kernel is builded recently with the recent version of argstrom distro.
I add extral option “-depths 32” to build qt-embedded, is that right? I doubt that .
if that’s not the main reason, how to run qt application successfully as usual?

It seems odd you are building both Qt Embedded *AND* X11. Qt Embedded
uses it's own window system, QWS (Qt Window System). If you want to
use Qt under X11, you need a different package. Which are you trying
to do?

If you want Qt-Embedded, you may need to run fbset (if it exists) to
put the framebuffer into 32-bit mode as the linuxfb driver in Qt
Embedded doesn't do modesetting. I'm not sure if the omapfb even
supports 32-bit mode, so I'd reccomend you configure with -depths
24,32.

Cheers,

Tom

hi, Tom Cooksey.

according to you

  1. I want to qt application running on x11 image on beagleboard, which extral package do i need? and how to write IMAGE_INSTALL variable in bb-file.

  2. whatś the difference between qt on x11 and in its own QWS(Qt Widget System)?

2008/12/10 Tom Cooksey <tomcooksey@googlemail.com>

Actully we want to run QT application on Frame Buffer on beagle board.

Actually we want to run QT application on Frame Buffer on beagle
board.

hi, Tom Cooksey.

according to you
1. I want to qt application running on x11 image on beagleboard, which
extral package do i need? and how to write IMAGE_INSTALL variable in
bb-file.

I'm not entirely sure. :slight_smile:

2. whatś the difference between qt on x11 and in its own QWS(Qt Widget
System)?

QWS & X11 do the same thing - they both manage windows on the display. As far
as an application developer like yourself is concerned, there's no difference
between Qt on X11 and Qt on QWS - It's all just the Qt API. All you have to do
is re-compile your Qt application.

The main difference is that with QWS, you don't need to have X installed,
which removes quite a lot of other dependencies. On Qt/Embedded, QWS is built
into the QtGui library.

QWS is also potentially faster if the X server isn't accelerated (which I
don't think it is on the beagle board). You will also save all the memory &
overhead X11 adds.

If your application is the only thing you're going to have running on the
device, QWS is probably a better option. If you want to run other, non-Qt
applications, you need to use X11.

Cheers,

Tom

Actually we want to run QT application on Frame buffer on Beagle
board.

The Xserver in angstrom has some acceleration for the DSS.

regards,

Koen

Thanks all of you a lot! I know many QWS and x11 relations than before. QWS is save some resources and it’s fast to run qt applications, however.

But, It seems that a little far away from my first question.my first question is about the error:

solid Fill _setup():Screen depth 16 not supported

this error was occur after I rebuild qt with option"-depths 32", from then on, I cannot start up any qt application which was builded by the current qt.
is that the error means the beagle board do not support 32 bit color, or I can not build qt with “-depths 32” option?

what’s the relationships between the qt display system and the beagle board display, how many color bits beagle board support ?
if i want to display the 32 bit image on the screen, how to let the color lost descend to the least , and get the best nice and real display?

thanks

/favor

Again: does your kernel support 32 bit framebuffer? Question 2: what kernel version are you using and what patches were applied to it?

regards,

Koen

hi.

I don’t know if my kernel support the 32 bit framebuffer.my kernel is linux beagleboard 2.6.26-omap1.

is this the kernel problem? I build qt-embedded with option “-depths 24” also get the same error:

"solid Fill _setup():Screen depth 16 not supported"

so, this kernel can’t support 24 bit or 32 bit. should i try to another kernel?

hi.

    I don't know if my kernel support the 32 bit framebuffer.my kernel is linux beagleboard 2.6.26-omap1.

   is this the kernel problem? I build qt-embedded with option "-depths 24" also get the same error:

                           "solid Fill _setup():Screen depth 16 not supported"

  so, this kernel can't support 24 bit or 32 bit.

No

should i try to another kernel?

yes, try an angstrom 2.6.28rcX kernel, those have the DSS2 patches needed for 32bit support.

regards,

Koen

hi ,Koen Kooi.

really really think you !

I changed a kernel to try today, and that solved my problem.