Odroid C2에서 Qt5 프로그램 드로잉 문제

Post Reply
mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Tue Jun 18, 2019 3:15 pm

Qt5 어플리케이션의 Rectangle 영역을 visible 처리가 바뀔 때 랜덤하게 영역이 나뉘어서 부분적으로 그려지는 문제가 발생합니다.

영문 질문글에 올렸는데 부족한 영어 실력으로 표현이 안되서 한글 게시판에 다시 올립니다...

http://minsdatanetwork.iptime.org:8085/ ... id=0xGEfn5

증상의 영상과 사진은 위 링크에 있습니다.

수직동기화나 프레임 제한 등 가능한건 모두 해봤으나 해결이 안되더 군요..

Qt5 어플리케이션도 OpenGL로 작동되는 상황 이구요.

혹시 해결방법을 아시는 분은 조언 부탁 드립니다.

Odroid C2이며 Ubuntu 18.04 Mate 입니다.

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Tue Jun 18, 2019 4:02 pm

이제야 어떤 문제인지 좀 이해가 됩니다만, 죄송스럽게도 Qt 프로그래밍 경험이 전혀 없어서 도움을 드리가기 매우 어렵습니다.
CPU Governor나 windows composite 옵션은 모두 변경해 보셨겠지요?
OpenGL 가속기를 사용하지 않는 경우에는 해당 문제가 발생하는지도 궁금합니다.

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Tue Jun 18, 2019 4:35 pm

odroid wrote:
Tue Jun 18, 2019 4:02 pm
이제야 어떤 문제인지 좀 이해가 됩니다만, 죄송스럽게도 Qt 프로그래밍 경험이 전혀 없어서 도움을 드리가기 매우 어렵습니다.
CPU Governor나 windows composite 옵션은 모두 변경해 보셨겠지요?
OpenGL 가속기를 사용하지 않는 경우에는 해당 문제가 발생하는지도 궁금합니다.
안녕하세요.

일단 Qt의 설정을 통해 자체 OpenGL을 사용하지 않고 자체 렌더링(Qt Quick 2D Renderer)을 사용해도 같은 문제가 발생합니다.

혹시 Mali 그래픽 칩셋의 드라이버 버전이나 수직동기화를 강제로 설정하는 등의 방법은 없을까요?

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Tue Jun 18, 2019 5:21 pm

먼저 command line에서 FORCE_VSYNC=1 glmark2-es2로 테스트를 해보시길 바랍니다.
60FPS로 Mali GPU rendering이 고정되는 결과를 보실 수 있습니다.

동일하게 glmark2-es2대신에 만든 어플리케이션 파일명으로 교체하여 테스트 해보세요.

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Tue Jun 18, 2019 8:41 pm

odroid wrote:
Tue Jun 18, 2019 5:21 pm
먼저 command line에서 FORCE_VSYNC=1 glmark2-es2로 테스트를 해보시길 바랍니다.
60FPS로 Mali GPU rendering이 고정되는 결과를 보실 수 있습니다.

동일하게 glmark2-es2대신에 만든 어플리케이션 파일명으로 교체하여 테스트 해보세요.
glmark2-es2 에서 드로잉되는 오브젝트 들은 움직임이 느려서 잘 확인이 되지는 않네요...

말씀하신 플래그를 적용해도 Qt에서 제공하는 OpenGL 예제에서 큐브를 마우스로 돌리는 예제가 있는데 그런걸 빨리 돌려 조면 수직동기가 꺼진 것 처럼 수평으로 잘려서 그려집니다..

저희가 개발중인 프로그램도 동일하구요..

어떤게 문제인지는 잘 모르겠지만 정 안된다면 CEGUI등 다른 쪽으로 방향을 돌려야 할꺼 같네요..

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Wed Jun 19, 2019 8:33 am

도움이 못되어 많이 아쉽네요.

x11 또는 compositor 드라이버 문제라면 x11 없이 fbdev위에서 Qt를 직접 돌려보는 것은 어떨까요? 데스크탑 환경이 꼭 필요한가요?
Qt base를 mali-fbdev용으로 다시 빌드하는 과정도 쉽지는 않겠습니다만, 티어링에 민감한 게임 에물레이터 개발자들은 대부분 무거운 x11을 사용하지 않고 fbdev나 gbm에서 직접 렌더링하더군요,

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Wed Jun 19, 2019 10:40 am

odroid wrote:
Wed Jun 19, 2019 8:33 am
도움이 못되어 많이 아쉽네요.

x11 또는 compositor 드라이버 문제라면 x11 없이 fbdev위에서 Qt를 직접 돌려보는 것은 어떨까요? 데스크탑 환경이 꼭 필요한가요?
Qt base를 mali-fbdev용으로 다시 빌드하는 과정도 쉽지는 않겠습니다만, 티어링에 민감한 게임 에물레이터 개발자들은 대부분 무거운 x11을 사용하지 않고 fbdev나 gbm에서 직접 렌더링하더군요,
그 부분은 좀더 확인 해보겠습니다 ^^

지금 그냥 순수 opengl로 삼각형이 깜빡이는 걸 만들어 봤는데 이거도 부분적으로 나뉘어서 그려지는 현상이 존재하네요.

C1+(16.04.3), C2(18.04) 모두 발생하네요..

아 그리고 위의 예제 프로그램 실행시

MESA-LOADER: failed to retrieve device information
libGL error: unlable to load driver: mali_drm_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: mali_drm

이 라는 메세지가 나오고 실행은 되는데 무슨 문제일까요?

특별히 설치한 모듈은 없고 libglfw3-dev만 섫치한 상태 입니다.

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Wed Jun 19, 2019 11:32 am

Mali GPU 드라이버가 깨진것 같습니다.

C2에서 glmark2-es2 동작시 아래와 같이 나와야 합니다.

Code: Select all

odroid@odroid:~$ glmark2-es2
=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-450 MP
    GL_VERSION:    OpenGL ES 2.0
=======================================================
그렇지 않다면 software emulation으로 MESA GPU 드라이버가 동작하고 있는것입니다.
그런 경우 강제로 MALI GPU 드라이버를 다시 설치하면 해결됩니다.
sudo apt install --reinstall mali-x11

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Wed Jun 19, 2019 1:46 pm

만일 Canonical의 Qt 라이브러리 업데이트때문에 OpenGL-ES가 동작하지 않는다면 아래와 같은 방법으로 복구 가능합니다.
Canonical의 Qt라이브러리는 OpenGL-ES를 지원하지 않기때문에, 꼭 저희가 빌드한 라이브러리를 설치해야 합니다.
저희 OS 이미지에는 저희가 빌드한 Qt 라이브러리가 포함되어 있지만, Canonical의 update package가 덮어쓰는 경우가 아주 가끔 있기 때문입니다.

Code: Select all

wget http://deb.odroid.in/c2/pool/main/q/qtbase-opensource-src/libqt5gui5_5.9.5%2bdfsg-0ubuntu2_arm64.deb
sudo dpkg -i libqt5gui5_5.9.5+dfsg-0ubuntu2_arm64.deb 
sudo apt-mark hold libqt5gui5

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Wed Jun 19, 2019 6:39 pm

odroid wrote:
Wed Jun 19, 2019 1:46 pm
만일 Canonical의 Qt 라이브러리 업데이트때문에 OpenGL-ES가 동작하지 않는다면 아래와 같은 방법으로 복구 가능합니다.
Canonical의 Qt라이브러리는 OpenGL-ES를 지원하지 않기때문에, 꼭 저희가 빌드한 라이브러리를 설치해야 합니다.
저희 OS 이미지에는 저희가 빌드한 Qt 라이브러리가 포함되어 있지만, Canonical의 update package가 덮어쓰는 경우가 아주 가끔 있기 때문입니다.

Code: Select all

wget http://deb.odroid.in/c2/pool/main/q/qtbase-opensource-src/libqt5gui5_5.9.5%2bdfsg-0ubuntu2_arm64.deb
sudo dpkg -i libqt5gui5_5.9.5+dfsg-0ubuntu2_arm64.deb 
sudo apt-mark hold libqt5gui5
저도 이게 제일 확실 해 보였는데 변함이 없네요..

혹시 QML이 문제인가 해서 기본 Qt5 예제의 OpenGL 예제에 Cube를 실행해봤는데 같은 증상이네요.. ㅜㅜ

일단 여러가지 시도를 해봐야할듯합니다..

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Wed Jun 19, 2019 8:31 pm

이번주는 외부에서 근무하느라 테스트가 곤란하니, 차주에 시간을 내서 Qt Cube 예제를 실행해 보면서 어떤 현상인지 파악부터 해보겠습니다.

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Thu Jun 20, 2019 5:36 pm

