Spinny on Deck1 broken on 2.3

Bug #1895427 reported by Jörg Wartenberg
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
High
Jörg Wartenberg

Bug Description

I tested https://github.com/mixxxdj/mixxx/pull/3092 6d3f66f build on Windows7 64Bit.

If I enable Spinny/CoverArt, it appears correct on Deck2, but on Deck1 the Coverart is scaled too large and the Spinny is not visible at all.

In the output I see thousands of lines with this message:
Warning [Main]: QWindowsEGLContext::swapBuffers: Failed to swap buffers. eglError: 12301, this: 0x19ce22f0
Warning [Main]: QWindowsEGLContext::swapBuffers: Failed to swap buffers. eglError: 12301, this: 0x19ce22f0
Warning [Main]: QWindowsEGLContext::swapBuffers: Failed to swap buffers. eglError: 12301, this: 0x19ce22f0

I don't think, that this is related to OpenGL or my graphic card, because Mixxx 2.2.3 renders the Spinnys/Coverart flawless.

See screenshotwith the same drack loaded in Deck1 and Deck2.

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
ronso0 (ronso0) wrote :

How does it look like in other skins?
Does selecting another spinny size in the skin settings make a difference?

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

I added some more screenshots with more decks and different skins.

Revision history for this message
ronso0 (ronso0) wrote :

which Qt version do you use?

Does moving the window refresh those widgets or are they just stuck in the state you posted?
Does playing a track cause the spinnies to move or are they entirely screwed?

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

I use Qt-5.14.2 from the 2.3-j00019-x64-release-fastbuild-static-55e94982-minimal archive.

Moving doesn't refresh the broken widgets. It seems they are never refreshed.
Playing doesn't cause these spinnies to move. On the decks which are initially correct, they work as intended.

Under some circumstances the broken widget content is overwriten with other broken content. I will add screenshots.

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

The screenshots above are captured in the order, in which I attached them.
These new screenshots are from a diffrent build (JoergAtGithub:Traktor-Z2-2.3), than the screenshots before. But the behaviour is the same.

Revision history for this message
coursenligne (dj-rick) wrote :

Hi all,
Thanks for the complete and nice description, this is far better than mine on the forum!
I just wanted to confirm the same bug under Win 10

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

I noticed, that the waveforms in Master are affected too. They only work, if a non OpenGL type is selected in the preferences. In 2.3 the list of waveform types in the preferences doesn't contain the OpenGL waveform types.

Be (be.ing)
Changed in mixxx:
importance: Undecided → High
milestone: none → 2.3.0
status: New → Confirmed
Revision history for this message
ronso0 (ronso0) wrote :

which Qt version are used by our 2.3 windows builds?

Revision history for this message
Be (be.ing) wrote :

Is this still an issue? I am wondering if maybe the recent skin refactoring in https://github.com/mixxxdj/mixxx/pull/3144 happened to fix this bug too.

Windows builds are using Qt 5.14.2 currently.

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

This issue is still there!

Revision history for this message
Be (be.ing) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

I tested the build you provided. This does not recognize OpenGL at all.

Revision history for this message
Be (be.ing) wrote :

None of those look right. Why are the GL and GL SL renderers not available? Mixxx should only fall back on ANGLE in exceptional circumstances where no OpenGL driver is available.

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

For reference, I just switched back to Mixxx 2.2.4 from the official download. The spinnies and Open GL waveforms work there, but it also uses ANGLE.
Note: The frame rate is so low, because I just compiling Mixxx in the background.

Revision history for this message
Be (be.ing) wrote :

Do you not have the driver for your GPU installed? https://downloadcenter.intel.com/product/81500/Intel-HD-Graphics-3000

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

Attached the version of my graphics driver. It supports OpenGL 3.1.

Revision history for this message
Be (be.ing) wrote :

Maybe caused by https://github.com/mixxxdj/mixxx/pull/2114 ? Could you try reverting that or building a commit just before that was merged?

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

I tried, but reverting produces merge conflicts I can't solve and the checked out version is not buildable

Revision history for this message
Be (be.ing) wrote :
Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

I build with https://downloads.mixxx.org/builds/buildserver/2.3.x-windows/2.3-j00013-x64-release-fastbuild-static-36f44bd2-minimal.zip

Latest 2.3 -> fail
ef2548e2c03d5b3568352c4a1ef9f45848a8add1 -> fail
84bb67045c68f351c264efa5118cf29ebdfa0182 -> fail
f781261373c266449561211ba050a33b8d030a4e -> not buildable

Revision history for this message
Be (be.ing) wrote :

By "fail", do you mean the bug also is present when building with the old build environment?

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

Yes

Revision history for this message
Be (be.ing) wrote :

I'm out of ideas to try.

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

