Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

windows: update to qt 6.5.1 #11844

Merged
merged 1 commit into from
May 27, 2023
Merged

windows: update to qt 6.5.1 #11844

merged 1 commit into from
May 27, 2023

Conversation

shuffle2
Copy link
Contributor

No description provided.

@AdmiralCurtiss
Copy link
Contributor

Someone needs to install the Qt Svg component on the Linux and Mac buildbots.

@shuffle2
Copy link
Contributor Author

shuffle2 commented May 24, 2023

on deb-like libqt6svg6-dev needs to be installed, on macos (and steamrt) i guess qt needs to be built without skipping qtsvg module

dolphin-emu/sadm#190
dolphin-emu/sadm#191
containers still need to be restarted afterward ..

@shuffle2
Copy link
Contributor Author

pinging @OatmealDome for that

@OatmealDome
Copy link
Member

All the builders have been updated.

@AdmiralCurtiss
Copy link
Contributor

Trying to use this with CMake on Windows now generates the following error, which makes me think that our Qt Windows build is misconfigured somewhere:

1> [CMake] CMake Error at Externals/Qt/Qt6.5.1/x64/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets.cmake:86 (message):
1> [CMake]   The imported target "Qt6::QICNSPlugin" references the file
1> [CMake] 
1> [CMake]      "Externals/Qt/Qt6.5.1/x64/./plugins/imageformats/qicnsd.dll"
1> [CMake] 
1> [CMake]   but this file does not exist.  Possible reasons include:
1> [CMake] 
1> [CMake]   * The file was deleted, renamed, or moved to another location.
1> [CMake] 
1> [CMake]   * An install or uninstall procedure did not complete successfully.
1> [CMake] 
1> [CMake]   * The installation package was faulty and contained
1> [CMake] 
1> [CMake]      "Externals/Qt/Qt6.5.1/x64/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets.cmake"
1> [CMake] 
1> [CMake]   but not all the files it references.
1> [CMake] 
1> [CMake] Call Stack (most recent call first):
1> [CMake]   Externals/Qt/Qt6.5.1/x64/lib/cmake/Qt6Gui/Qt6QICNSPluginConfig.cmake:51 (include)
1> [CMake]   Externals/Qt/Qt6.5.1/x64/lib/cmake/Qt6/QtPublicPluginHelpers.cmake:518 (include)
1> [CMake]   Externals/Qt/Qt6.5.1/x64/lib/cmake/Qt6Gui/Qt6GuiPlugins.cmake:5 (__qt_internal_include_plugin_packages)
1> [CMake]   Externals/Qt/Qt6.5.1/x64/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:123 (include)
1> [CMake]   Externals/Qt/Qt6.5.1/x64/lib/cmake/Qt6/Qt6Config.cmake:157 (find_package)
1> [CMake]   Source/Core/DolphinQt/CMakeLists.txt:16 (find_package)
1> [CMake] -- Configuring incomplete, errors occurred!

I traced this and it just enumerates all *PluginConfig.cmake files in Externals/Qt/Qt6.5.1/x64/lib/cmake/Qt6Gui/ so maybe we just need to delete the ones we don't ship dlls for.

@AdmiralCurtiss
Copy link
Contributor

The mkspecs directory is also missing again, see dolphin-emu/ext-win-qt#19

@AdmiralCurtiss
Copy link
Contributor

With those two things is works fine with CMake too, or seems to anyway.

@shuffle2
Copy link
Contributor Author

Ok

@shuffle2
Copy link
Contributor Author

shuffle2 commented May 26, 2023

For the mkspecs I thought (from reading qt cmake files) it only required the win32-msvc folder to be there, the other directories and files don’t actually matter. I guess it was a problem with git not storing empty directories

@shuffle2
Copy link
Contributor Author

@AdmiralCurtiss
Copy link
Contributor

AdmiralCurtiss commented May 26, 2023

It does build even without the mkspecs files (as long as the directory exists), but it seems a bit suspect to me that this works... If you grep the Qt headers you do find #include "qplatformdefs.h" statements in a few of them. So maybe this only happens to work due to the subset of Qt we #include at the moment? No idea. I'd rather have them than not, to be honest.

@shuffle2
Copy link
Contributor Author

iirc i looked into it and those headers are only used when building qt itself, but yea w/e

@shuffle2
Copy link
Contributor Author

(are you going to do that or should i?)

@AdmiralCurtiss
Copy link
Contributor

If you have the files lying around please make a PR, I'd have to go get the Qt sources.

@shuffle2
Copy link
Contributor Author

lmk if it doesn't work with dolphin-emu/ext-win-qt#22

@AdmiralCurtiss
Copy link
Contributor

Seems to work.

@AdmiralCurtiss AdmiralCurtiss merged commit 6d9529a into dolphin-emu:master May 27, 2023
@AdmiralCurtiss
Copy link
Contributor

@shuffle2 Next step is using svgs for our icons, right? Do you have those, or does @MayImilae have them, or do we still need to create them?

After that we can update the scaling mode again.

@shuffle2
Copy link
Contributor Author

The current pngs should look good enough on qt 6.5 with the fractional scaling. Someone that’s not me will have to take the lead on sourcing the svgs

@MayImilae
Copy link
Contributor

Next step is using svgs for our icons, right? Do you have those, or does @MayImilae have them, or do we still need to create them?

I'm planning to make the move to SVGs in the near future. I built the originals as vectors, but they are Adobe vectors, and built for raster output. It will require "refactoring" to work in SVG, plus style changes to work within the limits of SVG. I need to do it for Big Porpoise anyway so I'll be doing it in soonish.

@AdmiralCurtiss
Copy link
Contributor

@shuffle2 Have you tested the ARM build in some way? We've gotten a report that Dolphin doesn't start on ARM Windows anymore.

@shuffle2
Copy link
Contributor Author

shuffle2 commented Jun 1, 2023

any more details? the app starts on arm64 here, haven't run emulation or investigated more tho

@AdmiralCurtiss
Copy link
Contributor

Okay so probably user error then, if the Qt UI opens that's further than what was reported. (they said they got an error message about the Qt platform plugin)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants