Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Items requiring solving for Windows 10 support #80

Open
5 of 8 tasks
pbatard opened this issue Jul 9, 2020 · 7 comments
Open
5 of 8 tasks

Items requiring solving for Windows 10 support #80

pbatard opened this issue Jul 9, 2020 · 7 comments

Comments

@pbatard
Copy link
Member

pbatard commented Jul 9, 2020

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 USBXHCI REG_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.
@pftf pftf deleted a comment from Biswa96 Jul 9, 2020
@pbatard
Copy link
Member Author

pbatard commented Jul 9, 2020

Was trying to delete the double comment, but looks like @Biswa96 was doing the same, and picked the other one.

I wasn't trying to censor things, so here's what was posted:

Windows 10 ARM64 Genet driver → Any OS is next to useless without native Ethernet connectivity, and requiring an external USB Ethernet adapter

Maybe one can use Android device for internet. Though I have not tried it with Windows 10 but I have used my Android phone for internet with USB tethering in Debian.

And to answer the point being raised, this is precisely what we don't want to have to require from users.

Requiring Windows users to jump through hoops or add an extra device for networking, when there is a readily available internal NIC is not the way to go, as it greatly diminishes the user experience...

@bzy-080408
Copy link

and what about win10arm32?

@samerhaj samerhaj pinned this issue Nov 16, 2020
@samerhaj samerhaj unpinned this issue Nov 25, 2020
@binarymaster
Copy link

and what about win10arm32?

@bzy-080408 for this you will need 32-bit UEFI firmware, which I believe is out of this project scope.

But pull requests welcome as always, I think. 🙂

@bzy-080408
Copy link

@binarymaster I just run windows RT8.1 on it use this uefi,but it's not start.So i think it can't boot the arm32 system.

@samerhaj samerhaj pinned this issue Apr 16, 2021
@paulwratt
Copy link

@bzy-080408 & @binarymaster MS has dropped 32bit support for ARM. According to the Readme, it should be possible to build an armhf version of UEFI Bootloader. That may require patches (I have not checked).

@paulwratt
Copy link

I believe the WiFi Issue from this List is the same problem as the Debian List. Hasn't a solution to this already been found by WoR (or WoA)?

The Genet driver has been updated, is it not possible to verify those changes against the WiFi isssue?

Whats the status of the 2x Minor Inconveniences?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants
@binarymaster @pbatard @samerhaj @paulwratt @bzy-080408 and others