Old Intel driver versions are detected incorrectly in 24w09a and later
tishAMM opened this issue ยท 9 comments
Bug Description
I have an old laptop with Intel HD 4000. It has the latest drivers, version 10.18.10.5161. When I launch embeddium I get an unsupported driver error. Message says that I need at least driver version 15.33.53.5161. But 15.33.53.5161 is a version of INSTALLER not an actual driver version. If you download 15.33.53.5161 version installer it will install 10.18.10.5161 driver in your system. This confusion from intel won't let me run embeddium mod on my system. Sodium mod however runs fine and Ivy Bridge graphics should be compatible with both mods
Reproduction Steps
Download HD Graphics driver installer version 15.33.53.5161 and run minecraft with embeddium
Log File
[18:55:34] [main/ERROR]: The game failed to start because the currently installed Intel Graphics Driver is not compatible.
Installed version: 10.18.10.5161
Required version: 15.33.53.5161 (or newer)
You must update your graphics card driver in order to continue.
For more information, please see: https://github.com/CaffeineMC/sodium-fabric/wiki/Driver-Compatibility#windows-intel-gen7
For now, adding -Dsodium.checks.win32.intelGen7=false
to your JVM arguments should disable the problematic check.
What Minecraft version are you using?
I discovered this bug in latest snapshot 24w12a, on 1.20.4 embeddium runs fine even with driver version lower than 10.18.10.5161. All Ivy Bridge HD Graphics drivers after 10.18.10.5059 are security fixes, some of which slowed down the already slow performance of HD 4000, so 10.18.10.5059 could be the minimal required version
We didn't change anything about the driver detection code between 1.20.4 and 24w12a... ๐ค
We didn't change anything about the driver detection code between 1.20.4 and 24w12a... ๐ค
Maybe this code wasn't working at all because this link says you MUST HAVE 15.33.53.5161 version or higher but it is working not only with latest HD 4000 driver (10.18.10.5161) but with lower versions as well
tried it again, same results. 1.20.4 - embeddium/sodium works, 1.20.5 snapshot - driver version error. Embeddium version 0.3.9 on both 1.20.4 and snapshot
This is very likely caused by oshi/oshi#2533, which changed how GPU information is gathered on Windows. In snapshot 24w09a, Mojang updated the OSHI library to a newer version that includes that change.
Unfortunately, it doesn't appear there is a publicly accessible API to retrieve GPU driver versions using the old implementation. We'll need to investigate a solution to this problem - ideally one that does not require more hacks.
In 536f734 I have handled the very unintuitive versioning scheme Microsoft/Intel settled on for these old drivers. If possible, I'd appreciate someone with this hardware verifying that https://nightly.link/embeddedt/embeddium/workflows/build-snapshot/20.5%2Ffabric/Embeddium.zip no longer crashes on 1.20.5.