Dear ARMed Windows-Users,
there is something rotten with the state of OpenGL on our platform.
Let me start explaining the situation using a premium app, which has native ARM64 builds for quite some while - Blender.
When started on aged Snapdragons, this should be the default error prompt:
But even on the mentioned Snapdragon 8cx Gen 3, Blender quietly quits upon start (without any error).
The culprit is the Mesa (D3D12) v25.x.x driver, which is part of Microsoft's Compatibility Pack and translates OpenGL API calls to Direct3D 12.
Thanks to @mmozeiko (who offers several Mesa3D components as arm64 & x64 builds for Windows), the remedy is rather neat and simple.
By placing an older opengl32.dll (& dxil.dll) next to the executable, we can force its use instead of the global OpenGL driver.
So download the mesa-d3d12-arm64-24.3.4.zip and extract the two DLLs into C:\Program Files\Blender Foundation\Blender x.y
This should revive Blender on systems with a SD 8cx Gen3,
Snapdragon X1 users should not be affected (as they can either use Vulkan directly as backend or Zink).
Last but not least, this fix can be applied to any other OpenGL app or game, which refused to work on Windows on ARM
(just make sure the .dll matches the cpu architecture of the .exe).
Dear ARMed Windows-Users,
there is something rotten with the state of OpenGL on our platform.
Let me start explaining the situation using a premium app, which has native ARM64 builds for quite some while - Blender.
When started on aged Snapdragons, this should be the default error prompt:
But even on the mentioned Snapdragon 8cx Gen 3, Blender quietly quits upon start (without any error).
The culprit is the Mesa (D3D12) v25.x.x driver, which is part of Microsoft's Compatibility Pack and translates OpenGL API calls to Direct3D 12.
Thanks to @mmozeiko (who offers several Mesa3D components as arm64 & x64 builds for Windows), the remedy is rather neat and simple.
By placing an older
opengl32.dll(&dxil.dll) next to the executable, we can force its use instead of the global OpenGL driver.So download the mesa-d3d12-arm64-24.3.4.zip and extract the two DLLs into
C:\Program Files\Blender Foundation\Blender x.yThis should revive Blender on systems with a SD 8cx Gen3,
Snapdragon X1 users should not be affected (as they can either use Vulkan directly as backend or Zink).
Last but not least, this fix can be applied to any other OpenGL app or game, which refused to work on Windows on ARM
(just make sure the
.dllmatches the cpu architecture of the.exe).