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

Bug #1850729 reported by Uwe Klotz
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Critical
Unassigned

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
...

Tags: waveform
description: updated
summary: - OpenGL issues on Fedora 31 / Wayland-EGL
+ Graphics and OpenGL issues on Fedora 31 / Wayland-EGL
description: updated
summary: - Graphics and OpenGL issues on Fedora 31 / Wayland-EGL
+ Graphics and CPU load issues on Fedora 31 / Wayland-EGL
description: updated
description: updated
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :
Changed in mixxx:
milestone: none → 2.2.3
assignee: nobody → Uwe Klotz (uklotzde)
status: New → In Progress
importance: Undecided → Critical
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) 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
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/9787

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.