How do you build the 2.2.x release binaries for Windows? What's the latest version of the 2.3 branch, which can be build by the 2.2.x build environment?

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

I did a lot of builds, of early 2.3 versions:

112ad45cdffca3a2d9f93e76628198ec553ac119 from 21 Jan 2019 with 2.3-j00013-x64-release-fastbuild-static-36f44bd2-minimal -> fail (No OGL version displayed in preferences but GL ES waveforms are selectable)
7d5400a548bab84d07245b70b9cb7d64b9f3af9d from 2 Jan 2019 with 2.3-j00013-x64-release-fastbuild-static-36f44bd2-minimal -> fail (No OGL version displayed in preferences but GL ES waveforms are selectable)
10301fd60fc67dd68870f0c4b60cf4744c6a3b5b from 25 Dec 2018 with 2.3-j00013-x64-release-fastbuild-static-36f44bd2-minimal -> fail (No OGL version displayed in preferences but GL ES and GL waveforms are selectable)
10301fd60fc67dd68870f0c4b60cf4744c6a3b5b from 25 Dec 2018 with 2.3-j00007-x64-release-fastbuild-static-8dd29775-minimal -> spinnies pass (No OGL version displayed in preferences but spinnies and QtGL waveforms OK, GL -> only beatgrid visible, GLSL nothing displayed)
d9d7ea6404de71c86beacfc86f9087dc8db0fc58 from 24 Dec 2018 with 2.2-j00018-x64-release-fastbuild-static-778c17b-minimal -> spinnies pass (No OGL version displayed in preferences but spinnies and QtGL waveforms OK, GL -> only beatgrid visible, GLSL nothing displayed)
e2c78b37ba8e311ff6ba92243473584b4c3d80ea from 23 Dec 2018 with 2.2-j00018-x64-release-fastbuild-static-778c17b-minimal -> spinnies pass (No OGL version displayed in preferences but spinnies and QtGL waveforms OK, GL -> only beatgrid visible, GLSL nothing displayed)
f781261373c266449561211ba050a33b8d030a4e from 21 Nov 2018 with 2.2-j00018-x64-release-fastbuild-static-778c17b-minimal -> spinnies pass (No OGL version displayed in preferences but spinnies and QtGL waveforms OK, GL -> only beatgrid visible, GLSL nothing displayed)

Summary:
Both, the Spinnies and "Qt GL" waveforms work flawless with 10301fd60fc67dd68870f0c4b60cf4744c6a3b5b if it's build with 2.3-j00007-x64-release-fastbuild-static-8dd29775-minimal, but they show the failures if build with 2.3-j00013-x64-release-fastbuild-static-36f44bd2-minimal. One of the changes is the Qt version upgrade from 5.11.2 to 5.12.

Revision history for this message
Be (be.ing) wrote :

Thank you for investigating this. So it seems that the bug is caused by changes in Qt rather than changes in Mixxx. I am not sure if we are encountering a bug in Qt or if we need to update the Mixxx code somehow to account for changes in Qt. Would you be able to try building the latest 2.3 branch with Qt 5.15.2? You can download it at https://download.qt.io/official_releases/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz

Revision history for this message
Be (be.ing) wrote :

Downgrading to Qt 5.11 could be an option if we don't find a better solution. Originally we wanted Qt 5.12 for 2.3 because we thought we'd be moving to QJSEngine which added ES7 support in Qt 5.12. But the QJSEngine branch was merged to main for Mixxx 2.4. Qt 5.14 brought a nice improvement for Windows in supporting fractional scale factors, so it would be better to switch to Qt 5.15 than 5.11 if we can.

Alternatively if we can figure out how to change the Mixxx cdoe to work with newer Qt versions that could be a solution.

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

Define a Windows environment variable "QT_OPENGL" and set it to "desktop" solved the problem for me

Revision history for this message
Jörg Wartenberg (joerg-ubuntu) wrote :

I recompiled Mixxx 2.3 with the latest prebuild binaries 2.3_j00019 and tried different versions of the ANGLE library DLL files (libEGL.dll and libGLESv2.dll):
-As reported above, the ANGLE DLLs comming with 2.3_j00019 show broken spinnies
-With the ANGLE DLLs in the dist64 directory replaced by the DLLs comming with 2.3_j00007 everything works and it feels more responsive, than with ANGLE disabled
-With the ANGLE DLLs shipped with Firefox 83 (I expect they use the latest ANGLE lib) the Spinnies and GL waveforms fail again

Be (be.ing)
Changed in mixxx:
status: Confirmed → In Progress
assignee: nobody → Be (be.ing)
assignee: Be (be.ing) → nobody
assignee: nobody → Jörg Wartenberg (joerg-ubuntu)
Revision history for this message
Be (be.ing) wrote :
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/10107

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.