Summary: | Startup stuck at Loading tools | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | ivar.ekman |
Component: | Bundle-Windows | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | benedekppeter, caulier.gilles, metzpinguin |
Priority: | NOR | ||
Version: | 8.3.0 | ||
Target Milestone: | --- | ||
Platform: | Microsoft Windows | ||
OS: | Microsoft Windows | ||
Latest Commit: | Version Fixed In: | 8.3.0 | |
Sentry Crash Report: | |||
Attachments: |
Debug log
8.2.0 debug log 8.1.0 debug log on same machine. Starting version 8.1.0 works digiKam 8.3 not start on old computer Log with opengl32sw |
Description
ivar.ekman
2023-12-29 10:02:21 UTC
Created attachment 164531 [details]
8.2.0 debug log
Added debug log for 8.2.0 that fails to start identically as latest 8.3.0.
Created attachment 164532 [details]
8.1.0 debug log on same machine. Starting version 8.1.0 works
Added debug log for version 8.1.0 which does start successfully on the same machine. That is, the error has started in version 8.2.0
The log shows no performance problem. But it contains error message related to openGL. It's possible that Qt6 requires some form of hardware acceleration. I can reproduce something similar here on Linux, when I force native widgets for digiKam, nothing is displayed in the main window. Is this the standard Windows graphics driver or did you install one from the manufacturer? Is there an update for the graphics driver? [10612] Failed to load opengl32sw (The specified module could not be found.) [10612] Failed to load and resolve WGL/OpenGL functions [10612] D3D11 smoke test failed (failed to create vertex shader) In fact, these error messages also exist in digiKam-8.2.0, but not in digiKam-8.1.0. Maik @Gilles, we may have to include this file (opengl32sw) because it has this bug: https://bugreports.qt.io/browse/QTBUG-58953 Maik This is a relatively old machine, ThinkPad x220 (or sth like this, I'm not at it now) and it's not getting proper updates anymore. It's running what Windows Update has provided. Unfortunately, I can check details only in some weeks next. Now I'm not by the machine anymore. Maik, I take a look about opengl32sw Gilles opengl32sw.dll is not present on my Windows 10 VM. In C: and E: Gilles ok this dll sounds built with Mesa VCPKG package. Installing Mesa requires llvm compiler, and... to recompile all (i think) : Computing installation plan... The following packages will be built and installed: * atl:x64-windows -> 0 * llvm[clang,core,default-targets,enable-bindings,enable-rtti,enable-terminfo,enable-zlib,enable-zstd,libclc,lld,target-x86,tools]:x64-windows -> 17.0.2#1 mesa[core,default-features,gles1,gles2,llvm,opengl]:x64-windows -> 23.2.1 Additional packages (*) will be modified to complete this operation. Detecting compiler hash for triplet x64-windows... Restored 0 package(s) from C:\Users\gilles\AppData\Local\vcpkg\archives in 223 us. Use --debug to see more details. Installing 1/3 atl:x64-windows... Building atl:x64-windows... -- Performing post-build validation Stored binaries in 1 destinations in 39.7 ms. Elapsed time to handle atl:x64-windows: 900 ms Installing 2/3 llvm:x64-windows... Building llvm[clang,core,default-targets,enable-bindings,enable-rtti,enable-terminfo,enable-zlib,enable-zstd,libclc,lld,target-x86,tools]:x64-windows... -- Note: llvm only supports static library linkage. Building static library. -- Downloading https://github.com/llvm/llvm-project/archive/llvmorg-17.0.2.tar.gz -> llvm-llvm-project-llvmorg-17.0.2.tar.gz... -- Extracting source E:/d/llvm-llvm-project-llvmorg-17.0.2.tar.gz -- Applying patch 0001-fix-install-package-dir.patch -- Applying patch 0002-fix-tools-install-dir.patch -- Applying patch 0003-fix-llvm-config.patch -- Applying patch 0004-disable-libomp-aliases.patch -- Applying patch 0005-remove-numpy.patch -- Applying patch 0006-create-destination-mlir-directory.patch -- Applying patch 0007-fix-compiler-rt-warnings.patch -- Using source at E:/b/llvm/src/org-17.0.2-1f7ed5ae6e.clean -- Found external ninja('1.11.0'). -- Getting CMake variables for x64-windows -- Configuring x64-windows ... Git commit 08aa5071609262e1804a523c8a934fdd4267b50c by Gilles Caulier. Committed on 29/12/2023 at 14:16. Pushed by cgilles into branch 'master'. Installing mesa for Qt6 runtime. M +1 -0 project/bundles/vcpkg/01-build-vcpkg.sh M +1 -1 project/bundles/vcpkg/config.sh https://invent.kde.org/graphics/digikam/-/commit/08aa5071609262e1804a523c8a934fdd4267b50c Maik, I just started a fresh build of VCPKG on the windows 10 VM, including Mesa, Qt 6.6.1 and last KF6 frameworks. I backup the VM before of course. Please wait... (:=))) Gilles @Gilles look at the Qt bug report, it is supposed to download the software renderer OpenGL from Qt. https://bugreports.qt.io/browse/QTBUG-58953 http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/ Maik We will see in 30 minutes when Mesa will be compiled and installed. If this dll is present, i will copy the file in the bundle as well. Maik, Mesa is compiled and installed: https://i.imgur.com/wwxfdni.png As you can see opengl32.dll is present (not the *sw* version). Note : QtWebEngine 6.6.1 is always in progress... It take time... Gilles Hi Maik, Voilà First stage of VCPK is done, after 15h to compile... -- Installing: E:/dk/x64-windows/share/locale/fr/LC_MESSAGES/exiv2.mo -- Installing: E:/dk/x64-windows/share/locale/gl/LC_MESSAGES/exiv2.mo -- Installing: E:/dk/x64-windows/share/locale/ms/LC_MESSAGES/exiv2.mo -- Installing: E:/dk/x64-windows/share/locale/nl/LC_MESSAGES/exiv2.mo -- Installing: E:/dk/x64-windows/share/locale/pl/LC_MESSAGES/exiv2.mo -- Installing: E:/dk/x64-windows/share/locale/pt/LC_MESSAGES/exiv2.mo -- Installing: E:/dk/x64-windows/share/locale/ru/LC_MESSAGES/exiv2.mo -- Installing: E:/dk/x64-windows/share/locale/sk/LC_MESSAGES/exiv2.mo -- Installing: E:/dk/x64-windows/share/locale/sv/LC_MESSAGES/exiv2.mo -- Installing: E:/dk/x64-windows/share/locale/ug/LC_MESSAGES/exiv2.mo -- Installing: E:/dk/x64-windows/share/locale/uk/LC_MESSAGES/exiv2.mo -- Installing: E:/dk/x64-windows/share/locale/vi/LC_MESSAGES/exiv2.mo Completed 'ext_exiv2' Elaspsed time for script execution : 15 hours 43 minutes 24 seconds gilles@Win10 MINGW64 ~/Documents/digikam/project/bundles/vcpkg (master) $ ./02-build-extralibs.sh 02-build-extralibs.sh : build extra libraries. ... The rest will arrives quickly i think. I hope that current KF6 code compile under Windows... Gilles ki18n is currently broken : -- Looking for dngettext - not found -- libintl is a separate library. -- Found LibIntl: E:/dk/x64-windows/include -- Performing Test HAVE_NL_MSG_CAT_CNTR -- Performing Test HAVE_NL_MSG_CAT_CNTR - Failed -- Could NOT find IsoCodes (missing: IsoCodes_DOMAINS IsoCodes_PREFIX) CMake Error at C:/Program Files/CMake/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find Python3 (missing: Python3_EXECUTABLE Interpreter) Call Stack (most recent call first): C:/Program Files/CMake/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE) C:/Program Files/CMake/share/cmake-3.27/Modules/FindPython/Support.cmake:3824 (find_package_handle_standard_args) C:/Program Files/CMake/share/cmake-3.27/Modules/FindPython3.cmake:545 (include) CMakeLists.txt:63 (find_package) -- Configuring incomplete, errors occurred! C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(249,5): error MSB8066: Custom build for 'E:\b\dk_cmake\CMakeFiles\311a12a44ec6f16c930b77135844ad78\ext_ki18n-mkdir.rule;E:\b\dk_cmake\CMakeFiles\311a12a44ec6f16c930b77135844ad78\ext_ki18n-download.rule;E:\b\dk_cmake\CMakeFiles\311a12a44ec6f16c930b77135844ad78\ext_ki18n-update.rule;E:\b\dk_cmake\CMakeFiles\311a12a44ec6f16c930b77135844ad78\ext_ki18n-patch.rule;E:\b\dk_cmake\CMakeFiles\311a12a44ec6f16c930b77135844ad78\ext_ki18n-configure.rule;E:\b\dk_cmake\CMakeFiles\311a12a44ec6f16c930b77135844ad78\ext_ki18n-build.rule;E:\b\dk_cmake\CMakeFiles\311a12a44ec6f16c930b77135844ad78\ext_ki18n-install.rule;E:\b\dk_cmake\CMakeFiles\a320397c9c3dec048511d453bf6ab1a2\ext_ki18n-complete.rule;E:\b\dk_cmake\CMakeFiles\a48d5caa89e7450e32324eb8aab4b3f8\ext_ki18n.rule;C:\Users\gilles\Documents\digikam\project\bundles\3rdparty\ext_kf6\CMakeLists.txt' exited with code 1. [E:\b\dk_cmake\ext_kf6\ext_ki18n.vcxproj] FAILED COMMAND: cmake --build . --parallel --config RelWithDebInfo --target ext_ki18n gilles@Win10 MINGW64 ~/Documents/digikam/project/bundles/vcpkg (master) Voilà ki18n depends of IsoCodes project now : https://salsa.debian.org/iso-codes-team/iso-codes A wonderful automake dependency, impossible to compile under Windows without to re-invents the fire. All that is hate in open source... Gilles Maik, digiKam bundle is now under progress... All must be ready in few hours... Gilles Maik, The scan dependencies at the last stage of bundle build detect the link from Qt6OpenGl to Mesa : Scan dependencies for /e/dk/x64-windows/Qt6/plugins/digikam/generic/Generic_GLViewer_Plugin.dll Scan dependencies for /e/dk/x64-windows/bin/Qt6OpenGLWidgets.dll Scan dependencies for /e/dk/x64-windows/bin/OPENGL32.dll <==== !!!!! Scan dependencies for /e/dk/x64-windows/bin/libgallium_wgl.dll Scan dependencies for /e/dk/x64-windows/bin/libglapi.dll So Mesa will be automatically included in the bundle as expected... Gilles Voilà. The new 8.3.0 pre-release Windows Installer based on Mesa, Qt 6.6.1, and last KF6 frameworks are online at usual place: https://files.kde.org/digikam/ Please install as well and report if the problem still reproducible (or any others). Best regards Gilles Caulier (In reply to caulier.gilles from comment #20) > Voilà. > > The new 8.3.0 pre-release Windows Installer based on Mesa, Qt 6.6.1, and > last KF6 frameworks are online at usual place: > > https://files.kde.org/digikam/ > > Please install as well and report if the problem still reproducible (or any > others). > > Best regards > > Gilles Caulier I tested digiKam-8.3.0-20240102T090012-Win64.exe version on old computer, and I can reproduce this fault. Graphics: Intel(R) G41 Express Chipset (Microsoft Corporation - WDDM 1.1) The digiKam 8.3 does not start (in the same place the digiKam 8.2 start within 20 seconds). The program did not start, I stopped loading after 3 minutes. Created attachment 164621 [details]
digiKam 8.3 not start on old computer
Peter, can you download this file for testing, unzip it and copy it to the C:\Program Files\digiKam folder? https://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64-mesa_11_2_2-signed_sha256.7z Maik (In reply to Maik Qualmann from comment #23) > Peter, can you download this file for testing, unzip it and copy it to the > C:\Program Files\digiKam folder? > > https://download.qt.io/development_releases/prebuilt/llvmpipe/windows/ > opengl32sw-64-mesa_11_2_2-signed_sha256.7z > > Maik Yes! digiKam has now started (and fast)! Created attachment 164622 [details]
Log with opengl32sw
@Gilles, compiling Mesa is not necessary for the bundle, or there is an option to create the software variant. We only need the software renderer if system OpenGL is not available. Maik ok i take a look Gilles The VCPKG mesa json configuration file is currently this one : gilles@KU23:~/devel/GIT/vcpkg/ports/mesa$ cat vcpkg.json { "name": "mesa", "version": "23.2.1", "description": "Mesa - The 3D Graphics Library", "homepage": "https://www.mesa3d.org/", "license": "MIT AND BSL-1.0 AND SGI-B-2.0", "supports": "!(windows & arm) & !staticcrt & !uwp", "dependencies": [ { "name": "vcpkg-get-python-packages", "host": true }, { "name": "vcpkg-tool-meson", "host": true }, "zlib", "zstd" ], "default-features": [ "default-features" ], "features": { "default-features": { "description": "Platform dependent default features", "dependencies": [ { "name": "mesa", "default-features": false, "features": [ "gles1", "gles2", "opengl" ] }, { "name": "mesa", "default-features": false, "features": [ "llvm" ], "platform": "x64" } ] }, "egl": { "description": "Build support for EGL platform", "dependencies": [ "egl-registry" ] }, "gles1": { "description": "Build support for OpenGL ES 1.x", "dependencies": [ { "name": "mesa", "default-features": false, "features": [ "opengl" ] } ] }, "gles2": { "description": "Build support for OpenGL ES 2.x and 3.x", "dependencies": [ { "name": "mesa", "default-features": false, "features": [ "opengl" ] } ] }, "llvm": { "description": "Build with llvmpipe", "dependencies": [ { "name": "llvm", "default-features": false, "features": [ "enable-rtti", "libclc" ] }, { "name": "llvm", "default-features": false, "features": [ "target-arm" ], "platform": "arm32" }, { "name": "llvm", "default-features": false, "features": [ "target-aarch64" ], "platform": "arm64" }, { "name": "llvm", "default-features": false, "features": [ "target-x86" ], "platform": "x64 | x86" } ] }, "offscreen": { "description": "Build with support for offscreen rendering (OSMesa)", "dependencies": [ { "name": "mesa", "default-features": false, "features": [ "opengl" ] } ] }, "opengl": { "description": "Build support for OpenGL (all versions)", "dependencies": [ "opengl" ] } } } I think the right option to compile the Software Rendering is "offscreen". Right ? Gilles It's not clear : https://docs.mesa3d.org/systems.html Gilles Hum, the path to download the pre-build version of Mesa include "llvmpipe". So the right option is : "llvm": { "description": "Build with llvmpipe", "dependencies": [ { "name": "llvm", "default-features": false, "features": [ "enable-rtti", "libclc" ] }, Gilles Hum mesa llvm is already installed: Computing installation plan... The following packages are already installed: mesa[core,opengl,llvm,gles2,gles1,default-features]:x64-windows@23.2.1 mesa:x64-windows is already installed Total install time: 11.5 us Done with "offscreen" option: Computing installation plan... The following packages will be rebuilt: mesa[core,default-features,gles1,gles2,llvm,offscreen,opengl]:x64-windows@23.2.1 Detecting compiler hash for triplet x64-windows... Restored 0 package(s) from C:\Users\gilles\AppData\Local\vcpkg\archives in 108 us. Use --debug to see more details. Removing 1/2 mesa:x64-windows Elapsed time to handle mesa:x64-windows: 15.5 ms Installing 2/2 mesa[core,default-features,gles1,gles2,llvm,offscreen,opengl]:x64-windows@23.2.1... Building mesa[core,default-features,gles1,gles2,llvm,offscreen,opengl]:x64-windows@23.2.1... -- Downloading https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-23.2.1/mesa-mesa-23.2.1.tar.gz -> mesa-mesa-mesa-23.2.1-1.tar.gz... -- Extracting source E:/d/mesa-mesa-mesa-23.2.1-1.tar.gz -- Applying patch gallium-fix-build-with-llvm-17.patch -- Applying patch clover-llvm-move-to-modern-pass-manager.patch -- Using source at E:/b/mesa/src/esa-23.2.1-34ec6884e4.clean -- Setting up python virtual environmnent... -- Installing python packages: setuptools;mako -- Setting up python virtual environmnent...finished. -- Found external ninja('1.11.0'). -- Getting CMake variables for x64-windows -- Configuring x64-windows-dbg -- Using cached mingw-w64-x86_64-pkgconf-1~2.1.0-1-any.pkg.tar.zst. -- Using cached msys2-msys2-runtime-3.4.9-3-x86_64.pkg.tar.zst. -- Using msys root at E:/d/tools/msys2/023cdb3ca06f77f2 -- Configuring x64-windows-dbg done -- Configuring x64-windows-rel -- Configuring x64-windows-rel done -- Package x64-windows-dbg -- Package x64-windows-rel -- Fixing pkgconfig file: C:/vcpkg/packages/mesa_x64-windows/lib/pkgconfig/glesv1_cm.pc -- Fixing pkgconfig file: C:/vcpkg/packages/mesa_x64-windows/lib/pkgconfig/glesv2.pc -- Fixing pkgconfig file: C:/vcpkg/packages/mesa_x64-windows/lib/pkgconfig/osmesa.pc -- Fixing pkgconfig file: C:/vcpkg/packages/mesa_x64-windows/debug/lib/pkgconfig/glesv1_cm.pc -- Fixing pkgconfig file: C:/vcpkg/packages/mesa_x64-windows/debug/lib/pkgconfig/glesv2.pc -- Fixing pkgconfig file: C:/vcpkg/packages/mesa_x64-windows/debug/lib/pkgconfig/osmesa.pc -- Installing: C:/vcpkg/packages/mesa_x64-windows/share/mesa/copyright -- Performing post-build validation Stored binaries in 1 destinations in 49 s. Elapsed time to handle mesa:x64-windows: 3.4 min mesa:x64-windows package ABI: 321c416479ad7f3ec0fe2af16397809f6958951c4f65b65109314901957b8f6d Total install time: 3.4 min gilles Git commit 2ae622c9f11dfe04187ba26451dd06bdea800491 by Gilles Caulier. Committed on 02/01/2024 at 17:07. Pushed by cgilles into branch 'master'. enable OSMesa compilation option M +1 -1 project/bundles/vcpkg/01-build-vcpkg.sh https://invent.kde.org/graphics/digikam/-/commit/2ae622c9f11dfe04187ba26451dd06bdea800491 Maik, Look the last comment from this thread : https://github.com/mixxxdj/mixxx/issues/9473 Sounds like Angle library is the solution. VCPKG has Angle port... Gilles Installing Angle : Computing installation plan... The following packages will be built and installed: angle:x64-windows@chromium_5414#7 Detecting compiler hash for triplet x64-windows... Restored 0 package(s) from C:\Users\gilles\AppData\Local\vcpkg\archives in 614 us. Use --debug to see more details. Installing 1/1 angle:x64-windows@chromium_5414#7... Building angle:x64-windows@chromium_5414#7... -- Downloading https://github.com/google/angle/archive/aa63ea230e0c507e7b4b164a30e502fb17168c17.tar.gz -> google-angle-aa63ea230e0c507e7b4b164a30e502fb17168c17.tar.gz... -- Extracting source E:/d/google-angle-aa63ea230e0c507e7b4b164a30e502fb17168c17.tar.gz -- Applying patch 001-fix-uwp.patch -- Applying patch 002-fix-builder-error.patch -- Applying patch 003-fix-mingw.patch -- Using source at E:/b/angle/src/fb17168c17-ae4e4ce263.clean -- Downloading https://github.com/WebKit/WebKit/raw/bb1da00b9ba878d228a5e9834a0767dbca2fee43/Source/ThirdParty/ANGLE/gni-to-cmake.py -> gni-to-cmake.py... -- Downloading https://github.com/WebKit/WebKit/raw/bb1da00b9ba878d228a5e9834a0767dbca2fee43/Source/ThirdParty/ANGLE/include/CMakeLists.txt -> include_CMakeLists.txt... -- Downloading https://github.com/WebKit/WebKit/raw/bb1da00b9ba878d228a5e9834a0767dbca2fee43/Source/cmake/WebKitCompilerFlags.cmake -> WebKitCompilerFlags.cmake... -- Downloading https://github.com/WebKit/WebKit/raw/bb1da00b9ba878d228a5e9834a0767dbca2fee43/Source/cmake/WebKitMacros.cmake -> WebKitMacros.cmake... -- Fetching https://chromium.googlesource.com/chromium/src/third_party/zlib 44d9b490c721abdb923d5c6c23ac211e45ffb1a5... -- Extracting source E:/d/angle-44d9b490c721abdb923d5c6c23ac211e45ffb1a5.tar.gz -- Using source at E:/b/angle/src/1e45ffb1a5-02307f5894.clean -- Found external ninja('1.11.0'). -- Configuring x64-windows -- Building x64-windows-dbg Gilles Git commit 846bda68a396044ae128211e7a32156ff889b349 by Gilles Caulier. Committed on 02/01/2024 at 18:09. Pushed by cgilles into branch 'master'. install Angle library for Qt6 opengl software support M +1 -0 project/bundles/vcpkg/01-build-vcpkg.sh https://invent.kde.org/graphics/digikam/-/commit/846bda68a396044ae128211e7a32156ff889b349 Gilles, please read this, Angel is already included in Qt, if it fails it falls back to opengl32sw. https://doc.qt.io/qt-5/windows-requirements.html Maik And this to build the library https://wiki.qt.io/MesaLlvmpipe Maik So the right mesa option is "libgl-gdi": set LLVM=c:/work/mesa/llvm/bin scons build=release platform=windows machine=x86_64 libgl-gdi I do not seen this option in VCPKG port json definitions. Gilles Another point : MXE build Angle and Mesa separately than Qt (version 5 of course). There is no opengl32sw.dll in the MXE build at all. We never seen this time latency problem with MXE installer. So... Gilles The problem is not a slowdown, but rather the main window does not appear. I remember this bug was reported to us back then. Maik Peter, The new Windows installer published yesterday fix your problem now ? Gilles Caulier (In reply to caulier.gilles from comment #42) > Peter, > > The new Windows installer published yesterday fix your problem now ? > > Gilles Caulier Tested: digiKam-8.3.0-20240102T171206-Win64.exe Issue is not resolved in this version. digiKam does not start. Now... I added opengl32sw.dll file to the digiKam directory, and the digiKam is started. Git commit 42d89115589a74f8d391859023c49a691e7b14b3 by Gilles Caulier. Committed on 03/01/2024 at 11:48. Pushed by cgilles into branch 'master'. copy opengls32sw dll in the bundle to work with older coputer without OpenGL copatible video cards M +2 -2 project/bundles/vcpkg/04-build-installer.sh A +- -- project/bundles/vcpkg/data/opengl32sw.dll https://invent.kde.org/graphics/digikam/-/commit/42d89115589a74f8d391859023c49a691e7b14b3 Peter, I host the dll as well in the bundle for the moment. I needs to investigate how to build this dll directly with VCPKG. Installer is under build and ready in 1 hour at usual place for testing... Gilles (In reply to caulier.gilles from comment #45) > Peter, > > I host the dll as well in the bundle for the moment. I needs to investigate > how to build this dll directly with VCPKG. > > Installer is under build and ready in 1 hour at usual place for testing... > > Gilles Tested digiKam-8.3.0-20240103T105103-Win64.exe Works fine for me. Great. I close this file now. Gilles Caulier I can confirm this has been fixed. Version digiKam-8.3.0-20240103T112058-Win64.exe starts normally on the laptop where I encountered this bug. |