Status of the ARM64 device drivers (as of 12 Feb. 2019)

#1
Device Driver Status Additional information
Arasan SD/SDIO Host Controller bcm2836sdhc.sys Works
SD2.0 Host Controller rpisdhc.sys Works
GPIO bcmgpio.sys Works
SPI bcmspi.sys Works
AUXSPI bcmauxspi.sys Works
I2C bcmi2c.sys Works
PWM bcm2836pwm.sys Works
Audio Jack (PWM-driven) rpiwav.sys Works
Mini UART pi_miniuart.sys Works
PL011 UART SerPL011.sys Not working UEFI / ATF issues? The driver works with MSFT’s UEFI.
VC4 Mailbox Interface rpiq.sys Works
VC4 Host Interface Queue vchiq.sys Unknown
VC4 GPU (Graphics) roskmd.sys Not working Only works on the Raspberry Pi 2 (32-bit)
HDMI Audio No driver available Not working
Basic Display Adapter (frame buffer) MSBDD (Inbox) Works
DesignWare HS USB 2.0 OTG Controller mcci_dwchsotg_hcd.sys, mcci_dwchsotg_hub.sys Works Need to download and install MCCI drivers
LAN9514 USB Ethernet Adapter lan9500-arm64-n650f.sys Works Needs MCCI’s USB drivers
LAN7515 USB Ethernet Adapter lan7800-arm64-n650f.sys Works Needs MCCI’s USB drivers
BCM43438 Wireless LAN No driver available Not working WLAN support for RPi 3 B
BCM43455 Wireless LAN No driver available Not working WLAN support for RPi 3 B+
BCM43438/BCM43455 UART Bluetooth No driver available Not working

Some facts:

  • The VC4 GPU driver sample provided by Microsoft (https://github.com/Microsoft/graphics-driver-samples) does not work on the Raspberry Pi 3 (ARM32 Windows 10 IoT Core) as a full display driver. I haven’t tried running it as a render-only driver, but I don’t think it would make any difference.

  • The VCHIQ driver behaves a bit strangely on ARM64 Windows (the ACT led blinks 8 times) and we don’t know if it works or not. Microsoft has ported some userland apps (https://github.com/ms-iot/userland) to Windows 10 IoT Core (ARM32). That may be the only way to see if the driver works properly.

2 Likes
pinned globally #2
#3

I suppose that the USB driver now Works.

#4

Based on the post from @driver1998, I think so.

#5

I tested on a 3B, so LAN9514 should also be working. (It handles a fair amount of network transfer, since Windows Update spins up right after I plug in my ethernet cable, lol)

2 Likes
#6

Updated the post accordingly.

#7

After Updating to the latest drivers, and rebooting, Windows boots up into repair mode. with “Choose your Keyboard Layout” screen.
USB Keyboard stops responding.

I have tried diffrent keyboards, issue remains.

is there a fix to this?

#8

Are you sure that you’re using the MCCI USB driver?

#9

Not sure… Still learning how win10 config works on the raspberry. awell, Lemme redo everything again :stuck_out_tongue:

#10

Try my how-to video. It has the proper drivers.

#11

1809 seems to be somewhat unstable - it sometimes bluescreens during bootup several times in a row, and then Windows automatically goes in repair mode (which isn’t usable, because the USB drivers aren’t injected in the repair wim).

1803 has less problems.

#12

You guys have done a lot of work. You are very good at developing a good idea, because sooner or later, Raspberry will replace all computers. Thank you for your work.

#13

Hello

Is there any way Windows x86 or x64 driver to compiler to ARM64?

Microsoft show to complier a driver to ARM64 on this website:

Unfortunately, my experiences are not enough to get it work.

Kind regards

#14

I have everything set up as needed (which took quite some work beyond what Microsoft says) and I’m still unable to compile from that repo. It attempts without an issue, but I get errors when compiling.

#15

You need source code for the driver in question. Without source code, you’re pretty much stuck. Now, for things like WireShark, it might be useful to compile the TAP driver for ARM64; source is available. But I don’t know of many other useful drivers that are open source.

#16

When new drivers?)))

#17

Is GPIO really works?
I build an application called GpioController::GetDefault().
But it always returns Null.

#18

Where are the GPIO drivers?

EDIT: Wow. I feel dumb for that one. Never mind.

#19

When new drivers??//

#20

For some reason it won’t work in a UWP.
Try calling that API in a desktop application, in C++ with C++/WinRT or C# with .NET Core 3.0.

I wrote some test application before, in C++, haven’t try the C# route though.