odroid wrote:
Wed Jun 19, 2019 8:31 pm
이번주는 외부에서 근무하느라 테스트가 곤란하니, 차주에 시간을 내서 Qt Cube 예제를 실행해 보면서 어떤 현상인지 파악부터 해보겠습니다.
넵 감사합니다.

저도 계속 확인해보겠습니다.

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Mon Jun 24, 2019 9:42 am

Full-screen으로 Cube를 돌려보니 중간중간 Tearing 현상이 보이네요. ㅠㅠ
FORCE_VSYNC와는 상관없이 드로잉이 겹쳐지는 문제가 발생합니다.
x11용 Mali GPU 드라이버에 VSYNC 문제가 있는것 같습니다.

원인 파악에 도움이 될지 모르니 XU4 보드에서는 어떤지 오늘 퇴근전에 확인해 보도록 하겠습니다.

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Mon Jun 24, 2019 5:40 pm

구글 검색을 통해 우리 포럼글을 하나 찾았습니다.
viewtopic.php?f=136&t=33944
좀 더 세심하게 읽어보고 공부를 해봐야 겠지만, 대략 파악하기에는 x11위에서 Qt 어플은 vsync를 제대로 구현하기 어려우니 framebuffer(fbdev)를 이용해야 한다는 것 같습니다.

x11 용 Qt5 라이브러리를 빌드하듯이 configure 옵션을 변경하여 fbdev용으로 빌드 해봐야 겠습니다.
이렇게 하면 FBIO_WAITFORVSYNC 기능이 동작할 것 같은데, 공부하고 빌드할 시간이 없네요. ㅠㅠ
viewtopic.php?f=95&t=31070

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Tue Jun 25, 2019 10:19 am

odroid wrote:
Mon Jun 24, 2019 5:40 pm
구글 검색을 통해 우리 포럼글을 하나 찾았습니다.
viewtopic.php?f=136&t=33944
좀 더 세심하게 읽어보고 공부를 해봐야 겠지만, 대략 파악하기에는 x11위에서 Qt 어플은 vsync를 제대로 구현하기 어려우니 framebuffer(fbdev)를 이용해야 한다는 것 같습니다.

x11 용 Qt5 라이브러리를 빌드하듯이 configure 옵션을 변경하여 fbdev용으로 빌드 해봐야 겠습니다.
이렇게 하면 FBIO_WAITFORVSYNC 기능이 동작할 것 같은데, 공부하고 빌드할 시간이 없네요. ㅠㅠ
viewtopic.php?f=95&t=31070
qt를 fbdev로 다시 빌드 해서 사용할 때, Mali 450의 fbdev용 드라이버가 필요하지 않나요?

https://wiki.qt.io/ODROID-XU3

여기를 보면 XU3에서 fbdev 용 드라이버를 별로 받서 설치하는 부분이 존재합니다.

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Tue Jun 25, 2019 10:22 am

C2의 framebuffer용 Mali-450 드라이버는 apt install mali-fbdev 로 설차하면 됩니다.
These users thanked the author odroid for the post:
mgu1206 (Tue Jun 25, 2019 11:01 am)

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Tue Jun 25, 2019 3:14 pm

odroid wrote:
Tue Jun 25, 2019 10:22 am
C2의 framebuffer용 Mali-450 드라이버는 apt install mali-fbdev 로 설차하면 됩니다.
네 알겠습니다..

Qt를 fbdev용으로 빌드하는 방법을 찾아봐야겟네요...

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Tue Jun 25, 2019 3:31 pm

odroid wrote:
Tue Jun 25, 2019 10:22 am
C2의 framebuffer용 Mali-450 드라이버는 apt install mali-fbdev 로 설차하면 됩니다.
Preparing to unpack .../60-mali-fbdev_20180710-r6p1-10_arm64.deb ...
Unpacking mali-fbdev (20180710-r6p1-10) ...
dpkg: error processing archive /tmp/apt-dpkg-install-hJZMA1/60-mali-fbdev_20180710-r6p1-10_arm64.deb (--unpack):
trying to overwrite '/usr/include/EGL/egl.h', which is also in package libegl1-mesa-dev:arm64 18.0.5-0ubuntu0~18.04.1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
/tmp/apt-dpkg-install-hJZMA1/60-mali-fbdev_20180710-r6p1-10_arm64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

mali-fbdev 설치 시도 시 위와 같은 오류가 발생하는데 어떻게 해결이 가능할까요?

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Tue Jun 25, 2019 3:39 pm

