質問

私はDebian 7(whezy)を実行しているi.Mx6 ittrigen6xボードのクロスコンパイル済みQt 5.1.1を持っています。

-eglパラメータを使用してQTを設定し、Configure OutputのQPAバックエンドとしてeGlFSがリストされています。

しかし私がこのエラーに遭遇している-platform eglfsパラメータを使用して小さなサンプルアプリケーションを実行しようとすると:

stdin: is not a tty
[     1] HAL user version 4.6.9 build 6622 Aug 15 2013 13:22:40
[     2] HAL kernel version 4.6.9 build 1210
QML debugging is enabled. Only use this in a safe environment.
bash: line 1:  3673 Segmentation fault      DISPLAY=:0.0 /opt/Test/bin/Test -platform eglfs
Remote application finished with exit code 139.
.

OpenGL ES2とEGLはボードに取り付けられており、/usr/lib/usr/includeにあります。 残念ながら私はEGLFSのための適切な文書を見つけることができなかったので、ここをクリックしている誰かがそれに何らかの経験をしていることを望んでいます。

これはバックトレース出力です:

    run Test-platform eglfs
Starting program: /opt/Test/bin/Test Test -platform eglfs
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[     1] HAL user version 4.6.9 build 6622 Aug 15 2013 13:31:17
[     2] HAL kernel version 4.6.9 build 1210
QML debugging is enabled. Only use this in a safe environment.
[New Thread 0x2c6b7460 (LWP 4057)]

