Page 1 of 1

LÖVE 11.5 — is Windows 7 no longer supported?

Posted: Sat Dec 09, 2023 4:39 pm
by Dmitr
Hello, did Windows 7 support end with 11.5? I couldn't find anything in changelog or there on forums, also homepage still says "Vista+". I ask because I get "The procedure entry point CreateFile2 could not be located in the dynamic link library KERNEL32.dll" error on launching love.exe.

There are "love-windows-x86-compat" artifacts in version 12.0 builds on Github, are those related to future Windows 7 compatibility or something else?

Also, I have an aside question about Windows, believe it or not, XP. This is hijacking my own thread, but it's also about compatibility and I don't want to spawn threads. Isn't there some log or notes about which new function calls in source are not XP compatible beginning with 11.0? I'm not demanding or saying there should be, asking just in case.

Also, since I am very lurking user, I want to use this opportunity to say thank you and express appreciation to everybody from main maintainers and contributors to all participating users (also to those no longer participating, but whose posts serve as a helpful knowledge base).

Re: LÖVE 11.5 — is Windows 7 no longer supported?

Posted: Sat Dec 09, 2023 11:17 pm
by zorg
Hi;

I remember this issue being posted about on the discord; this wasn't a conscious decision on löve's part as far as i know, it's just that PhysFS, what löve uses for love.filesystem stuff, has some things hardcoded at compile time that stopped working when 11.5 had a new version of that included into it.
Sasha: oh, that's annoying. physfs only does a build time check https://github.com/love2d/love/blob/6eb ... #L122-L132
tester64.: Is this a problem for everyone who has a Windows version lower than 8? Does it make sense to write about it on github or fix vista+ 8 support on the site?
Sasha: yes it's a problem for everyone running windows 7, it happened because there's a regression in newer physfs versions and love 11.5 uses a newer physfs version to fix another bug
tester64.: This is due to the CreateFile 2 call and the kernel32 library, as far as I understand.
Sasha: that's one of the problems, but there's more: https://github.com/icculus/physfs/commi ... 95f221b18d
Not sure if this can be "fixed" or if löve's just gonna bump the minimum supported version for 11.5 up to windows 8.1 (or 10, don't remember which)

Re: LÖVE 11.5 — is Windows 7 no longer supported?

Posted: Sun Dec 10, 2023 12:20 am
by MrFariator
While it sucks that some older versions of Windows have been dropped from support (not due to any fault on LÖVE itself, of course, just PhysFS), it's also perhaps worth noting that Steam itself is dropping support for Win7, starting on January 1st 2024. According to Steam's hardware & software surveys, Win7 and Win8 combined make less than 2% of their userbase. As such, for any developer who seeks to put their game on Steam, this could be useful information to keep in mind.

So, while I do like the idea of supporting older operating systems, there always does come a point in time where that starts having diminishing returns.

Re: LÖVE 11.5 — is Windows 7 no longer supported?

Posted: Sun Dec 10, 2023 3:08 am
by zorg
It seems like i did speak a bit soon, since after i wrote that post, Sasha did push a change to the repository called "Workaround for Windows 7 runtime compatibility", so maybe it might still be able to work.

Re: LÖVE 11.5 — is Windows 7 no longer supported?

Posted: Sun Dec 10, 2023 3:25 pm
by slime
Dmitr wrote: Sat Dec 09, 2023 4:39 pm Hello, did Windows 7 support end with 11.5? I couldn't find anything in changelog or there on forums, also homepage still says "Vista+". I ask because I get "The procedure entry point CreateFile2 could not be located in the dynamic link library KERNEL32.dll" error on launching love.exe.
It definitely wasn't intentional - as zorg quoted, a library love uses was updated in 11.5 and the update broke Windows 7 compatibility.

I've made a small workaround and reuploaded the Windows versions of 11.5 with the workaround included. Do you mind redownloading 11.5 from the homepage and testing that to see if it works? The fixed exe will say something like "File Version: 11.5.0.1" if you mouse over it.

That being said, when official builds of love 12 are released we might intentionally drop support for Windows 7 there, but that hasn't been 100% decided yet.
Dmitr wrote: Sat Dec 09, 2023 4:39 pm Also, I have an aside question about Windows, believe it or not, XP. This is hijacking my own thread, but it's also about compatibility and I don't want to spawn threads. Isn't there some log or notes about which new function calls in source are not XP compatible beginning with 11.0? I'm not demanding or saying there should be, asking just in case.
I don't actually know - some of the third party libraries love uses (like physfs, OpenAL-Soft, and SDL) might have their own code that doesn't support XP anymore. And there's probably some of love's own windows-specific code that's the same. Plus, I think in order to support Windows XP while building love or another C/C++ app, you might need a special legacy toolchain installed and selected for Visual Studio.

Re: LÖVE 11.5 — is Windows 7 no longer supported?

Posted: Sun Dec 10, 2023 9:49 pm
by Dmitr
Thanks, zorg and slime, for taking time to investigate.
slime wrote: Sun Dec 10, 2023 3:25 pm Do you mind redownloading 11.5 from the homepage and testing that to see if it works?
Yes, it’s working. This is cool, I get that this is going above what can be reasonably expected by default, developers’ resources being finite. I’ve seen exchanges where people asked for legacy support, trying to invent arguments, and I imagine that could be frustrating to devs. So, I sympathize with naggers, being legacy user myself, but reality disagrees.
slime wrote: Sun Dec 10, 2023 3:25 pm I don't actually know - some of the third party libraries love uses (like physfs, OpenAL-Soft, and SDL) might have their own code that doesn't support XP anymore. And there's probably some of love's own windows-specific code that's the same. Plus, I think in order to support Windows XP while building love or another C/C++ app, you might need a special legacy toolchain installed and selected for Visual Studio.
Got it, thanks.