Mate이미지가 아닌 minimal 이미지에서만 mali-fbdev를 동작시켜 보았습니다.
Mate에서는 먼저 mali-x11 package를 remove/purge하고 해보세요.

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Tue Jun 25, 2019 9:49 pm

odroid wrote:
Tue Jun 25, 2019 3:39 pm
Mate이미지가 아닌 minimal 이미지에서만 mali-fbdev를 동작시켜 보았습니다.
Mate에서는 먼저 mali-x11 package를 remove/purge하고 해보세요.
넵 감사합니다.
드라이버 쪽은 해결 했고.. qt를 빌드하는 법을 첮아봐야겠습니다...

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Mon Jul 01, 2019 5:33 pm

다른 작업들을 하느라 좀 확인이 늦었네요

안드로이드에 올려서 OpenGL 예제들을 돌려보니 해당 문제가 발생하지 않는 것으로 보이긴 합니다.

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Tue Jul 09, 2019 11:16 am

odroid wrote:
Tue Jun 25, 2019 3:39 pm
Mate이미지가 아닌 minimal 이미지에서만 mali-fbdev를 동작시켜 보았습니다.
Mate에서는 먼저 mali-x11 package를 remove/purge하고 해보세요.
혹시 X11 Mali 드라이버가 수정될 여지는 없을까요?

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Tue Jul 09, 2019 12:23 pm

안드로이드는 적용이 곤란하신가 보네요.

XU4에서도 Cube 테스트를 해보았는데 동일한 문제가 보입니다.
Qt용 FBIO_WAITFORVSYNC를 x11-mali에서는 구현이 매우 어려워 보입니다.

fbdev용 Qt5를 3주 정도 투자해서 만들어 제공하면 도움이 될까요?

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Tue Jul 09, 2019 1:07 pm

odroid wrote:
Tue Jul 09, 2019 12:23 pm
안드로이드는 적용이 곤란하신가 보네요.

XU4에서도 Cube 테스트를 해보았는데 동일한 문제가 보입니다.
Qt용 FBIO_WAITFORVSYNC를 x11-mali에서는 구현이 매우 어려워 보입니다.

fbdev용 Qt5를 3주 정도 투자해서 만들어 제공하면 도움이 될까요?
기존 우분투에서 Qt5/QML 기반으로 개발한 코드들을 Qt for Android로 이동 시키려니 거의 바닥부터 다시 개발해야할꺼 같더군요...

그리고 Qt Android에서 WebEngine/WebEngineWidget을 지원하지 않는 부분도 있고..

시리얼 통신을 해야하는데 QSerialPort를 사용할 수 없어서 별도로 구현하거나 구현된 코드를 사용해야 한다는 부분이 부담스럽게 느껴지긴 합니다..

가능하시다면 도와주신다면 감사할것 같습니다..

혹시 빌드 시 QML모듈도 포함이 가능할까요? 라이센스 때문에 불가능할까요?

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Tue Jul 09, 2019 1:28 pm

네, 그렇군요.
그런데 라이센스 문제는 잘 모르겠습니다.

아래 링크 참고해서 시도해볼 계획입니다.
viewtopic.php?f=177&t=35347
https://wiki.qt.io/ODROID-XU3

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Tue Jul 09, 2019 5:50 pm

odroid wrote:
Tue Jul 09, 2019 1:28 pm
네, 그렇군요. 라이센스 문제는 잘 모르겠습니다.

아래 링크 참고해서 시도해볼 계획입니다.
viewtopic.php?f=177&t=35347
https://wiki.qt.io/ODROID-XU3
QML 모듈은 LGPLv3를 적용받고 있어서 혹시 빌드 시 내부 소스를 변경해야 한다면 변경된 부분만 공개하면 될듯합니다..

저도 올려주신 링크보고 참고해보겠습니다.

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Tue Jul 09, 2019 6:10 pm

C2 Minimal Ubuntu 이미지 설치하고, mali-fbdev 기능은 glmark2-es2-fbdev를 구동하여 확인하였습니다.
그리고 qt-everywhere-src-5.12.3.zip 다운받아 아래와 같이 설정하고 빌드하고 있습니다. C2에서 native로 빌드하고 있어 5시간 이상 걸릴듯 합니다.
./configure -prefix "/home/odroid/qt/build" -release -confirm-license -opensource -platform linux-aarch64-gnu-g++ -opengl es2 -no-pch -no-xcb -skip wayland -skip webengine
밤사이 빌드가 무사히 끝나고 OpenGL-ES cube예제가 깔끔하게 Tearing없이 돌아가길 기대해 봅니다.

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Wed Jul 10, 2019 9:44 am