Program received signal SIGSEGV, Segmentation fault.
0x2bab6f48 in gcoHAL_QueryChipCount () from /usr/lib/libGAL.so
(gdb) backrace full
Undefined command: "backrace".  Try "help".
(gdb) backrace full[1@t
#0  0x2bab6f48 in gcoHAL_QueryChipCount () from /usr/lib/libGAL.so
No symbol table info available.
#1  0x2ba7ccbc in veglGetThreadData () from /usr/lib/libEGL.so.1
No symbol table info available.
#2  0x2ba74cd0 in eglBindAPI () from /usr/lib/libEGL.so.1
No symbol table info available.
#3  0x2be41934 in ?? () from /usr/local/Qt-Debian/plugins/platforms/libqeglfs.so
No symbol table info available.
#4  0x2be41934 in ?? () from /usr/local/Qt-Debian/plugins/platforms/libqeglfs.so
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) info registers
r0             0x1  1
r1             0x23e54  147028
r2             0x738    1848
r3             0x0  0
r4             0x2bb67d84   733379972
r5             0x23e18  146968
r6             0x2e70c  190220
r7             0x2b430198   725811608
r8             0x7efff9e8   2130704872
r9             0x8  8
r10            0x2b0725c4   721888708
r11            0x7efffae0   2130705120
r12            0x2bab6f1c   732655388
sp             0x7efff8f0   0x7efff8f0
lr             0x2ba7ccbc   732417212
pc             0x2bab6f48   0x2bab6f48 <gcoHAL_QueryChipCount+44>
cpsr           0x80000010   -2147483632
(gdb) x/16i $pc
=> 0x2bab6f48 <gcoHAL_QueryChipCount+44>:   ldr r3, [r3, #12]
   0x2bab6f4c <gcoHAL_QueryChipCount+48>:   sub r2, r3, #1
   0x2bab6f50 <gcoHAL_QueryChipCount+52>:   cmp r2, #2
   0x2bab6f54 <gcoHAL_QueryChipCount+56>:   bhi 0x2bab6f70 <gcoHAL_QueryChipCount+84>
   0x2bab6f58 <gcoHAL_QueryChipCount+60>:   ldr r2, [r4]
   0x2bab6f5c <gcoHAL_QueryChipCount+64>:   mov r0, #0
   0x2bab6f60 <gcoHAL_QueryChipCount+68>:   str r3, [r1]
   0x2bab6f64 <gcoHAL_QueryChipCount+72>:   add r3, r2, #1
   0x2bab6f68 <gcoHAL_QueryChipCount+76>:   str r3, [r4]
   0x2bab6f6c <gcoHAL_QueryChipCount+80>:   pop {r4, pc}
   0x2bab6f70 <gcoHAL_QueryChipCount+84>:   mvn r0, #8
   0x2bab6f74 <gcoHAL_QueryChipCount+88>:   bl  0x2baad5fc
   0x2bab6f78 <gcoHAL_QueryChipCount+92>:   ldr r3, [r4]
   0x2bab6f7c <gcoHAL_QueryChipCount+96>:   mvn r0, #8
   0x2bab6f80 <gcoHAL_QueryChipCount+100>:  add r3, r3, #1
   0x2bab6f84 <gcoHAL_QueryChipCount+104>:  str r3, [r4]
(gdb) thread apply all backtrace

Thread 2 (Thread 0x2c6b7460 (LWP 4057)):
#0  0x2b52ef96 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
#1  0x2b568634 in _IO_file_close () from /lib/arm-linux-gnueabihf/libc.so.6
#2  0x2b568ffe in _IO_file_close_it () from /lib/arm-linux-gnueabihf/libc.so.6
#3  0x2b56113a in fclose () from /lib/arm-linux-gnueabihf/libc.so.6
#4  0x2bea8d00 in udev_new () from /lib/arm-linux-gnueabihf/libudev.so.0
#5  0x2be7d2e4 in ?? () from /usr/local/Qt-Debian/plugins/platforms/libqeglfs.so
#6  0x2be7d2e4 in ?? () from /usr/local/Qt-Debian/plugins/platforms/libqeglfs.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 1 (Thread 0x2bcb9220 (LWP 4056)):
#0  0x2bab6f48 in gcoHAL_QueryChipCount () from /usr/lib/libGAL.so
#1  0x2ba7ccbc in veglGetThreadData () from /usr/lib/libEGL.so.1
#2  0x2ba74cd0 in eglBindAPI () from /usr/lib/libEGL.so.1
#3  0x2be41934 in ?? () from /usr/local/Qt-Debian/plugins/platforms/libqeglfs.so
#4  0x2be41934 in ?? () from /usr/local/Qt-Debian/plugins/platforms/libqeglfs.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) quit
.

どのようにそのエラーを修正することができますか?

役に立ちましたか?

解決 2

私はこの問題をヨチョに切り替え、最新の要点のリリースへのアクセスを得ることによってそれを修正しました。 i.MX CPUを開発している場合は、 https://github.com/freescale/fsl-community-bsp-platform

デフォルト - Disprovarsから「X11」を削除することは、Poky.confから「Wayland」と「Wayland」では、エラーが発生します。

そのようなセットアップのQT5の構築は大丈夫です。

他のヒント

私は、 http://リポジトリからコピーしなければなりませんでした。 .TIMESYS.com / BuildSources / G / GPU-VIV-BIN-MX6Q / 。 私の場合、Galcore.koは組み立てられています。

編集: / dev / Galcoreを持っていること、およびその許可がcrw.rw.rw. (SUDO CHMOD 666 / DEV / GALCORE)。 / dev / Galcoreがない場合は、insmod /lib/modules/..../kernel/drivers/mxc/gpu-viv/galcore.koを試してください。 これらのステップは、Ubuntuイメージで私のクラッシュを修正しました。 ヨチョのイメージにGalcoreの運転手は組み立てられており、そこにいるようですが、私はまだクラッシュを手に入れます。

編集: Yoctoイメージのクラッシュは、egl / gal.so libsの間違ったバージョンによって引き起こされました。どうやらカーネルに組み込まれているGalcoreドライバはバージョン4.6.9.6622を持っています。 GPU-VIV-BIN-MX6Q-3.0.35-4.1.0からLIBSが必要です。これらのLIBSを使用し、それらを/ usr / libに手動でコピーすると、ハードウェアOpenGLES 2.0とH264ビデオのハードウェアの復号化を使用して、細かく機能します。

Galcoreモジュールのロードを忘れたときに似たSEGFAULTを得ました。これがバックトレース:

です
#0  0x766062b0 in gcoHAL_QueryChipCount (Hal=Hal@entry=0x0, Count=Count@entry=0x16494)
    at gc_hal_user_query.c:1726
#1  0x766da244 in veglGetThreadData () at gc_egl.c:137
#2  0x766d3210 in eglfGetDisplay (display_id=0x16c08) at gc_egl_init.c:464
#3  eglGetDisplay (DisplayID=0x16c08) at gc_egl_init.c:565
.

QT 5.3.2、カーネル3.10.17、Galcoreバージョン4.6.9.9754

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top