I’m gonna try with just those three. I’m not sure but I think the SROOT driver was the unstable one in WinPE. Still modding the WIM’s…
You’re right about the 3 drivers. I’m installing it now. Had to enable TPM in my BIOS.
FYI: I’m using an ASUS GX10, not a DGX Spark-proper.
CPU performance is probably stumped without the policies + firmware but it works and CPU frequency steps to max.
It just feels really bad. Maybe because of software rendering as well but hard to tell.
I found out which driver was crashing: the nvpep driver. ACPI\NVDA6210.
Ok I did some homework on this. This is what I got:
Windows 11 Pro 26H1 ARM64 build 28000.3231 from UUPdump.net
Results are worse than I thought.
Right away I can tell you that every single OEM making an RTX Spark laptop has a unique PnPID for their GPU. That’s 6 different driver PnPID’s, one for each vendor. There are no other PnPID’s in the driver package nor is there a generic one for the N1X GPU. Forcing any of the six 6144-shader drivers on a DGX Spark gives a Code 43 (Windows has stopped the device because it has reported problems). I tested them all. They’ve locked it right down.
Secondly, the PEP driver - the one used for power management - gives the DRIVER_VIOLATION (0x121) error when installing. It is for ACPI\NVDA6210 (see below).
The USB controllers are supported with inbox Windows drivers, but there’s a USB 3.2 XHCI driver included in the driver pack, which also causes the same error as the PEP driver when installed. USB only works when GPIO, SPI, and I2C drivers are loaded (I didn’t try to nail down which one specifically).
The ConnectX-7 driver isn’t even a problem because it’s included in the Wireless LAN driver package for some reason. I don’t have mine connected that way, so I can’t test it fully, but the wireless driver installs fine, and it works. The Bluetooth driver also installs cleanly. I didn’t test the functionality, but there are no errors.
Now for the gruesome details from Device Manager. These are all the failing & missing drivers:
Name DeviceID ConfigManagerErrorCode
---- -------- ----------------------
Unknown device ACPI\MTKP0001\0 28
Microsoft FF-A Compliant System ACPI\MSFT000C\2&DABA3FF&0 10
Unknown device ACPI\SPMI0001\0 28
Unknown device ACPI\SPMI0002\1 28
Unknown device ACPI\SPMI0003\2 28
Unknown device ACPI\SPMI0004\3 28
Unknown device ACPI\DRAM8901\0 28
Unknown device ACPI\NVDA2860\2&DABA3FF&0 28
Unknown device ACPI\NVDA0310\2&DABA3FF&0 28
I3C Host Controller ACPI\MIPI0100\0 31
I3C Host Controller ACPI\MIPI0100\1 31
I3C Host Controller ACPI\MIPI0100\2 31
Unknown device ACPI\NVDA8200\0 28
Unknown device ACPI\NVDA6210\0 (PEP DRIVER_VIOLATION) 28
Unknown device ACPI\NVDA3000\0 28
Microsoft Pluton security processer ACPI\NVDA8601\0 10
Unknown device ACPI\NVDA300A\0 28
Unknown device ACPI\NVDA300B\0 28
Unknown device ACPI\MTKI0511\0 28
Unknown device ACPI\NVDA2861\0 28
NVIDIA Platform Controllers and Framework ACPI\NVDA0820\NPCF 31
Unknown device ACPI\MTKW0599\2&DABA3FF&0 28
Unknown device ACPI\NVDA2810\D7 28
MeTelemetryKMD Device ACPI\NVDA8800\2&DABA3FF&0 31
Unknown devices don’t report what they are. Code 10 is “device can not start”. Code 28 is a missing driver. Code 31 is “device is not working properly because Windows can’t load the driver”.
Back to DGX OS it is.
We’ll have to wait until the RTX Spark is released. What Windows images are available to download are missing many platform-specific driver and NVIDIA didn’t make public any, yet!
Looking at the above Device Manager output there are a lot of Driver not installed entries (28), along with Windows cannot load the required driver entries(31). The most troubling is the Power Engine Plug-in violation one (PEP DRIVER_VIOLATION).
Any attempt to get Windows 11 running before the RTX Spark release seems futile.
The RTX Spark Dev Kit will arrive on Nov 24, and I’ll have access to the recovery image. I doubt it will load on the DGX Spark. These being SoC systems the firmware makes all the difference.
Personally I hope that we never get Windows on DGX. But I commend your efforts, and hear the sqirms from the DGX team at NVIDIA as your progress went forward.
Happy to see open hardware, OK with Linux on our platform.
The different INFs are needed because of hardware quirks that stem from those different designs.
Honestly with the ASUS GX10 you’re probably in a good position because the ASUS ProArt GR1X is most likely literally the same PCB design with the port stripped off so whenever that releases you will probably have high probability of it “just working” (well who knows though).
There were some things that weren’t going to work anyway just because of firmware differences, really the only annoying thing that doesn’t work right now is the GPU, rest I think most people can live with.
I do find this a stupid way to segment out a product, but at least they are consistent (at least for now), Linux basically is dead for N1X as well, the driver contains none of the device ids as well. Based on tests by people who have one, apparently Omarchy, Linux is on software rendering as well.
But apparently they have people working on kernel patches on Linux to get N1X running as well and sure I can live with that, but just when you turn that small knob for god damn Linux please turn it on for Windows.
I don’t think there was any reason for squirming, if you were to ask them whether or not it would work (disregarding official capacity) honestly it would be weirder if it did not work.
None of the desktops haven’t shipped yet. The GR1X has no support page, thus no drivers yet. I’ll keep an eye out for it though. I keep checking almost every day.
If something is missing a driver, power management is going to fail.
I don’t know if expecting every device to handled by a driver is something that will happen. Is it possible, probably, but that is pretty close to supporting the configuration on Windows.
Power management is much less of a concern for me, since there’s no battery on it and pretty much stays plugged all day, at most I’d probably care about display off / sleep. Heck honestly I wouldn’t care if it ran at 60W idle if I could reasonably use Windows, though I’m aware others might be more sensitive about power usage.
I wanted Windows for the already set up graphics integrations that are already well established there. Sure yes, theoretically it is possible on Linux, but why would I maintain all those integrations when there is a perfectly good and pretty much the reference implementation support on Windows (and very clearly they know good well about this by releasing the RTX Spark).
RTX has been released, you can pick up a RTX device if you have a retailer near you. Or if you ship it’s roughly ~3 day delay on my end
@eggman you’re correct! Microsoft’s RTX Spark Dev Box will be released on Nov 24. That’s what I ordered.
I wanted Windows when I saw that you don’t have to deal with 2 layers of video drivers and libraries via virtual environments and Docker. You can just install something natively, get a full GUI, and it just works. Hermes Desktop with its built in llama.cpp engine, Unsloth Desktop and the same, Comfy Desktop with auto model download without having to manually transfer files between folders…plus all the Windows desktop software that can use an NVIDIA PC GPU right away.
Well with patches and workarounds the first reports of fully functioning (including GPU/CUDA) on Linux for the RTX Spark have come out (better CPU performance, though that is probably expected because the story of ARM is much better on Linux, or at least details since the kernel is open source).
I really don’t understand the market for segmenting the same piece of silicon by OS. It isn’t even DC-silicon vs consumer-silicon, it’s the same piece of sand which is heavily annoying me.
Is it possible to run a Windows on Arm VM on the DGX Spark? I have some legacy asp.net framework projects that I’m working on and it would be nice to be able to run a small Windows VM on the spark just to run these on IIS instead of needing an actual windows pc.
I’m not a VM pro, nor am I a Linux pro, ChatGPT says it might be possible, just figured I would ask in case you guys already know the answer is no.
VM is possible. You will not have GPU acceleration in that VM though.
You should take a look at GitHub - dockur/windows-arm: Windows for ARM in a Docker container. · GitHub
I am running Windows on ARM successfully on a Jetson Thor. Didn’t test it on the Spark so far but would expect that it runs as well.
Unless you use QEMU for processor emulation, you’re going to need Windows on ARM and I don’t recall if any ARM versions package in IIS in the first place. AFAIK Windows Server is an x64-only affair which is where Pro adopts production service packages like IIS from.
thanks for the responses, QEMU was what I was working on (with agent help). I’ll check out that GitHub also, and I’ll follow up if I get anything working. With the RTX spark coming out I was hoping Windows on ARM would be viable as a VM and wishful thinking that IIS would work. I really just need a minimal VM so I can work on migrating some projects without needing another PC.
You need to be careful about one thing, is that there are some very odd behaviors regarding either a Windows VM or just aarch64 or just QEMU at aarch64.
To install Windows use the ramfb display. You should always keep the ramfb display even afterwards, even after adding virtio-gpu-pci as well after the virtio drivers.
There are some things I am not sure of but:
- There appears to be a timing where proactively resizing the window before ramfb is loaded and virtio-gpu is initialized that results in a “Black Screen” where nothing happens, this particularly shows up as a CPU core spinning taking 100% utilization
- Memory has problems getting reserved? Either by Windows or Qemu. I find restarting it does nothing, and it is faster just to change
-m, say add 1G or substract 1G
Anyway best of luck, I know it works, but there are finicky things going on
