Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results
The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.
Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/
I got a Windows Dev Kit 2023 (Project Volterra arm64 device). I installed VS2022 and can do userspace development just fine, but not so much kernel development.
First I tried with the latest EWDK, which didn't work - compiler couldn't find WDK headers. I also noticed that CL.exe was used from "Hostx86" directory and "Hostarm64" was missing.
I thought that there EWDK doesn't yet support arm64 and tried with WDK/SDK and VS buildtools not from EWDK - there "Hostarm64" directory exists.
After installing WDK I was prompted to install VS addon for driver development and that failed. I looked at installation log and it seems that addon only supports VS for amd64:
29.11.2022 10.55.03 - Supported Products : 29.11.2022 10.55.03 - Microsoft.VisualStudio.Community 29.11.2022 10.55.03 - Version : [17.0,18.0) 29.11.2022 10.55.03 - ProductArchitecture : amd64 29.11.2022 10.55.03 - Microsoft.VisualStudio.Pro 29.11.2022 10.55.03 - Version : [17.0,18.0) 29.11.2022 10.55.03 - ProductArchitecture : amd64 29.11.2022 10.55.03 - Microsoft.VisualStudio.Enterprise 29.11.2022 10.55.03 - Version : [17.0,18.0) 29.11.2022 10.55.03 - ProductArchitecture : amd64
I thought that I could try to live without addon and just ran msbuild from VS command prompt from SDK. This also failed because it again couldn't find WDK headers.
I opened project with VS, checked include paths and noticed that DDK_INC_PATH macro is missing. Just for test I added env variable with that name and pointed it to the location of WDK headers
(c:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\km). This didn't help and I gave up.
Anybody succeeded in building drivers on arm64 machine? I know I can cross-compile for arm64 on amd64 and I have been doing it for a while, but I really like that Volterra device and would like to use it as my main development hardware.
Upcoming OSR Seminars | ||
---|---|---|
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead! | ||
Kernel Debugging | 30 January 2023 | Live, Online |
Developing Minifilters | 20 March 2023 | Live, Online |
Internals & Software Drivers | 17 April 2023 | Live, Online |
Writing WDF Drivers | 1 May 2023 | Live, Online |
Comments
Given that VS (natively) on Arm64 only became "official" earlier this month (V17.4), and no WDK has been released since then, I would guess that the WDK is not supported for natively building drivers on ARM.
Peter Viscarola
OSR
@OSRDrivers
Heh, I wish Microsoft would have stated it clearly. It is somewhat ironic that the device name is "Windows Dev Kit 2023", but you cannot really do (driver) development on it.
Istipakov,
I got the exact same problem as you. WDK.vsix keeps reporting an error, and I ended in the same conclusion that arm64 platform is not supported.
However, it keeps being possible to compile an arm64 driver.
I downloaded the EWDK, ran LaunchBuildEnv.cmd, then started VS 2022 from the prompt as described here : https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk
From that, I could recompile the WDK samples available here : https://github.com/Microsoft/Windows-driver-samples
(edit : target arm64, to be more precise)
Unfortunately I could not create a new Driver type project from VS 2022, so I edited the project of a sample and built my own project file manually.
I hope this helps.