밤사이 /qt3d/src/plugins/sceneparsers/assimp 라이브러리 빌드중에 에러가 발생하였네요.
원인을 찾아보겠습니다.

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Wed Jul 10, 2019 2:42 pm

odroid wrote:
Wed Jul 10, 2019 9:44 am
밤사이 /qt3d/src/plugins/sceneparsers/assimp 라이브러리 빌드중에 에러가 발생하였네요.
원인을 찾아보겠습니다.
저도 5.9.5로 시도했는데 install 중에 같은 에러가 발생했습니다.;

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Thu Jul 11, 2019 2:03 pm

아래 설정 옵션으로 Build 및 Install까지는 성공하였으나 cube 실행하니 흰색화면만 나오고 동작이 안되네요.

Code: Select all

./configure -prefix "/home/odroid/qt/build" -release -confirm-license -opensource -platform linux-aarch64-gnu-g++ -opengl es2 -no-pch -no-xcb -skip wayland -skip webengine -no-assimp -skip qtlocation
설정 결과에 EGL이나 EGLFS 값이 "Yes"가 되어야 하는데 Mali OpenGL ES library path 검출에 문제가 있는것 같습니다.
좀더 들어야다 봐야 겠네요.

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Fri Jul 12, 2019 9:05 am

Code: Select all

This is the Qt Open Source Edition.

You have already accepted the terms of the Open Source license.

Running configuration tests...
Done running configuration tests.

Configure summary:

Build type: linux-aarch64-gnu-g++ (arm64, CPU features: neon)
Compiler: gcc 7.4.0
Configuration: use_gold_linker compile_examples enable_new_dtags largefile neonl
Build options:
  Mode ................................... release
  Optimize release build for size ........ no
  Building shared libraries .............. yes                                  
  Using C standard ....................... C11                                  
  Using C++ standard ..................... C++1z                                
  Using ccache ........................... no                                   
  Using gold linker ...................... yes                                  
  Using new DTAGS ........................ yes                                  
  Using precompiled headers .............. no                                   
  Using LTCG ............................. no                                   
  Target compiler supports:                                                     
    NEON ................................. yes                                  
  Build parts ............................ libs examples tools                  
Qt modules and options:                                                         
  Qt Concurrent .......................... yes                                  
  Qt D-Bus ............................... yes                                  
  Qt D-Bus directly linked to libdbus .... no                                   
  Qt Gui ................................. yes                                  
  Qt Network ............................. yes                                  
  Qt Sql ................................. yes                                  
  Qt Testlib ............................. yes                                  
  Qt Widgets ............................. yes                                  
  Qt Xml ................................. yes                                  
Support enabled for:                                                            
  Using pkg-config ....................... yes                                  
  udev ................................... no                                   
  Using system zlib ...................... yes                                  
Qt Core:                                                                        
  DoubleConversion ....................... yes                                  
    Using system DoubleConversion ........ no                                   
  GLib ................................... no                                   
  iconv .................................. yes                                  
  ICU .................................... no                                   
  Tracing backend ........................ <none>                               
  Logging backends:                                                             
    journald ............................. no                                   
    syslog ............................... no                                   
    slog2 ................................ no                                   
  Using system PCRE2 ..................... no                                   
Qt Network:                                                                     
  getifaddrs() ........................... yes                                  
  IPv6 ifname ............................ yes                                  
  libproxy ............................... no                                   
  Linux AF_NETLINK ....................... yes                                  
  OpenSSL ................................ no                                   
    Qt directly linked to OpenSSL ........ no                                   
  OpenSSL 1.1 ............................ no                                   
  DTLS ................................... no                                   
  SCTP ................................... no                                   
  Use system proxies ..................... yes                                  
