Windows / UEFI on Rock 5 (Mega thread)

RK3588 is actually a decent SoC for running Windows ARM64. Its CPU uses the same architecture as Qualcomm Snapdragon 8cx, only with lower clock speed. But more importantly, it has much more IO exposed to the user, and most of the documents are open to public compared with Qualcomm. That’s why I’m creating a mega Windows thread for Rock 5 here (maybe also for other rk3588 devices).

Rockchip is still working on their EDK2 UEFI port, and Radxa uploaded the BSP here. But the code and repo structure isn’t really nice to work with. To get the ball rolling, I created another repository based on the one from Rockchip, trying to organize everything properly:

Updated on: 2023/06/01

Supported peripherals

Device Status Notes
USB 3 / 2.0 / 1.1 :green_circle: Working Host-mode only
PCIe 3.0 :yellow_circle: Partial
PCIe 2.1 :red_circle: Not working
SATA :green_circle: Working
SD/eMMC :green_circle: Working
HDMI output :green_circle: Working Single display with mode limited at 1080p 60 Hz
USB-C DP output :red_circle: Not working
eDP output :red_circle: Not working
DSI :red_circle: Not working
UART :green_circle: Working
GPIO :yellow_circle: Partial No pin function support
I2C :green_circle: Working
SPI :green_circle: Working
SARADC :red_circle: Not working
PWM :white_circle: Untested
SPI NOR Flash :green_circle: Working
Voltage regulators (RK806, RK860) :green_circle: Working
FUSB302 USB-C PD negotiation :red_circle: Not working

Supported OSes

OS Version Tested/supported hardware Notes
Windows 10 (1904x), 11 Status
NetBSD 10 HDMI GOP, USB, SATA, UART
VMware ESXi Arm Fling 1.12 HDMI GOP, USB Need to hide PCIe 3 in ACPI

Any progress will be updated here.

There’s also a Telegram group :smiley:

10 Likes

Screenshot of command prompt and 7-zip benchmark:

1 Like

Nice so basically you got Windows on Rock 5B.
Thing is… if nothing will be compatible… steam etc etc…
Wouldnt be also a good idea to try a ChromeOS (version like ChromiumOS) since its more turned to Desktop and also has the compatible store ?

Well I guess there’s already ChromiumOS port for rk3588. For Windows, it has x86(-64) translation support, so the only problem is drivers.

2 Likes

Good Job Big Strongtz!!

Thanks Sophon Dalao.

PCIe works in UEFI now

6 Likes

This is probably off topic, but does this mean we can uefi boot grub and use grub to boot linux straight into the userland? Will HDMI work after the kernel is loaded?

Well this is not off topic, UEFI can be used to boot mainline LInux. If UEFI set up the HDMI framebuffer, Linux can simply use it with the efifb driver.
However, Rockchip is still working on HDMI support in UEFI.

Hi @strongtz

Does “only in UEFI” means that the UEFI driver works correctly, but the the device is not exposed via ACPI?
Thank You!

Can you please create a flashing guide for WOR. I have a 5b with me and want to test this out as well.

Thank you

Wouldn’t it be possible to connect an external GPU to the M.2 slot?

Mario Bălănică on Twitter: “Windows 11 Arm desktop running on @theradxa 's ROCK 5B single-board computer with RK3588. https://t.co/MupXdTL9XJ” / Twitter

3 Likes

Did he make USB3.0 work?
I wonder how he did it?
Maybe there is some kind of repository with patches for UEFI?

this is great news, thank you.

…and missing a GPU that is DirectX/Direct3D capable (Qualcomm’s Adrenos are). Windows 11 w/o GUI acceleration when used as a Desktop OS feels like… ?

1 Like

With no GPU driver I think it uses software rendering via generic video driver, it worked surprisingly well on the Raspberry Pie 4 (no GPU driver either) not as bad as I thought it would be.

An external GPU may not work as the display drivers included in Windows 11 Arm seem to only support Qualcomm hardware.

Something that might be of interest is that Windows 11 Arm does support some Red Hat virtual machine display drivers which can use GPU acceleration (on paper), would it even be technically possible to run Win 11 Arm in QEMU linux and pass the OpenGL/Vulkan acceleration through the VM drivers ?, probably a big project even if it were possible.

The performance of Adreno under windows and x86-64 emulation isn’t that great but it can run some current games at 30fps.

Mediatek not to long ago implied that MS and Qualcomm have an exclusivity deal so whenever that deal expires is probably when you might see Arm Mali GPU drivers appear for windows.

1 Like

Hi strongtz,

Can you tell which uefi/ boot manager is that you have in the picture?

Where can I get it from? How do I flash it and boot from it?

thanks for your contribution

@strongtz Now Rockchip released the UEFI HDMI driver for RK3588.

3 Likes

Yeah I saw it. Yuntian mentioned it in Telegram.