일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 학부생
- headless server
- OSMesa
- OpenGL
- offscreen-rendering
- frame stack
- 혼자여행
- lvmdriver-1
- DeepLearning
- 에비스 맥주
- Azure Linux
- 일본 혼자 여행
- 군입대 전 여행
- vogl
- scratchapixel
- c-vol.service
- GoogleCloud
- 시부야 여행
- 에비스 맥주 기념관
- Azure Ubuntu VM
- 도쿄 혼자 여행
- OpenStack
- 논문리뷰
- graphics programming
- 편의점 당고
- cinder-volume
- 도쿄여행
- Azure Linux VM
- cloudvm
- devstack
- Today
- Total
사월의눈의 DevBlog
CLI 환경에서의 OpenGL Debugger 본문
CLI 환경에서 OpenGL Debugger나 API Tracer를 찾아보려고 오늘 하루종일 끙끙 앓으며 찾아 다녔다.
자주 사용되는 apitrace로 opengl api call tracing을 해보려고 해봤는데, headless server라서 display가 없는게
문제가 되는지 아무런 .trace 파일도 생성되지 않는다.
Valve의 vogl가 command line interface를 제공하는 것 같아서 빌드해보려 했지만, ubuntu 18.04 64 bit에서 이슈가 있는지
list index: 1 out of range (-1, 0)
라는 cmake 에러메시지가 발생한다.
이외에 여러 다른 툴들을 시도해봤지만 제대로 동작하는 것 같지가 않다. 답답한 마음에 reddit에 질문 글을 올렸는데, 한 유저가 Renderdoc을 사용해보라고 써보진 않았지만 command line 버젼도 제공한다고 하여 바로 시도해봤다.
https://www.reddit.com/r/opengl/comments/fom100/need_command_line_debugger_for_headless_server/
Need command line debugger for headless server.
Hello. I'm developing serverside opengl offscreen renderer. Because of my private reasons, i cannot use GUI for development. (cannot use any...
www.reddit.com
결과는 역시나 아무런 caputre 파일이 생성되지가 않는다. 내가 잘못 사용하고있는건가 싶어 코드를 까봤는데 역시나 디스플레이를 여는 부분이 있다. 이러니 아무런 반응이 없지..
결국은 apitrace로 돌아왔다. Documentation을 보면 Linux 사용자를 위해 LD_PRELOAD변수에 libGLX, libEGL wrapper로 덮어 씌워 실행시킨 사용자 OpenGL 프로그램을 apitrace로 분석하는 방법을 설명해주고 있다.
하지만 나같이 Headless server에서 OSMesa dependency로 opengl context를 생성하는 사용자를 위한 옵션은 없었다. 분명 나같은 사용자가 있을거 같아서 issue를 뒤져봤는데 있었다.
https://github.com/apitrace/apitrace/issues/525
OSMesa support · Issue #525 · apitrace/apitrace
It would be nice to have OSMesa API support. Currently, taking traces with osmesa apps ignores the osmesa calls, ending up with non-replayable traces.
github.com
개발자 말로는 해당 이슈가 자신의 우선순위에 있지 않아서 구현하지를 못할 것 같다며, 하지만 OSMesa support를 구현하는 것은 쉽다며 그 방법을 설명해주며 사용자의 몫으로 넘겼다. Pull request를 봐도 아직 osmesa support를 구현한 사람은 없는듯 하다.
'Real Time Rendering > OpenGL' 카테고리의 다른 글
[Scratchapixel] (Geometry) Points, Vectors and Normals (0) | 2020.07.19 |
---|---|
OpenGL Segmentation Fault [Solved] (0) | 2020.04.04 |
ffmpeg을 이용하여 OpenGL Offscreen rendering (1) | 2020.03.26 |