Qt Gui:                                                                         
  Accessibility .......................... yes                                  
  FreeType ............................... yes                                  
    Using system FreeType ................ no                                   
  HarfBuzz ............................... yes                                  
    Using system HarfBuzz ................ no                                   
  Fontconfig ............................. no                                   
  Image formats:                                                                
    GIF .................................. yes                                  
    ICO .................................. yes                                  
    JPEG ................................. yes                                  
      Using system libjpeg ............... yes                                  
    PNG .................................. yes                                  
      Using system libpng ................ yes                                  
  EGL .................................... yes                                  
  OpenVG ................................. no                                   
  OpenGL:                                                                       
    Desktop OpenGL ....................... no                                   
    OpenGL ES 2.0 ........................ yes                                  
    OpenGL ES 3.0 ........................ no                                   
    OpenGL ES 3.1 ........................ no                                   
    OpenGL ES 3.2 ........................ no                                   
  Vulkan ................................. no                                   
  Session Management ..................... yes                                  
Features used by QPA backends:                                                  
  evdev .................................. yes                                  
  libinput ............................... no                                   
  INTEGRITY HID .......................... no                                   
  mtdev .................................. no                                   
  tslib .................................. no                                   
  xkbcommon .............................. no                                   
  X11 specific:                                                                 
    XLib ................................. yes                                  
    XCB Xlib ............................. yes                                  
    EGL on X11 ........................... yes                                  
QPA backends:                                                                   
  DirectFB ............................... no                                   
  EGLFS .................................. yes                                  
  EGLFS details:                                                                
    EGLFS OpenWFD ........................ no                                   
    EGLFS i.Mx6 .......................... no                                   
    EGLFS i.Mx6 Wayland .................. no                                   
    EGLFS RCAR ........................... no                                   
    EGLFS EGLDevice ...................... no                                   
    EGLFS GBM ............................ yes                                  
    EGLFS VSP2 ........................... no                                   
    EGLFS Mali ........................... yes                                  
    EGLFS Raspberry Pi ................... no                                   
    EGLFS X11 ............................ yes                                  
  LinuxFB ................................ yes                                  
  VNC .................................... yes                                  
  Mir client ............................. no                                   
Qt Sql:                                                                         
  SQL item models ........................ yes                                  
Qt Widgets:                                                                     
  GTK+ ................................... no                                   
  Styles ................................. Fusion Windows                       
Qt PrintSupport:                                                                
  CUPS ................................... no                                   
Qt Sql Drivers:                                                                 
  DB2 (IBM) .............................. no                                   
  InterBase .............................. no                                   
  MySql .................................. no                                   
  OCI (Oracle) ........................... no                                   
  ODBC ................................... no                                   
  PostgreSQL ............................. no                                   
  SQLite2 ................................ no                                   
  SQLite ................................. yes                                  
    Using system provided SQLite ......... no                                   
  TDS (Sybase) ........................... no                                   
Qt Testlib:                                                                     
  Tester for item models ................. yes                                  
Qt SerialBus:                                                                   
  Socket CAN ............................. yes                                  
  Socket CAN FD .......................... yes                                  
Further Image Formats:                                                          
  JasPer ................................. no                                   
  MNG .................................... no                                   
  TIFF ................................... yes                                  
    Using system libtiff ................. no                                   
  WEBP ................................... yes                                  
    Using system libwebp ................. no                                   
Qt Sensors:                                                                     
  sensorfw ............................... no                                   
QtXmlPatterns:                                                                  
  XML schema support ..................... yes                                  
Qt Multimedia:                                                                  
  ALSA ................................... no                                   
  GStreamer 1.0 .......................... no                                   
  GStreamer 0.10 ......................... no                                   
  Video for Linux ........................ yes                                  
  OpenAL ................................. no                                   
  PulseAudio ............................. no                                   
  Resource Policy (libresourceqt5) ....... no                                   
  Windows Audio Services ................. no                                   
  DirectShow ............................. no                                   
  Windows Media Foundation ............... no                                   
Qt Tools:                                                                       
  QDoc ................................... no                                   
                                                                                
WARNING: QDoc will not be compiled, probably because libclang could not be loca.
                                                                                
Either ensure that llvm-config is in your PATH environment variable, or set LLV.
On Linux systems, you may be able to install libclang by installing the libclan.
On macOS, you can use Homebrew's llvm package.                                  
On Windows, you must set LLVM_INSTALL_DIR to the installation path.             
                                                                                
Qt is now configured for building. Just run 'make'.                             
Once everything is built, you must run 'make install'.                          
Qt will be installed into '/home/odroid/qt/build'.                              
                                                                                
