Skip to content

ci/mingw64-fat: add FAT mingw64 builds#17526

Open
kasper93 wants to merge 3 commits intompv-player:masterfrom
kasper93:mingw-fat
Open

ci/mingw64-fat: add FAT mingw64 builds#17526
kasper93 wants to merge 3 commits intompv-player:masterfrom
kasper93:mingw-fat

Conversation

@kasper93
Copy link
Copy Markdown
Member

@kasper93 kasper93 commented Mar 8, 2026

More complete mpv builds. Also provide libmpv in both gpl and lgpl
variant.


VkInstance inst = vk->vkinst->instance;
VkResult res = vkCreateWin32SurfaceKHR(inst, &wininfo, NULL, &vk->surface);
mp_assert(vk->vkinst->get_proc_addr);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

is depending on the upstream vulkan loader that bad? 🤔

Copy link
Copy Markdown
Member Author

@kasper93 kasper93 Mar 8, 2026

Choose a reason for hiding this comment

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

Upstream Vulkan loader doesn't support static linking. That's why all our (other) packages have vulkan-1.dll in them. Apparently https://github.com/BtbN/Vulkan-Shim-Loader exists to workaround that. But it doesn't load functions from platform specific xmls. While, it could be fixed there, I don't mind loading it through get_proc_addr.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

ah this is a static build? dynamic is nicer IMO

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why can't it just link to vulkan dll? Windows now includes vulkan loader.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

ah this is a static build? dynamic is nicer IMO

This build has probably over 100 libraries linked (I didn't even count, it's everything), linking it statically just makes the output cleaner, we don't need anything else to interact with those dlls.

Why can't it just link to vulkan dll? Windows now includes vulkan loader.

It's on graphic driver, and on some systems in might not be available. Either way, it's up to docker image that I use. I think it's cleaner to dynamically load vulkan dll. We should be doing it in fact and not directly link to loader.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ah this is a static build? dynamic is nicer IMO

What makes dynamic mpv Windows compiles nicer for you? Legit question.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

dynamic causes less weird build issues, that's all.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Dynamic linking on MinGW only introduces more problems, like auto import and runtime pseudo relocation.

More complete mpv builds. Also provide libmpv in both gpl and lgpl
variant.
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