Skip to content

Bugfix/Improvement: Switch Windows Build to 64-bit#1149

Merged
barbeque-squared merged 1 commit into
UltraStar-Deluxe:masterfrom
dgruss:x64
Apr 20, 2026
Merged

Bugfix/Improvement: Switch Windows Build to 64-bit#1149
barbeque-squared merged 1 commit into
UltraStar-Deluxe:masterfrom
dgruss:x64

Conversation

@dgruss
Copy link
Copy Markdown
Contributor

@dgruss dgruss commented Jan 26, 2026

Builds a 64-bit binary on Windows.

This is required as we otherwise run out of virtual memory on Windows with larger song libraries (>27k songs).

@dgruss dgruss changed the title first working 64-bit build Switch Windows Build to 64-bit Jan 26, 2026
@dgruss dgruss marked this pull request as draft January 26, 2026 21:27
@dgruss dgruss force-pushed the x64 branch 2 times, most recently from 6287828 to 2167fc6 Compare January 26, 2026 21:40
@s09bQ5
Copy link
Copy Markdown
Collaborator

s09bQ5 commented Jan 26, 2026

Did you change the projectM wrapper to use a newer projectM version? We must use projectM 1.x or 2.x because the state will not be saved and restored correctly in USDX when projectM uses newer OpenGL 3.x/4.x shaders.

@dgruss
Copy link
Copy Markdown
Contributor Author

dgruss commented Jan 26, 2026

i did. i will prioritize getting anything to work first (the CI system does not use msys2 so i have to figure out how to convince it to build 64 bits)

@dgruss dgruss force-pushed the x64 branch 2 times, most recently from b4780cf to f14fcf4 Compare January 26, 2026 21:58
@s09bQ5
Copy link
Copy Markdown
Collaborator

s09bQ5 commented Jan 26, 2026

The equivalent of opengl32_.dll for 64 bits would be a mesa-llvmpipe-x64 dll from https://github.com/mmozeiko/build-mesa/releases. But since mesa-d3d12-x64 is a better choice if it works, we should probably stop distributing opengl32_.dll and point people to those Mesa builds.

I don't know why I haven't added GLEW to MXE, but for projectM and OpenCV part of the reason was that they need libstdc++, which in turn probably needs even more dlls like winpthread. The 32 bit builds we currently have use Microsoft's C++ library, which is usually present on Windows systems.

@dgruss
Copy link
Copy Markdown
Contributor Author

dgruss commented Jan 26, 2026

at least on my system i didn't need any replacement to opengl32_.dll - is it only required for projectM?

@s09bQ5
Copy link
Copy Markdown
Collaborator

s09bQ5 commented Jan 26, 2026

It is a software OpenGL renderer in case your graphics drivers are broken. Users have to rename the file to opengl32.dll to use it.

@dgruss
Copy link
Copy Markdown
Contributor Author

dgruss commented Jan 26, 2026

ah, is that still a thing? i never needed that in all the years

@dgruss dgruss force-pushed the x64 branch 9 times, most recently from ec1c178 to d31b183 Compare January 26, 2026 23:17
@dgruss
Copy link
Copy Markdown
Contributor Author

dgruss commented Jan 26, 2026

okay, no idea how to get this working in the CI. locally it builds totally fine in the msys2 environment.
no idea about lazarus or whether that supports 64bits...

@dgruss dgruss force-pushed the x64 branch 7 times, most recently from 6565999 to aa91d6e Compare January 27, 2026 00:33
Comment thread dldlls.py
@dgruss
Copy link
Copy Markdown
Contributor Author

dgruss commented Apr 11, 2026

i think i resolved all open points

Comment thread .github/workflows/main.yml Outdated
Comment thread .github/workflows/main.yml Outdated
Comment thread .github/workflows/main.yml Outdated
Comment thread dists/bamboo/bamboo-build-win-laz.bat Outdated
Comment thread COMPILING.md Outdated
Comment thread COMPILING.md Outdated
@dgruss dgruss force-pushed the x64 branch 4 times, most recently from 8653235 to 868627e Compare April 12, 2026 20:17
Comment thread .github/workflows/main.yml
Copy link
Copy Markdown
Collaborator

@s09bQ5 s09bQ5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved, but don't merge until UltraStar-Deluxe/mxe#2 has been merged.

@dgruss
Copy link
Copy Markdown
Contributor Author

dgruss commented Apr 12, 2026

and maybe squash - or alternatively i can force push with 1 clean commit message

@dgruss
Copy link
Copy Markdown
Contributor Author

dgruss commented Apr 13, 2026

@s09bQ5 just squashed and force pushed

- update CI to build with MSYS2/autotools and the FPC cross toolchain
- fetch the x86_64 DLL bundle and download bass.dll separately
- enable the OpenCV wrapper on Windows and link it as a DLL there
- update bundled library names and versions for projectM, portaudio and freetype
- remove obsolete 32 bit runtime DLLs from the repository
@barbeque-squared barbeque-squared merged commit 62a3426 into UltraStar-Deluxe:master Apr 20, 2026
5 checks passed
@dgruss dgruss deleted the x64 branch April 20, 2026 10:57
@dgruss dgruss restored the x64 branch April 20, 2026 12:42
@dgruss dgruss deleted the x64 branch April 20, 2026 12:46
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

Successfully merging this pull request may close these issues.

4 participants