Hardware: I am using colibri VF61 module. Using toradex’s 7" TFT display.
Software: I have built linux image V2.5 with Qt 5 with openembedded build system. This image has LXDE desktop environment.
Now I can run Qt application when display manager (or window manger?) is running.
I want to disable display manager ( or window manager whatever) and run only Qt application fullscreen.
Now as soon as i give command “systemctl stop lxdm”; it stops properly and blank screen is shown.
But now when I run my application it gives error as follows:
QXcbConnection: Could not connect to display :0.0
I found out that I have following Qt platform plugins available.
minimal, offscreen, xcb.
I tried each of them with following parameters to the application command.
1. ./my_app -platform minimal
2. ./my_app -platform offscreen
3. ./my_app -platform xcb
For first two commands, application starts; but doesn’t show ANYTHING on the LCD screen. And gives message “This plugin does not support propagateSizeHints()”
For the third, it gives the error “QXcbConnection: Could not connect to display :0.0 Aborted” and application is terminated.
- What I am missing?
- With available plugins, can I run fullscreen qt application without LXDE.
- What configurations needed?
- Also can you give configurations to be made for touchscreen etc.
You have two possible routes: Use the framebuffer device via Qt’s linuxfb QPA or use the X-Server.
Using linuxfb platform plugin, you need to make sure it is compiled into Qt, try to add something like this in your local.conf:
IMAGE_INSTALL_append = " qtbase qtbase-fonts qtbase-plugins"
PACKAGECONFIG_DISTRO_pn-qtbase = "linuxfb"
Which should allow to use
Using xcb platform plugin, make sure to first start the X-Server and a window manager. Something like this should do this:
./my_app -patlform xcb
There is also the
xinit package. Replace the programs at the end of
./my_app -patlform xcb
And then you can use
startx to start your application.
In both cases, make sure that Qt is also starting up maximized.
As for the touchscreen, Qt should use evdev by default when using linuxfb, which should work out of the box (see also this article). When using X, the X-Server should handle touchscreen input which should work too, depending on the touchscreen you are using…
Note that Qt Quick/Qml with Qt 5.5 (which comes with V2.5) requries OpenGL, which the VF61 modules do not provide. For details, also refer to this article (it is about Colibri iMX7, but since it is also a module without GPU it is pretty much applicable).
Which display exactly are you using, the 7" multi-touch or the 7" restive touch (EDT)?
Can file specified file “/etc/X11/xinit/xinitrc”
This is the current /etc/X11 tree (ls -R X11/):
Xdefaults Xinit Xinit.d Xserver Xsession Xsession.d functions xmodmap xorg.conf xserver-common
01xrandr 11zaurus 12keymap 40xmodmap 50setdpi 55xScreenSaver 60xXDefaults 89xTs_Calibrate 98keymap-fixup
30xinput_calibrate.sh 60xXDefaults.sh 90xXWindowManager.sh
a716.xmodmap default.xmodmap h2200.xmodmap hx4700.xmodmap omap5912osk.xmodmap shepherd.xmodmap slcXXXX.xmodmap xmodmap-left xmodmap-right
collie.xmodmap h1910.xmodmap h6300.xmodmap keyboardless.xmodmap poodle.xmodmap simpad.xmodmap xmodmap-invert xmodmap-portrait
Where can I find the right file M
I do not recommend anyone to use QT5 on imx6 cause of rendering result is not really good. UI becomes altered when console content get updated (eg. by kernel log dmesg)
Did you install xinit?
I don’t think so! because I’ve not yet install anything on.
Btw, I used /etc/profile to start my app on startup and it’s working well.