Prior to reconfiguration, make sure you remove any leftovers from the previous build.
혹시나해서 Qt 5.12.4로 EGL과 EGLFS-Mali 옵션까지 살려서 빌드했는데도 여전히 흰색 화면만 나오네요. :(

mgu1206
Posts: 52
Joined: Mon Jan 21, 2019 1:12 pm
languages_spoken: English, Korean
ODROIDs: C2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by mgu1206 » Fri Jul 12, 2019 9:17 am

odroid wrote:
Fri Jul 12, 2019 9:05 am

Code: Select all

This is the Qt Open Source Edition.

You have already accepted the terms of the Open Source license.

Running configuration tests...
Done running configuration tests.

Configure summary:

Build type: linux-aarch64-gnu-g++ (arm64, CPU features: neon)
Compiler: gcc 7.4.0
Configuration: use_gold_linker compile_examples enable_new_dtags largefile neonl
Build options:
  Mode ................................... release
  Optimize release build for size ........ no
  Building shared libraries .............. yes                                  
  Using C standard ....................... C11                                  
  Using C++ standard ..................... C++1z                                
  Using ccache ........................... no                                   
  Using gold linker ...................... yes                                  
  Using new DTAGS ........................ yes                                  
  Using precompiled headers .............. no                                   
  Using LTCG ............................. no                                   
  Target compiler supports:                                                     
    NEON ................................. yes                                  
  Build parts ............................ libs examples tools                  
Qt modules and options:                                                         
  Qt Concurrent .......................... yes                                  
  Qt D-Bus ............................... yes                                  
  Qt D-Bus directly linked to libdbus .... no                                   
  Qt Gui ................................. yes                                  
  Qt Network ............................. yes                                  
  Qt Sql ................................. yes                                  
  Qt Testlib ............................. yes                                  
  Qt Widgets ............................. yes                                  
  Qt Xml ................................. yes                                  
Support enabled for:                                                            
  Using pkg-config ....................... yes                                  
  udev ................................... no                                   
  Using system zlib ...................... yes                                  
Qt Core:                                                                        
  DoubleConversion ....................... yes                                  
    Using system DoubleConversion ........ no                                   
  GLib ................................... no                                   
  iconv .................................. yes                                  
  ICU .................................... no                                   
  Tracing backend ........................ <none>                               
  Logging backends:                                                             
    journald ............................. no                                   
    syslog ............................... no                                   
    slog2 ................................ no                                   
  Using system PCRE2 ..................... no                                   
Qt Network:                                                                     
  getifaddrs() ........................... yes                                  
  IPv6 ifname ............................ yes                                  
  libproxy ............................... no                                   
  Linux AF_NETLINK ....................... yes                                  
  OpenSSL ................................ no                                   
    Qt directly linked to OpenSSL ........ no                                   
  OpenSSL 1.1 ............................ no                                   
  DTLS ................................... no                                   
  SCTP ................................... no                                   
  Use system proxies ..................... yes                                  
Qt Gui:                                                                         
  Accessibility .......................... yes                                  
  FreeType ............................... yes                                  
    Using system FreeType ................ no                                   
  HarfBuzz ............................... yes                                  
    Using system HarfBuzz ................ no                                   
  Fontconfig ............................. no                                   
  Image formats:                                                                
    GIF .................................. yes                                  
    ICO .................................. yes                                  
    JPEG ................................. yes                                  
      Using system libjpeg ............... yes                                  
    PNG .................................. yes                                  
      Using system libpng ................ yes                                  
  EGL .................................... yes                                  
  OpenVG ................................. no                                   
  OpenGL:                                                                       
    Desktop OpenGL ....................... no                                   
    OpenGL ES 2.0 ........................ yes                                  
    OpenGL ES 3.0 ........................ no                                   
    OpenGL ES 3.1 ........................ no                                   
    OpenGL ES 3.2 ........................ no                                   
  Vulkan ................................. no                                   
  Session Management ..................... yes                                  
Features used by QPA backends:                                                  
  evdev .................................. yes                                  
  libinput ............................... no                                   
  INTEGRITY HID .......................... no                                   
  mtdev .................................. no                                   
  tslib .................................. no                                   
  xkbcommon .............................. no                                   
  X11 specific:                                                                 
    XLib ................................. yes                                  
    XCB Xlib ............................. yes                                  
    EGL on X11 ........................... yes                                  
QPA backends:                                                                   
  DirectFB ............................... no                                   
  EGLFS .................................. yes                                  
  EGLFS details:                                                                
    EGLFS OpenWFD ........................ no                                   
    EGLFS i.Mx6 .......................... no                                   
    EGLFS i.Mx6 Wayland .................. no                                   
    EGLFS RCAR ........................... no                                   
    EGLFS EGLDevice ...................... no                                   
    EGLFS GBM ............................ yes                                  
    EGLFS VSP2 ........................... no                                   
    EGLFS Mali ........................... yes                                  
    EGLFS Raspberry Pi ................... no                                   
    EGLFS X11 ............................ yes                                  
  LinuxFB ................................ yes                                  
  VNC .................................... yes                                  
  Mir client ............................. no                                   
Qt Sql:                                                                         
  SQL item models ........................ yes                                  
Qt Widgets:                                                                     
  GTK+ ................................... no                                   
  Styles ................................. Fusion Windows                       
Qt PrintSupport:                                                                
  CUPS ................................... no                                   
Qt Sql Drivers:                                                                 
  DB2 (IBM) .............................. no                                   
  InterBase .............................. no                                   
  MySql .................................. no                                   
  OCI (Oracle) ........................... no                                   
  ODBC ................................... no                                   
  PostgreSQL ............................. no                                   
  SQLite2 ................................ no                                   
  SQLite ................................. yes                                  
    Using system provided SQLite ......... no                                   
  TDS (Sybase) ........................... no                                   
Qt Testlib:                                                                     
  Tester for item models ................. yes                                  
Qt SerialBus:                                                                   
  Socket CAN ............................. yes                                  
  Socket CAN FD .......................... yes                                  
Further Image Formats:                                                          
  JasPer ................................. no                                   
  MNG .................................... no                                   
  TIFF ................................... yes                                  
    Using system libtiff ................. no                                   
  WEBP ................................... yes                                  
    Using system libwebp ................. no                                   
Qt Sensors:                                                                     
  sensorfw ............................... no                                   
QtXmlPatterns:                                                                  
  XML schema support ..................... yes                                  
Qt Multimedia:                                                                  
  ALSA ................................... no                                   
  GStreamer 1.0 .......................... no                                   
  GStreamer 0.10 ......................... no                                   
  Video for Linux ........................ yes                                  
  OpenAL ................................. no                                   
  PulseAudio ............................. no                                   
  Resource Policy (libresourceqt5) ....... no                                   
  Windows Audio Services ................. no                                   
  DirectShow ............................. no                                   
  Windows Media Foundation ............... no                                   
Qt Tools:                                                                       
  QDoc ................................... no                                   
                                                                                
WARNING: QDoc will not be compiled, probably because libclang could not be loca.
                                                                                
Either ensure that llvm-config is in your PATH environment variable, or set LLV.
On Linux systems, you may be able to install libclang by installing the libclan.
On macOS, you can use Homebrew's llvm package.                                  
On Windows, you must set LLVM_INSTALL_DIR to the installation path.             
                                                                                
Qt is now configured for building. Just run 'make'.                             
Once everything is built, you must run 'make install'.                          
Qt will be installed into '/home/odroid/qt/build'.                              
                                                                                
Prior to reconfiguration, make sure you remove any leftovers from the previous build.
혹시나해서 Qt 5.12.4로 EGL과 EGLFS-Mali 옵션까지 살려서 빌드했는데도 여전히 흰색 화면만 나오네요. :(
혹시 ./configure 옵션을 어떻게 주셨는지 알 수 있을까요?

User avatar
odroid
Site Admin
Posts: 31297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 44 times
Been thanked: 179 times
Contact:

Re: Odroid C2에서 Qt5 프로그램 드로잉 문제

Unread post by odroid » Fri Jul 12, 2019 9:24 am

빌드 시간을 줄이고 컴파일 에러를 없애기 위해 옵션을 많이 죽였습니다. make -j4 옵션으로 native 빌드 및 링크가 가능했고요. 참, zram-config apt로 설치해서 RAM-SWAP은 살려놓았습니다.

Code: Select all

./configure -prefix "/home/odroid/qt/build" -release -confirm-license -opensource -platform linux-aarch64-gnu-g++ -opengl es2 -no-pch -no-xcb -skip wayland -skip webengine -skip qtlocation -eglfs -skip qt3d -skip qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects
오늘 아침부터 외근이 있어서 다음주에 처음부터 좀 더 차분히 들여다 보도록 하겠습니다. 오기가 생겨서 끝을 보고 싶네요.

Post Reply

Return to “C0/C1/C1+/C2”

Who is online

Users browsing this forum: No registered users and 1 guest