MuseScore crashes when displaying splash screen due to OpenGL 2.0 support missing

• Sep 16, 2018 - 17:27
Reported version
3.0
Priority
P2 - Medium
Type
Functional
Frequency
Few
Severity
S1 - Blocker
Reproducibility
Randomly
Status
closed
Regression
No
Workaround
Yes
Project

Hello,

on my system (Windows 10 64bit, latest build) the nightly build as well as the 3.0 alpha build crash when showing the splash screen. The splash screen shows a cymbal and the text "cymbals suspend and crash".

I tried various builds (actually the oldest and the latest one from the download archive, so from 6th Sept. to 15th September, and all of them crash.

Please let me know what I kind of tests I can run to help you identify the cause of the crash.

Many thanks
Reiner


Comments

Spin off from https://musescore.org/en/node/275837#comment-852865 where you also had an error log attached. That log at its beginning hints at problems with OpenGL:

Failed to load libEGL (Das angegebene Modul wurde nicht gefunden.)
QWindowsEGLStaticContext::create: Failed to load and resolve libEGL functions
Failed to load opengl32sw.dll (Das angegebene Modul wurde nicht gefunden.)
Failed to load and resolve WGL/OpenGL functions

Maybe https://musescore.org/en/node/269954#comment-822859 helps here?

Thank you for your reply!

I don't think this applies though, that post was regarding a rpoblem with a plugin (and presumably MuseScore itself working?). Anyway, my system uses Intel on-chip graphics (old one, CPU is a i5-2500K) with latest drivers from Intel. The Intel tool mentioned in the other thread reports that no update is available at this time.

So, if the OpenGL support (or lack thereof) with that old INTEL graphics is causing this that would mean that MuseScore will not launch on quite many PCs?

Any other idea what I could check?

Regards
Reiner

just tried the latest build, no change. The splashscreen appears and after 2-3 seconds disappears again, that's all that happens. I did not have any previous development build installed, so I guess it should open the window asking for language preferences etc.

Is there an archive with older development builds that I can try to see between which builds this got broke?

Or a debug option that might produce helpful output?

Thanks
Reiner

Seems this came up again in https://musescore.org/en/node/277957, here with this hint:

Install a driver providing OpenGL 2.0 or higher, or, if this is not possible, make sure the ANGLE Open GL ES 2.0 emulation libraries (libEGL.dll, libGLESv2.dll and d3dcompiler_*.dll) are available in the application executable's directory or in a location listed in PATH.

Same symptom with me (also on Windows 10 x64), all the builds (3.0.. and nightly) crash at screen start up BUT not if the "-s" is added ("nightly.exe -s"), so no sound no synth no midi in this case, but no crash.
I use for my general sound Asio Usb from my Focusrite Scarlett 2i4, if it can help.
Edit : I've tried without ASIO, default Realtek audio, crash also

In reply to by reiners

I don't know much about this topic, but it seems that Musescore 3 could utilize an OpenGl emulator to be able to run on older laptops with Windows (see my question at https://musescore.org/en/node/277957).

"ANGLE (Almost Native Graphics Layer Engine) is an open source, BSD-licensed graphics engine abstraction layer developed by Google. The API is mainly designed to bring high-performance OpenGL compatibility to Windows computers and to web browsers such as Chromium by translating OpenGL calls to Direct3D, which has much better driver support. There are two backend renderers for ANGLE: the oldest one uses Direct3D 9.0c, while the newer one uses Direct3D 11."

Musescore 3 won't run on my laptop even though it has Directx (Direct3d) 12.

In reply to by Jojo-Schmitz

No OpenGL message, just crash. (I don't know how to read error log); like the first post here.
I have Tried all options -F, etc, always crah the only way to start is with -s
Edit : I found logs error in windows, i have this ntdll.dll error for all tries:
Nom de l’application défaillante nightly.exe, version : 0.0.0.0, horodatage : 0x5be2f2c6
Nom du module défaillant : ntdll.dll, version : 10.0.16299.547, horodatage : 0x1ef3a73c
Code d’exception : 0xc0000026
Décalage d’erreur : 0x0000000000002b10
ID du processus défaillant : 0x2314
Heure de début de l’application défaillante : 0x01d47803cfbfd30f
Chemin d’accès de l’application défaillante : C:\Users\Utilisateur\Desktop\Music\Misc\MuseScoreNightly\bin\nightly.exe
Chemin d’accès du module défaillant: C:\WINDOWS\SYSTEM32\ntdll.dll
ID de rapport : 973d81af-6d4c-49a9-947a-a777ca7da2e8
Nom complet du package défaillant :
ID de l’application relative au package défaillant :

Title MuseScore crashes when displaying splash screen MuseScore crashes when displaying splash screen due to OpenGL 2.0 support missing

Let's try to clarify the issue title

no. a) I can't delete nor move, b) I wouldn't know where to and c) is pretty surely is not a ntdll.dd issue (don't beat the messanger ;-)

You could try unpacking the attached DLLs into the MuseScore bin directory (next to nightly.exe) and check whether that fixed the crash?
I took them straight from Qt 5.12.0 beta4's C:\Qt\5.12.0\msvc2017_64\bin directory

Attachment Size
ANGLEdlls.zip 2.87 MB

In reply to by Jojo-Schmitz

That was an easy fix. All I had to do was place those attached files in the same directory as the MuseScore.exe file of the Alpha2 release to remove the error and prevent the app from crashing.

Your submitted build (https://ci.appveyor.com/project/MuseScore/musescore/builds/20170314/art…) works "out of the box". Should Alpha2 be immediately released with this fix to make it testable on older computers such as mine, which is probably rather typical?

Workaround No Yes

so those DLLs serve as a workaround, as well as the AppVeyor Artifact ;-)
Alpha 2 is out since a while, don't think this warrants an Alpha 3, once the PR got merged you can use a development build

In reply to by Jojo-Schmitz

Removing d3dcompiler_47.dll from the bin directory didn't produce the splash error, so it appears to be redundant, not required. On the other hand, both libEGL.dll and libGLESv2.dll are required. Interestingly though, when I go to delete d3dcompiler_47.dll while musescore is running, I get a windows box saying that this action can not be completed because the file is open in nighly.exe, which implies that nightly.exe is referencing the file. However, as I mentioned, removing it doesn't appear to effect the graphical functioning of the app.

In reply to by Jojo-Schmitz

According to the QT wiki on Windows_ANGLE_and_OpenGL, d3dcompiler_XX.dll is included in recent Windows operating systems by default, which appears to include updated Windows Server 2012, Windows 7, and Windows Server 2008 R2 (https://support.microsoft.com/en-ca/help/4019990/update-for-the-d3dcomp…). As I mentioned, Musescore's performance was not affected when I removed the d3dcompiler.dll from the Musescore folder in my Windows 10. So it seems safe not to include it with Musescore, although It would be interesting to test a Musescore 3 build without d3dcompiler_XX.dll in an updated Windows XP 64bit OS.

https://wiki.qt.io/Qt_5_on_Windows_ANGLE_and_OpenGL
"If ANGLE is used in your application, you should normally ship d3dcompiler_XX.dll along with the Qt libraries, although on recent Windows versions it comes with the operating system. ANGLE will automatically try to load the newest version it can find, or you can override loading by setting the environment variable QT_D3DCOMPILER_DLL to the name of the compiler DLL you want to use (e.g. "d3dcompiler_47.dll")."