onivim / oni2

Native, lightweight modal code editor
https://v2.onivim.io
MIT License
7.84k stars 282 forks source link

Fails to load in Win7 #2036

Closed pd-giz-dave closed 3 years ago

pd-giz-dave commented 4 years ago

I tried to run this in a Windows 7 VirtualBox vm which fails. Running it with depends gives this error:

LoadLibraryW("SHCORE.DLL") called from "SDL2.DLL" at address 0x00000000042EEDC8. LoadLibraryW("SHCORE.DLL") returned NULL. Error: The specified module could not be found (126).

This is not available in Win7. Is it your intention to support Win7?

CrossR commented 4 years ago

Usually this is due to older version OpenGL version, something like issue #1842, where we need 4+. Getting some logs out with -f --debug would help track that down further perhaps, or running --checkhealth.

Windows 7 is officially end of life (since Feb), so we aren't aiming to support it directly so there may be some issues, and some features (well, in Revery at least) won't work in Windows 7 since there isn't the ability in Win 7 for it. That said, this specific issue seems more like a VM specific issue, rather than Win 7 directly.

pd-giz-dave commented 4 years ago

I copied shcore.dll from a win10 installation to win7 then the error changes to cannot find api-ms-win-core-libraryloader-l1-2-0.dll, my win10 does not have that version, so I gave up on win7 there.

I then tried to load it in my win10 VM and that loaded but does not render any controls so all you get is a blank white square. But amusingly it reacts to controls it thinks have been rendered - very hard to use like that :-) That implies a VM issue someplace. I haven't the time at the moment to investigate this further. Would it be useful if I did?

It runs fine under my Ubuntu installation (the VM host).

I currently use gvim in my win7 VM to maintain a large legacy software system, I was hoping to use onivim instead but it looks like that's a non starter. Shame.

On Sun, 28 Jun 2020 at 16:37, Ryan C notifications@github.com wrote:

Usually this is due to older version OpenGL version, something like issue

1842 https://github.com/onivim/oni2/issues/1842, where we need 4+.

Getting some logs out with -f --debug would help track that down further perhaps, or running --checkhealth.

Windows 7 is officially end of life (since Feb), so we aren't aiming to support it directly so there may be some issues, and some features (well, in Revery at least) won't work in Windows 7 since there isn't the ability in Win 7 for it. That said, this specific issue seems more like a VM specific issue, rather than Win 7 directly.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/onivim/oni2/issues/2036#issuecomment-650782126, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEEESACREX45H7XAZSJ4LH3RY5PUVANCNFSM4OKRMTIQ .

bryphe commented 4 years ago

Thanks for logging the issue and the details, @pd-giz-dave !

I suspect it must be an issue here: https://github.com/revery-ui/revery/blob/dcfe586c83739812c320a93202245b2fd086243d/src/reason-sdl2/sdl2_wrapper.cpp#L364

We're assuming SHCORE.DLL is available (but it's actually only available on Win8+). We could wrap that in a version check - but there maybe other downstream failures past that.

We weren't planning on supporting Windows 7 because it's EOL - but there have been a few requests for it. If there are any other users stuck on Windows 7 - 👍 this issue so we can prioritize it.

I need to dig up a Windows 7 environment too.

I think the VM issue is probably this one: https://github.com/onivim/oni2/issues/994 - the VMs tend to have issues with the OpenGL support. We need to either switch to DirectX (better supported) or a software rendering strategy (supported regardless of hardware): https://github.com/onivim/oni2/issues/1588

bryphe commented 3 years ago

Since Windows 7 was EOL almost a year ago (Jan 14th 2020) - and haven't heard any other requests for support - no plans to support it.

Updated our system requirements to reflect that: image