Open geerlingguy opened 2 months ago
A few notes as I'm unboxing:
there is no official way to download a recovery image or download other editions of Windows 11 built for Arm that work on it.
upgrading to a higher Windows SKU should work via entering a product key in settings app.
Some hardware details:
DBG_UART
Blog post with many photos and more detailed notes after zooming way way in: Qualcomm Snapdragon Dev Kit for Windows Teardown (2024).
- Box includes a power adapter and USB-C to HDMI adapter (I'm guessing the latter was added when they decided to drop the internal HDMI port).
I wonder if you solder the appropriate HDMI port to the PCB if it would function. Maybe they didn't want to pay for HDMI licensing?
The ECB is an embedded controller board. ITE is one of the more popular EC chips out there.
Arrow has just canceled my order for this one - I ordered on the same day :raised_eyebrow:. Thought they would ship none, then, but... whatever. The hardware seems nice enough, though. Do you want to run Linux on the thing? That was my intent. You also can run the Windows Dev Kit 2023 with Linux.
- Box includes a power adapter and USB-C to HDMI adapter (I'm guessing the latter was added when they decided to drop the internal HDMI port).
I wonder if you solder the appropriate HDMI port to the PCB if it would function. Maybe they didn't want to pay for HDMI licensing?
doesn't the DP to HDMI converter get around that? as in the licensing cost is already part of the converter chip?
But yeah I wondered the same thing, maybe even make a different daughterboard that just exposes DP directly.
Same with the unpopulated PCIE slot, wonder how far populating that gets, on windows it might be locked out of the ACPI tables, but on Linux you might be able to just add it to the devicetree blob
Richard Campbell with hardware design experience speculated HDMI FCC approval was the issue, more info:
Getting the Windows ARM ISO is doable but requires a bit more effort right now:
https://www.makeuseof.com/download-install-windows-11-arm-iso/
Of course make sure you have a backup or source for all the system specific drivers before wiping the existing installation.
T99H432.10
I believe the actual model is NCM865A. NCM865 is used in some WiFi 7 products and AFAIK the only difference between them is the Bluetooth connection interface (USB vs UART).
Richard Campbell with hardware design experience speculated HDMI FCC approval was the issue, more info:
tbh, why even hdmi at all, DP is right there, on the board, why put extra chips on a board to make the display interface worse (arguably).
I'm very excited about the Linux benchmarks!!!
I'm waiting for Tuxedo Computers with their Snapdragon X Model to be released maybe at the end of 2024 and Wondering what performance I can expect in comparison to my Late 2013 MacBook Pro.
Now with kernel 6.11 out, the Snapdragon X chips should at work, but looking at the release notes looks like it's still not fully baked. Probably by 6.12.
what is the power consumption in common use cases (idle in headless mode, idle with desktop, load, ...) Thank you!
There's not many disk imaging/cloning apps that work on Windows ARM right now, this procedure seemed to have worked for others (read the comments for gotchyas):
https://old.reddit.com/r/Surface/comments/1dniufo/ssd_clonemigrate_on_arm/
Can't seem to find an Windows ARM native build of iperf3, but x86/x64 version should work fully without issue in emulation.
In general the following is a great resource for finding native Windows ARM apps (well maintained/updated):
There's not many disk imaging/cloning apps that work on Windows ARM right now
WinPE on ARM64 supports x64 emulation, and some disk partitioning/imaging software works fine under emulation. I tried DiskGenius and it works fine. dd for Windows might work as well.
MiniTool ShadowMaker works on arm for an image. restore... better an x86 box, but works reliably.
Regarding the HDMI port, Richard Campbell speculates that port could be at least a significant reason for the shipping delay, if they weren't able to get it cleared for compliance (maybe also the reason the FCC clearance didn't happen).
Regarding Windows 11 image creation—I have created aarch64 images using UUPdump.net in the past, and that works fine, it's just... not official in any way, shape, or form.
What I would really like to see is Microsoft providing an arm64 ISO like they do for x86 on their Windows 11 Download page.
Little off topic, but a bigger reason some smaller open source projects don't have WIndows ARM64 builds even more than the availability of the Dev Kit is because GitHub (which is owned by Microsoft) Windows ARM64 runners are currently only available for enterprise customers. GitHub has said it should open it up to everyone soon but if Microsoft wants faster adoption they really should light a fire on that.
Notes from my first boot:
Single core gets up to around 30W, multi-core Cinebench 2024 gets up to 100+ W, and the fans ramp up to about 58 dBa measured 1' away. Definitely a loud little machine.
Want to get Linux going so I can do some real testing ;)
Do you have a link to the geekbench test results? Would love to see results of the independent tests
I'm updating all the final results in the OP at the top of the issue, and just added a link to the Geekbench result there.
Heaven has no native ARM64 tests, so that may not give the best results.
Solar Bay, Wild Life: and Wild Life: Extreme in 3DMark have Windows ARM64 native versions.
@talynone - I understand that — just wanting to get a picture of how well x86 stuff is emulated and runs on this platform ;)
Recommend making sure you have the OpenCL compatibility pack from the Microsoft Store installed .
https://apps.microsoft.com/detail/9nqpsl29bfff?hl=en-US&gl=US
You can also now download/install latest ARM64 Vulkan runtimes and SDKs from:
Was able to install the Windows Subsystem for Linux with Ubuntu 24.04.
wsl --install
wsl --list --online
to show available Distros, select one to installwsl.exe --install -d Ubuntu-24.04
)To quit, type exit
. To get back in, type wsl
.
Could you dump the acpi tables of this thing and pr them to https://github.com/aarch64-laptops/build ? That would help building a device tree for it - to boot Linux directly.
fun find: open terminal, type ubuntu
, and it comes up in the same window :raised_eyebrow:
@jglathe yeah; seems like if you only have one distro installed, running wsl
is an alias to just launching that distro in the same terminal window.
Yep WSL works great, so does Windows Sandbox (needs to be added on PRO edition via add Windows components), even graphics partitioning with Hyper-V works (I did so just an experiment, not much practical use),
Windows Subsystem for Android doesn't work on Elite computers, because Elite processors only support ARM64 binaries, and Windows Subsystem for Android has 32bit ARM binaries.
Someone did create a hack for it with ARM64 binaries injected into a custom image:
https://www.xda-developers.com/windows-subsystem-for-android-snapdragon-how-to/
Latest version can be found here: https://github.com/snickler/WSA-Patched/releases
Could you dump the acpi tables of this thing
Haven't done that before, what's the best way; is there a tool that runs under Windows and would work on aarch64?
Could you dump the acpi tables of this thing and pr them to https://github.com/aarch64-laptops/build ? That would help building a device tree for it - to boot Linux directly.
I wonder how close it is to the CRD
I just used these for the WDK2023 and the HP Omnibook X14. and a little phind
CRD/QCP could be quite close, as it is for many of these
to my understanding it's literally CRD with some components not soldered on (and with secureboot on because F U), I assume upstream Linux has a devicetree for the CRD but idk how complete it is (and of course dtbloader will quite possibly not realize that this is literally just CRD)
it does seem that while it's locked down in the sense that I care about, it might allow overclocking (unlike any other variant), which could be quite fun
Was told by someone from Linaro on Mastodon to use this guide, so will try that now. (Seems to match up to some of the above suggestions, thanks ;)
Using SSDTTime, I dumped the following acpi table data:
I posted it in a PR to the aarch64-laptops/build repo here: https://github.com/aarch64-laptops/build/pull/110
I tried to boot kernel 6.12-rc1
on a Thinkpad T14s Gen 6
.
The kernel loads and seems to start initrd but almost immediately the screen turns blank and the laptop freezes hard.
The output captured with high-speed video and earlyprintk=vga
and ignore_loglevel
does not give a hint. It does not seem to detect USB.
Hmm a little off topic, but: Try using the USB type-c connectors for booting. Upstream dtb for T14s doesn't have working USB type-a yet.
earlyprintk=vga
is really not going to work here... you want earlycon=efifb
I thought my experience booting Linux on a Snapdragon X Elite could be of use to Jeff but please do tell me if this is considered too off topic.
I've duplicated the usb-a drive to usb-c but this did not affect the boot. I don't think it boots far enough.
I've exchanged earlyprintk=vga
with earlycon=efifb
which gives better readable output until it says:
printk: legacy console [tty0] enabled
printk: legacy bootconsole [efifb0] disabled
I'll try keep_bootcon
later.
Last lines before the display turns black:
vreg_bob1: Setting 3008000-3960000uV
vreg_l1d_0pr Setting 880000-880000uV
vreg_l1i_1p0 Setting 1800000-1800000uV
vreg_l2i_1p2 Setting 1200000-1200000uV
vreg_l3i_0o8 Setting 880000-880000uV
vreg_l2d_0p9 Setting 912000-912000uV
input: gpio-keys as /devices/platform/gpio-keys/input/input0
vreg_bob2: Setting 2504000-3000000uV
Could contain typo's, output is hard to read.
Hmm wrong discussion. You could try the multiboot Ubuntu image (with type-c stick) to see if you get further.
@geerlingguy Looks like someone was listening to your wishes
WOW! After a few years of everyone wondering, it sounds like it might finally happen. Hope that line doesn't become a meme in a few months though. They need to get that done quick.
Can't seem to find an Windows ARM native build of iperf3, but x86/x64 version should work fully without issue in emulation.
In general the following is a great resource for finding native Windows ARM apps (well maintained/updated):
I've just successfully build iperf 2.2.n for ARM64 with msys2 clangarm64.
If anyone wants to test/use it, get it here:
I tried to build iperf3, but that fails. And considering this discussion, maybe iperf 2 is better for windows.
Est. Ship: 9 Jan 2025Est. Delivery: 13 Jan 2025 C8380-12C-MP-32G Thundercomm Technology 😭
Yeah same here. @geerlingguy got the only one they had, I'd wager
@jglathe 😱
Maybe my first tweet about this back in June was true... https://twitter.com/geerlingguy/status/1812980507308601549
Basic information
Linux/system information
Benchmark results
CPU
Power
stress-ng --matrix 0
): TODO Wtop500
HPL benchmark: TODO WDisk
MANUFACTURER_AND_MODEL_OF_DISK_HERE
Run benchmark on any attached storage device (e.g. eMMC, microSD, NVMe, SATA) and add results under an additional heading.
Also consider running PiBenchmarks.com script.
Network
iperf3
results:iperf3 -c $SERVER_IP
: TODO Mbpsiperf3 -c $SERVER_IP --reverse
: TODO Mbpsiperf3 -c $SERVER_IP --bidir
: TODO Mbps up, TODO Mbps down(Be sure to test all interfaces, noting any that are non-functional.)
GPU
glmark2-es2
/glmark2-es2-wayland
results:Note: This benchmark requires an active display on the device. Not all devices may be able to run
glmark2-es2
, so in that case, make a note and move on!TODO: See this issue for discussion about a full suite of standardized GPU benchmarks.
Memory
tinymembench
results:Click to expand memory benchmark result
``` # Run the two commands below, then replace this code block with the full result. git clone https://github.com/rojaster/tinymembench.git && cd tinymembench && make ./tinymembench ```sbc-bench
resultsRun sbc-bench and paste a link to the results here:
Phoronix Test Suite
Results from pi-general-benchmark.sh:
Provisional Tests under Windows