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

[Regression?] 1.0RC breaks support for Windows < 10 #2287

Open
commandcontrolQ opened this issue Mar 7, 2025 · 7 comments
Open

[Regression?] 1.0RC breaks support for Windows < 10 #2287

commandcontrolQ opened this issue Mar 7, 2025 · 7 comments

Comments

@commandcontrolQ
Copy link

At some point between the development of melonDS 0.9.5 and 1.0 RC, melonDS on Windows now requires DirectX 12 to run, which breaks support for versions of Windows before 10 (which DirectX 12 does not support).

The reason why there is a question mark next to "Regression" is because I am wondering if this change in system requirements is intentional or not.

@nadiaholmquist
Copy link
Collaborator

This is intentional, and is a result of migrating to Qt 6 by default.

Building with Qt 5 is still supported, so if you want a version that works on these older versions of Windows you can compile one yourself, see BUILD.md.

@commandcontrolQ
Copy link
Author

Good to know!

Are there any plans to fully remove support for Qt5 (including from the source code itself) in the future?

@nadiaholmquist
Copy link
Collaborator

It's not really much of a burden to maintain (although it has broken a bit a few times), so short of something like a total refactor of the UI I doubt it.

@commandcontrolQ
Copy link
Author

Got it.

Firstly, I think we should make it a bit clearer in the website that melonDS is no longer built with Qt5 by default.

Secondly, BUILD.md (when compiling static builds for Windows) still instructs the user to install qt5-static and build with -DUSE_QT6=OFF, saying that the qt6-static package is broken.
In that case, how was 1.0 RC built static with Qt6?

@nadiaholmquist
Copy link
Collaborator

The CI/release builds use vcpkg to build known versions of static dependencies rather than the system package manager/MSYS2 on Windows. Vcpkg can successfully build a static Qt 6 package, it's just the one in MSYS2 that doesn't work.

I should probably have documented how to do that in the build instructions.

@commandcontrolQ
Copy link
Author

Weird. I wonder why the MSYS2 qt6-static package does not work.

By the way, is it possible to build dynamicly with Qt5 (by just changing the Qt command from qt6* to qt5*?

@nadiaholmquist
Copy link
Collaborator

The qt6-static package seems to not declare its dependencies correctly, though even if you work around that you get into weird build system issues. With enough persistence it's probably possible to work around it but doesn't seem worth the effort.

And yeah dynamic builds with Qt 5 are possible, you might need to use its windeployqt to bundle the DLLs yourself but it should work.

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

No branches or pull requests

2 participants