-
-
Notifications
You must be signed in to change notification settings - Fork 18
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
Qualcomm Snapdragon X Dev Kit for Windows #51
Comments
A few notes as I'm unboxing:
|
upgrading to a higher Windows SKU should work via entering a product key in settings app. |
Some hardware details:
|
Blog post with many photos and more detailed notes after zooming way way in: Qualcomm Snapdragon Dev Kit for Windows Teardown (2024). |
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 🤨. 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. |
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. |
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). |
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): |
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:
|
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.
To quit, type |
I realize most of the discussion is around getting linux to run, but I did have a question regarding the stock Windows install. I upgraded the Snapdragon X Dev Kit to Windows Pro by adding a license key in order to get Hyper-V running. I am able to create Windows arm64 VMs that run great (by simply using a Windows .arm64 .iso), but Linux VMs on Hyper-V are awful. Here are my questions:
|
No idea why Hyper-V has an issue with non-WSL linux. I've heard this from several people, it's the same issue on the laptops. |
If you mean graphical performance, then I would assume you will get sw rendering by default. Speaking of which, running a Linux VM on Windows will presumably use the windows drivers in any case, and I'd be very surprised if the windows drivers had better performance than freedreno/turnip from what I've heard. |
@Mis012 No, I should have clarified that its not graphical related. I'm just installing server version of Ubuntu. The CPU performance of just the 1 vCPU is slow/awful. Other odd things as well like compiling code, network performance, pings -- they all work poorly too. If you run Geekbench 6, they are orders of magnitude worse than both the host Windows OS or even a guest Windows OS instance in Hyper-V. None of this happens on WSL -- which runs as well as the host Windows OS for all those things mentioned above. |
I haven't tried this yet, but this project claims to have generated a nixOS derivation from inside WSL2 which is then used to generate a flawless bootable ISO installer of nixOS for Hyper-V. The README makes some interesting claims:
|
@ankushnarula I just tried the NixOS iso that was a release on that repo and it worked! Installed it with 4 vcpus, installer came up quickly. So far it feels snappy. Seems like other distros could be built using the same technique, by simply using the WSL2 kernel. |
[@ankushnarula]( |
Rumored Qualcomm mini pc coming from Geekom: |
Update on booting the SnapDragon DevKit with display: first signs of life. Requirements:
This sounds easy enough, but it will fail (it did for me) when you try to boot from type-c, like we did before 'cause the type-a ports weren't operational either. This is because the adsp firmware, despite being available in the initramfs (only), will be loaded after mounting the rootfs (which is on type-c), causing a VBUS interruption, leading to re-detection of the type-c drive, rendering the already mounted rootfs unusable. The way to avoid this is to use type-a USB stick/drive or internal SSD. My current devkit dt supports type-a, this is how it came up. |
I'm surprised nobody tried to plug in an AMD GPU yet, the x16 slot may be missing but m.2 to x4 adapters exist |
Still busy with bringup, tbh. Also, the integrated GPU is not bad, there are new performance patches on the mailing list. |
I suppose even the laptops have m.2 slots, but with @geerlingguy iirc saying at some point that people claimed to run GPUs with no driver changes on HDKs I'd have expected someone here to try to connect a GPU as soon as it's booting Linux. |
@Mis012 - I don't recall anyone getting an eGPU (e.g. AMD, Nvidia, or Intel) to work on any Qualcomm hardware... I've gotten them working on Raspberry Pi, Ampere Altra/Altra Max, AmpereOne, and to some extent on a few other Arm chips. But not Qualcomm (at least not personally). |
I right now don't have time to play with the devkit, so I haven't tried latest kernel. I also don't want to lose NVMe drive to be honest, but devkit also have thunderbolt, which should be possible to use for external GPU at some point (but I'm not even sure how Linux would work with GPU on Thunderbolt). |
@geerlingguy well, I was also surprised when I (thought?) I heard that, since idk that the BAR space used to be particularly large, but it would be third hand information in any case since I'm pretty sure you don't have any HDK personally. |
re: thunderbolt/usb4, in general it works fine on Linux afaik but I don't see any qcom-specific drivers anywhere, not even downstream... so I wouldn't expect it to work here yet. For testing could run off of USB, I wouldn't necessarily expect anyone to find it so amazing to use that they'd be willing to daily drive a GPU connected to m.2 anyway but assuming the test result is "I need this permanently", the option to make the x16 slot work is still there (arguably would be easier with schematics/boardfiles for the cdp, but if you care enough can probably bribe someone in china since I think qcom gives those to all partners) |
I don't think schematics is required to put back x16 slot. If it lqck passive components - they should be standardized and listed in specs for pcie (that is arguably easier to get than schematics of crd), but problem is that it would risk the devkit. And same with populating back HDMI - it risks damaging PCB that would be hard to replace. For pcie - if it's just the slot missing, I can probably put it back myself, but my skills are not good enough nto put back passive components. |
passives would just be caps presumably, I'd be more worried that there is supposed to be a redriver :P repopulating HDMI is imho completely unnecessary, just need to get an appropriate breakout board for whatever ffc pin amount / spacing that connector uses and wire it up to a DisplayPort.. ..port :P Then you can use any ready-made active converter if you still want HDMI |
For the record, I have the dev kit booted from nvme with Ubuntu 24.10. Connected to a 2k display @75 with a type-c to DP cable. Seems pretty stable... DP Altmode is getting better with every rc, so it might be an alternative to hardware mods. Booting from type-c gets you in a timing range where the previous hacks to avoid issues with the rootfs on type-c no longer work. Therefore it's either USB-A (working fine) or internal nvme. For DP Altmode to work you need the adsp firmware loaded. Otherwise no display, which makes it a little hard for an installer. I guess I will finish the setup of the new image by the weekend. |
I wouldn't call it hw modding, the HDMI board is not connected anyway :P |
AFAIR it is still connected, at least I saw second cable that looked like eDP one going to it (that is in addition to network cable from the NIC) |
It is usable now. Kernel is 6.13-rc6, reasonably recent. |
The sdhc slot works too, btw. It is sort of hard-wired to be the first boot option, which is useful. It only does boot from it with an ESP and some efi bootable executable. What doesn't work yet (doesn't work from USB-A either) is to boot Linux on the nvme when grub is on sdhc or USB-A. |
Interesting development: Chatting with someone who has a populated PCIE Slot on this, and also HDMI. jglathe/linux_ms_dev_kit#30 I'm trying to enable the software side (dtb), not looking too bad. |
Nice! Now I have more reasons to risk soldering pcie slot myself :) I'm not that confident in my skills but if it's only slot missing - I can try. |
Let's give it a try, but be careful with the soldering temperature. That is a PCIe GEN4 x8 interface. |
Perhaps not the best place to ask, but does anyone happen to have an image of the OEM SSD they wouldn't mind sharing? I erased Windows and tossed that Ubuntu image on. Worked well for a few weeks, but now it won't boot anymore. |
@BatMahn send me a DM on matrix or so |
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
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
The text was updated successfully, but these errors were encountered: