Graphics and CPU load issues on Fedora 31 / Wayland-EGL

Bug #1850729 reported by Uwe Klotz on 2019-10-30
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Critical
Uwe Klotz

Bug Description

The RGB (GL) waveform widgets and spinnies are empty/transparent and the desktop background shines through. Tested with both 2.2.2 from RPM Fusion and a fresh build of 2.3.0 / master.

On Fedora 30 Mixxx had an idle CPU utilization of 15%. On Fedora 31 it starts at ~25%. When paying a track (keylock disabled) CPU utilizations increases by
15-20%. It drops down when unloading tracks but to a higher level than before. After playing and unloading the same track multiple times the idle CPU load is now at around ~70-80%, constantly rising with every loaded track.

Further more the task switcher icon is missing in GNOME on Wayland.

Workaround: Disable Qt Wayland explicitly by setting "export QT_QPA_PLATFORM=xcb"

...
Debug [Main]: Using Wayland-EGL
...
Debug [Main]: Set root GL Context widget valid: QGLWidget(0x56111df7f030) true
Debug [Main]: Created root GL Context valid: 0x56111cb377f0 true
Debug [Main]: Root GL Context format:
Debug [Main]: Double Buffering: true
Debug [Main]: Swap interval: 0
Debug [Main]: Depth buffer: true
Debug [Main]: Direct rendering: true
Debug [Main]: Has overlay: false
Debug [Main]: RGBA: true
Debug [Main]: Sample buffers: false
Debug [Main]: Samples: -1
Debug [Main]: Stencil buffers: true
Debug [Main]: Stereo: false
Debug [Main]: "openGLVersionFlags 0x107f" "3.0 Mesa 19.2.0" "Intel Open Source Technology Center" "Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2) "
...
Debug [Main]: WSpinny(): Created QGLWidget, Context Valid: true Sharing: true
Debug [Main]: WSpinny(): Created QGLWidget, Context Valid: true Sharing: true
Debug [Main]: Created QGLWidget. Context Valid: true Sharing: true
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
Debug [Main]: WaveformWidgetFactory::setWaveformWidget - waveform widget added in factory, index 0
Debug [Main]: WSpinny(): Created QGLWidget, Context Valid: true Sharing: true
Debug [Main]: WSpinny(): Created QGLWidget, Context Valid: true Sharing: true
Debug [Main]: Created QGLWidget. Context Valid: true Sharing: true
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
Debug [Main]: WaveformWidgetFactory::setWaveformWidget - waveform widget added in factory, index 1
Debug [Main]: WSpinny(): Created QGLWidget, Context Valid: true Sharing: true
Debug [Main]: WSpinny(): Created QGLWidget, Context Valid: true Sharing: true
Debug [Main]: Created QGLWidget. Context Valid: true Sharing: true
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
Debug [Main]: WaveformWidgetFactory::setWaveformWidget - waveform widget added in factory, index 2
Debug [Main]: WSpinny(): Created QGLWidget, Context Valid: true Sharing: true
Debug [Main]: WSpinny(): Created QGLWidget, Context Valid: true Sharing: true
Debug [Main]: Created QGLWidget. Context Valid: true Sharing: true
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
Debug [Main]: WaveformWidgetFactory::setWaveformWidget - waveform widget added in factory, index 3
...
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
Debug [Main]: QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
Warning [Main]: Non-toplevel surfaces can't request window states
...

Uwe Klotz (uklotzde) on 2019-10-30
description: updated
Uwe Klotz (uklotzde) on 2019-10-31
summary: - OpenGL issues on Fedora 31 / Wayland-EGL
+ Graphics and OpenGL issues on Fedora 31 / Wayland-EGL
description: updated
Uwe Klotz (uklotzde) on 2019-10-31
summary: - Graphics and OpenGL issues on Fedora 31 / Wayland-EGL
+ Graphics and CPU load issues on Fedora 31 / Wayland-EGL
description: updated
Uwe Klotz (uklotzde) on 2019-10-31
description: updated
Uwe Klotz (uklotzde) on 2019-11-01
Changed in mixxx:
milestone: none → 2.2.3
assignee: nobody → Uwe Klotz (uklotzde)
status: New → In Progress
importance: Undecided → Critical
Uwe Klotz (uklotzde) wrote :

Workaround is in place, everything else is out of scope.

Changed in mixxx:
status: In Progress → Fix Committed
Changed in mixxx:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers