[Nouveau] MediaWriter & Nouveau

poma pomidorabelisima at gmail.com
Thu Nov 3 07:17:51 UTC 2016


[...]

= "basic" render

$ QSG_INFO=1 mediawriter 
Debug: QSG: basic render loop ((null):0, (null))
Debug: texture atlas dimensions: 1024x512 ((null):0, (null))
Debug: R/G/B/A Buffers:    8 8 8 0 ((null):0, (null))
Debug: Depth Buffer:       24 ((null):0, (null))
Debug: Stencil Buffer:     8 ((null):0, (null))
Debug: Samples:            -1 ((null):0, (null))
Debug: GL_VENDOR:          nouveau ((null):0, (null))
Debug: GL_RENDERER:        Gallium 0.4 on NV98 ((null):0, (null))
Debug: GL_VERSION:         3.0 Mesa 13.0.0-rc2 ((null):0, (null))
Debug: GL_EXTENSIONS:      ...
Debug: Max Texture Size:  8192 ((null):0, (null))
Debug: Debug context:     false ((null):0, (null))
...

$ ps -C mediawriter -o cmd,%cpu
CMD                         %CPU
mediawriter                 30.1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

= "windows" render

$ QSG_INFO=1 QSG_RENDER_LOOP=windows mediawriter
Debug: windows render loop ((null):0, (null))
Debug: Using sg animation driver ((null):0, (null))
Debug: Animation Driver: using vsync: 16.67 ms ((null):0, (null))
Debug: texture atlas dimensions: 1024x512 ((null):0, (null))
Debug: R/G/B/A Buffers:    8 8 8 0 ((null):0, (null))
Debug: Depth Buffer:       24 ((null):0, (null))
Debug: Stencil Buffer:     8 ((null):0, (null))
Debug: Samples:            -1 ((null):0, (null))
Debug: GL_VENDOR:          nouveau ((null):0, (null))
Debug: GL_RENDERER:        Gallium 0.4 on NV98 ((null):0, (null))
Debug: GL_VERSION:         3.0 Mesa 13.0.0-rc2 ((null):0, (null))
Debug: GL_EXTENSIONS:      ...
Debug: Max Texture Size:  8192 ((null):0, (null))
Debug: Debug context:     false ((null):0, (null))
...

$ ps -C mediawriter -o cmd,%cpu
CMD                         %CPU
mediawriter                 41.2

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

= "threaded" render

$ QSG_INFO=1 QSG_RENDER_LOOP=threaded mediawriter
Debug: threaded render loop ((null):0, (null))
Debug: Using sg animation driver ((null):0, (null))
Debug: Animation Driver: using vsync: 16.67 ms ((null):0, (null))
Debug: Animation Driver: using vsync: 16.67 ms ((null):0, (null))
Debug: texture atlas dimensions: 1024x512 ((null):0, (null))
Debug: R/G/B/A Buffers:    8 8 8 0 ((null):0, (null))
Debug: Depth Buffer:       24 ((null):0, (null))
Debug: Stencil Buffer:     8 ((null):0, (null))
Debug: Samples:            -1 ((null):0, (null))
Debug: GL_VENDOR:          nouveau ((null):0, (null))
Debug: GL_RENDERER:        Gallium 0.4 on NV98 ((null):0, (null))
Debug: GL_VERSION:         3.0 Mesa 13.0.0-rc2 ((null):0, (null))
Debug: GL_EXTENSIONS:      ...
Debug: Max Texture Size:  8192 ((null):0, (null))
Debug: Debug context:     false ((null):0, (null))
...

$ ps -C mediawriter -o cmd,%cpu
CMD                         %CPU
mediawriter                 18.3

...
Debug: animation driver switched to timer mode ((null):0, (null))
Debug: animation driver switched to vsync mode ((null):0, (null))
Debug: Animation Driver: using vsync: 16.67 ms ((null):0, (null))
Debug: texture atlas dimensions: 1024x512 ((null):0, (null))
Segmentation fault (core dumped)

QSGRenderThread[8636]: segfault at 8 ip 00007f9138a4320f sp 00007f911cd908f0 error 4 in libdrm_nouveau.so.2.0.0[7f9138a3f000+7000]

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

= About

$ rpm -q mediawriter 
mediawriter-4.0.3-2.fc26.x86_64

built without "threaded" render:
$ grep sed mediawriter.spec -A2
sed -i /threaded/s/^/\\/\\// app/main.cpp

%build

$ rpm -q qt5-qtbase-devel qt5-qtdeclarative-devel
qt5-qtbase-devel-5.7.0-9.fc26.x86_64
qt5-qtdeclarative-devel-5.7.0-2.fc25.x86_64

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

= Conclusion
>From the nouveau perspective, "threaded" render is "out of scope".


Ref.
Force threaded run loop for QML - Fixes high CPU load
https://github.com/MartinBriza/MediaWriter/commit/63492f4

Qt Quick Scene Graph - Scene Graph and Rendering
https://doc.qt.io/qt-5/qtquick-visualcanvas-scenegraph.html#scene-graph-and-rendering




More information about the Nouveau mailing list