equalizerAPO64 icon indicating copy to clipboard operation
equalizerAPO64 copied to clipboard

Pre-Windows 10 compatibility considerations

Open MarcvsMalvs opened this issue 1 month ago • 5 comments

The original Equalizer APO targets any Windows NT 6 and upwards. (I know it uses Qt 6, but somehow it still runs on older Windows, if not without possible glitches.)

Is it crucial for this AVX2 port to require d3d12.dll which only comes with Windows 10 and upward? Is it, perhaps, a byproduct of the current build chain?

Maybe, if you don’t want to saddle your fork with dealing with such dependencies that break compatibility with older Windows, it would be beneficial to state explicitly that this version only supports Windows 10 and newer? Or maybe requiring components of D3D12 is quite unnecessary even within your chosen pipeline?

For the record, I use Windows 8.1, with the VC++ v14.50.35719 runtime installed. It did install without complaining. It may be officially unsupported on my Windows, but it does work with the original Equalizer APO (with older dlls removed from its directory, forcing this latest runtime to be used).

MarcvsMalvs avatar Dec 13 '25 16:12 MarcvsMalvs

Hmmmm I'll look into why d3d12.dll is being pulled in, maybe the switch to DirectWrite triggered it in recent Qt builds. I believe I can maybe build Qt with d3d12 disabled in the pipeline, as there's probably nothing performance critical display-wise in the Editor that would justify it.

Though another option is d3d12on7, which has a d3d12.dll within that if placed in the EAPO folder would probably be more than enough for the Editor to load.

TheFireKahuna avatar Dec 13 '25 17:12 TheFireKahuna

I can experiment with that. So far, my investigation since the last post has indeed confirmed that the difference is between the included Qt DLLs — between Qt 6.7.2 as distributed with the original Equalizer APO 1.4.2 and your built that comes with Qt 6.10.1. Reportedly, even Qt 6.10 can default to avoiding D3D12, but it may, reportedly, benefit from it for enhanced performance for some real-time graphs in the interface.

MarcvsMalvs avatar Dec 13 '25 19:12 MarcvsMalvs

Upon further investigation, going as high as Qt 6.10 seems too deeply incompatible with anything older than Windows 10. While older Qt releases may so-so work, Qt 6.10 seems to have already become too divergent from what Windows 8.1 can support. I have gotten past missing D3D12.dll. I have gotten past missing ICU DLLs, but then I would get to this:

Image

[It’s not really missing from Qt; it is missing from the underlying older Windows dlls.] At this point, if you prefer to build with the newest Qt framework, it is obviously possible only for Windows 10+.

MarcvsMalvs avatar Dec 13 '25 21:12 MarcvsMalvs

As a footnote, I have just come across this repo: qt6windows7. But they’re some versions behind Qt 6.10.

MarcvsMalvs avatar Dec 13 '25 21:12 MarcvsMalvs

https://github.com/ANightly/qt6windows7/tree/6.10.0

mirh avatar Dec 20 '25 20:12 mirh