You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here are all the items that require solving, for the Windows option to become somewhat usable on the Pi 4:
Major showstoppers
usbxhci.sys needs to use double DWORD access to read/write 64-bit xHCI registers, instead of QWORD. → Without this, the VL805 xHCI controller doesn't work and none of the rear-panel USB-A ports can be used. → We have a known workaround, but it would be a lot nicer if we could avoid patching system files....
EDIT: Looks like creating an HKLM\System\CurrentControlSet\Control\Compatibility\Device\USBXHCI:ACPI!VEN_PNP&DEV_0D10 key and creating a USBXHCIREG_QWORD with value 0x70000000003 can be used to enforce 32-bit access.
UEFI boot should not freeze when no SD card is present. → Classified as major showstopper as it is a lot more convenient to create and boot a single Windows USB boot media, than have to require a separate SD. Tracked in Improve Arasan driver to fail gracefully when no card is present #37.
Windows 10 ARM64 Genet driver → Any OS is next to useless without native Ethernet connectivity, and requiring an external USB Ethernet adapter (for which few manufacturers seem to have Windows 10 ARM64 drivers) is less than convenient. Considering how unlikely it is that Broadcom will be investing resources for that effort, the Genet driver will have to come from a third party...
Partial showstoppers
3 GB RAM limit → When booting from rear USB, we can use up to 3 GB RAM (as opposed to 1 GB when booting from USB-C), but it'd be a lot nicer to have the full 4 or 8 GB RAM available, for those who have these models. With Windows being a lot more RAM-hungry than Linux, we qualify this as a possible show stopper.
Wifi driver → Same story as Genet. However, if we can solve wired connectivity, this isn't as critical.
Minor inconveniences
Audio (from jack) is broken. → Most likely because the Pi 3 driver being reused does not apply to Pi 4...
PL011/miniUART serial may need updating to be usable → We might be able to "patch" the existing Pi 3 drivers to fix that...
SPCR ACPI table is harcoded for PL011 on the Pi 4 → SPCR should be dynamically updated if miniUART is used. Tracked in Hardcoded UARTs in ACPI #118.
Here are all the items that require solving, for the Windows option to become somewhat usable on the Pi 4:
Major showstoppers
usbxhci.sysneeds to use double DWORD access to read/write 64-bit xHCI registers, instead of QWORD. → Without this, the VL805 xHCI controller doesn't work and none of the rear-panel USB-A ports can be used. → We have a known workaround, but it would be a lot nicer if we could avoid patching system files....EDIT: Looks like creating an
HKLM\System\CurrentControlSet\Control\Compatibility\Device\USBXHCI:ACPI!VEN_PNP&DEV_0D10key and creating aUSBXHCIREG_QWORDwith value0x70000000003can be used to enforce 32-bit access.Partial showstoppers
Minor inconveniences