Bug 479148

Summary: Startup stuck at Loading tools
Product: [Applications] digikam Reporter: ivar.ekman
Component: Bundle-WindowsAssignee: 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 164530 [details]
Debug log

SUMMARY
Digikam fails to start even with a clean library. It stops at the Splash with Loading tools..."

STEPS TO REPRODUCE
1. Install Digikam
2. Go through configuration selecting
3. Observe how digikam never starts and stops forever at "Loading tools..."

OBSERVED RESULT
Digikam does not start

EXPECTED RESULT
Digikam starts

SOFTWARE/OS VERSIONS
Windows: Windows 10 Home Version	10.0.19045 Build 19045
digiKam-8.3.0-20231228T113341-Win64-debug.exe

ADDITIONAL INFORMATION
See debug log. Last lines:
00000921	24.54244614	[10612] kf.sonnet.core: No language dictionaries for the language: "en_US"	
00000922	24.69287682	[10612] digikam.geoiface: "ROADMAP"	
00000923	24.70610428	[10612] digikam.geoiface: "ROADMAP"	
00000924	25.14958382	[10612] digikam.general: Finish Main Thread	
00000925	25.15106010	[10612] digikam.general: Finish Main Thread	
00000926	25.15206909	[10612] digikam.general: Finish Main Thread	
00000927	25.15294647	[10612] digikam.general: Finish Main Thread	
00000928	25.21937370	[10612] digikam.geoiface: ----	
00000929	25.22890472	[10612] digikam.general: Using  4  CPU core to run threads	
00000930	25.23031044	[10612] digikam.general: Action Thread run 1 new jobs	
00000931	25.27525330	[10612] digikam.general: One job is done  Digikam::TagsJob(0x18dfce29410)  time: 44	
00000932	25.28106117	[10612] digikam.general: Finish Main Thread

I've tried running Digikam 8.2.0 on the same laptop against my massive library. It never started and was stuck at the Loading tools splash. I expected this being bug 477853, so I downloaded the latest 8.3.0 nightly and continued debugging. Startup fails even with a clean install and selecting an empty folder as library. Thus, this seems to be a different bug.
Comment 1 ivar.ekman 2023-12-29 10:55:14 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.
Comment 2 ivar.ekman 2023-12-29 10:59:21 UTC
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
Comment 3 Maik Qualmann 2023-12-29 11:45:32 UTC
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
Comment 4 Maik Qualmann 2023-12-29 11:48:56 UTC
@Gilles, we may have to include this file (opengl32sw) because it has this bug: https://bugreports.qt.io/browse/QTBUG-58953

Maik
Comment 5 ivar.ekman 2023-12-29 11:55:23 UTC
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.
Comment 6 caulier.gilles 2023-12-29 13:00:29 UTC
Maik,

I take a look about opengl32sw

Gilles
Comment 7 caulier.gilles 2023-12-29 13:10:00 UTC
opengl32sw.dll is not present on my Windows 10 VM. In C: and E:

Gilles
Comment 8 caulier.gilles 2023-12-29 13:12:16 UTC
ok this dll sounds built with Mesa VCPKG package.
Comment 9 caulier.gilles 2023-12-29 13:15:05 UTC
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
...
Comment 10 caulier.gilles 2023-12-29 13:17:12 UTC
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
Comment 11 caulier.gilles 2023-12-29 13:36:43 UTC
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
Comment 12 Maik Qualmann 2023-12-29 13:58:58 UTC
@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
Comment 13 caulier.gilles 2023-12-29 14:11:02 UTC
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.
Comment 14 caulier.gilles 2023-12-29 16:53:01 UTC
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
Comment 15 caulier.gilles 2023-12-30 09:42:00 UTC
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
Comment 16 caulier.gilles 2023-12-30 09:54:38 UTC
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)
Comment 17 caulier.gilles 2023-12-30 10:07:30 UTC
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
Comment 18 caulier.gilles 2023-12-30 11:14:53 UTC
Maik,

digiKam bundle is now under progress... All must be ready in few hours...

Gilles
Comment 19 caulier.gilles 2023-12-30 14:13:28 UTC
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
Comment 20 caulier.gilles 2023-12-30 14:38:47 UTC
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
Comment 21 Peter 2024-01-02 10:56:00 UTC
(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.
Comment 22 Peter 2024-01-02 10:57:03 UTC
Created attachment 164621 [details]
digiKam 8.3 not start on old computer
Comment 23 Maik Qualmann 2024-01-02 11:37:34 UTC
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
Comment 24 Peter 2024-01-02 11:45:30 UTC
(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)!
Comment 25 Peter 2024-01-02 11:54:22 UTC
Created attachment 164622 [details]
Log with opengl32sw
Comment 26 Maik Qualmann 2024-01-02 12:02:42 UTC
@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
Comment 27 caulier.gilles 2024-01-02 15:40:25 UTC
ok i take a look

Gilles
Comment 28 caulier.gilles 2024-01-02 15:44:04 UTC
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
Comment 29 caulier.gilles 2024-01-02 15:46:21 UTC
It's not clear :

https://docs.mesa3d.org/systems.html

Gilles
Comment 30 caulier.gilles 2024-01-02 15:52:47 UTC
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
Comment 31 caulier.gilles 2024-01-02 15:56:58 UTC
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
Comment 32 caulier.gilles 2024-01-02 16:03:07 UTC
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
Comment 33 caulier.gilles 2024-01-02 16:08:58 UTC
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
Comment 34 caulier.gilles 2024-01-02 16:57:01 UTC
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
Comment 35 caulier.gilles 2024-01-02 16:58:50 UTC
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
Comment 36 caulier.gilles 2024-01-02 17:09:44 UTC
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
Comment 37 Maik Qualmann 2024-01-02 17:31:23 UTC
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
Comment 38 Maik Qualmann 2024-01-02 17:36:24 UTC
And this to build the library

https://wiki.qt.io/MesaLlvmpipe

Maik
Comment 39 caulier.gilles 2024-01-02 17:42:44 UTC
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
Comment 40 caulier.gilles 2024-01-02 17:44:13 UTC
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
Comment 41 Maik Qualmann 2024-01-02 17:52:07 UTC
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
Comment 42 caulier.gilles 2024-01-03 09:55:50 UTC
Peter,

The new Windows installer published yesterday fix your problem now ?

Gilles Caulier
Comment 43 Peter 2024-01-03 10:40:40 UTC
(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.
Comment 44 caulier.gilles 2024-01-03 10:49:37 UTC
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
Comment 45 caulier.gilles 2024-01-03 10:51:32 UTC
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
Comment 46 Peter 2024-01-03 11:26:37 UTC
(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.
Comment 47 caulier.gilles 2024-01-03 11:31:15 UTC
Great. I close this file now.

Gilles Caulier
Comment 48 ivar.ekman 2024-01-06 05:41:31 UTC
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.