0

我正在尝试hellogl_es2通过指定eglfs平台来运行没有 X Server 的 Qt 示例:

> ./hellogl_es2 -platform eglfs
No protocol specified
Segmentation fault (core dumped)

CPU 是飞思卡尔 i.MX6。

Linux 内核是 3.10.17。

发行版是 Ubuntu 14.04.4 LTS(值得信赖)。

Qt 版本是 5.2.1,从http://packages.ubuntu.com安装,armhf架构,包qtbase5-dev,,。qtbase5-examplesqtbase5-examples-dbg

核心转储是(问题gcoOS_InitLocalDisplayInfoin libGAL.so):

GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from hellogl_es2...Reading symbols from /usr/lib/debug/.build-id/6f/8a8dfdb5abe920e37000a98092b4058b56da0a.debug...done.
done.
[New LWP 2802]
[New LWP 2803]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Core was generated by `./hellogl_es2 -platform eglfs'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0xb5dd0c84 in gcoOS_InitLocalDisplayInfo () from /usr/lib/arm-linux-gnueabihf/vivante/libGAL.so
(gdb) bt
#0  0xb5dd0c84 in gcoOS_InitLocalDisplayInfo () from /usr/lib/arm-linux-gnueabihf/vivante/libGAL.so
#1  0xb5d095f8 in ?? () from /usr/lib/arm-linux-gnueabihf/libEGL.so.1
/build/buildd/gdb-7.7.1/gdb/frame.c:472: internal-error: get_frame_id: Assertion `fi->this_id.p' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.

该行为与其他 Qt 示例项目相同。

X 服务器运行时,指定xcb平台(-platform xcb,即默认值)工作正常。

4

1 回答 1

0

我设法解决了“分段错误”问题:

apt-get install gpu-viv-bin-mx6q-fb

(自动卸载gpu-viv-bin-mx6q-x11​​)。

但是,现在我有另一个问题:在 i.MX6 上使用 -platform eglfs 运行 Qt5 应用程序时出现“EGL 错误:无法创建 EGL 表面:错误 0x300b”

于 2016-12-06T11:39:28.753 回答