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

Qualcomm Snapdragon X Dev Kit for Windows #51

Open
geerlingguy opened this issue Sep 25, 2024 · 147 comments
Open

Qualcomm Snapdragon X Dev Kit for Windows #51

geerlingguy opened this issue Sep 25, 2024 · 147 comments

Comments

@geerlingguy
Copy link
Owner

geerlingguy commented Sep 25, 2024

DSC01251

Basic information

Linux/system information

# output of `screenfetch`
PASTE_HERE

# output of `uname -a`
PASTE_HERE

Benchmark results

CPU

Power

  • Idle power draw (at wall): TODO W
  • Maximum simulated power draw (stress-ng --matrix 0): TODO W
  • During Geekbench multicore benchmark: TODO W
  • During top500 HPL benchmark: TODO W

Disk

MANUFACTURER_AND_MODEL_OF_DISK_HERE

Benchmark Result
iozone 4K random read TODO MB/s
iozone 4K random write TODO MB/s
iozone 1M random read TODO MB/s
iozone 1M random write TODO MB/s
iozone 1M sequential read TODO MB/s
iozone 1M sequential write TODO MB/s
wget https://raw.githubusercontent.com/geerlingguy/pi-cluster/master/benchmarks/disk-benchmark.sh
chmod +x disk-benchmark.sh
sudo MOUNT_PATH=/ TEST_SIZE=1g ./disk-benchmark.sh

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 Mbps
  • iperf3 -c $SERVER_IP --reverse: TODO Mbps
  • iperf3 -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:

1. Install glmark2-es2 with `sudo apt install -y glmark2-es2`
2. Run `glmark2-es2`
3. Replace this block of text with the 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 results

Run sbc-bench and paste a link to the results here:

wget https://raw.githubusercontent.com/ThomasKaiser/sbc-bench/master/sbc-bench.sh
sudo /bin/bash ./sbc-bench.sh -r

Phoronix Test Suite

Results from pi-general-benchmark.sh:

  • pts/encode-mp3: TODO sec
  • pts/x264 4K: TODO fps
  • pts/x264 1080p: TODO fps
  • pts/phpbench: TODO
  • pts/build-linux-kernel (defconfig): TODO sec

Provisional Tests under Windows

  • Idle power draw (Windows 11 Home, no apps running) - 11 W
  • Sleep power draw - 4.4 W
  • Power off power draw - 0-0.9 W
  • Cinebench 2024 (Arm Windows) - 131 single (at 28 W) / 1227 multi (at 99 W)
  • Geekbench 6.3.0 (Arm Windows) - 3020 single (at 28 W) / 15969 multi (at 80 W) (result)
  • Heaven (https://benchmark.unigine.com/heaven) - TODO (at 40 W)
@geerlingguy
Copy link
Owner Author

A few notes as I'm unboxing:

  • 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).
  • The bottom of the unit says "Evaluation only; not FCC approved for resale"
  • According to devs on Discord, the unit comes with Windows 11 Home — and so far besides on-device partitions, there is no official way to download a recovery image or download other editions of Windows 11 built for Arm that work on it.
  • The warranty states it is void if any parts are changed—and two of the phillips head screws in the base are covered by little 🚫 stickers
  • Comparing the size, it's close to, but a little wider and less deep than a typical 1L 'square' mini PC. It's much larger (but shorter) than my GMKTek box (NUC-sized), and it's nearly the same width (just a hair wider) and a little deeper than the Windows Dev Kit (the one from 2023 / Project Volterra)

@MagicAndre1981
Copy link

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.

@geerlingguy
Copy link
Owner Author

Some hardware details:

  • Ethernet port is on a separate daughtercard marked "Running HDMI Board" with an unpopulated HDMI port, and a display connector that is not connected to anything.
  • Ethernet provided by RTL8125BG (2.5 Gbps Realtek NIC) on mPCIe card
  • WiFi is a "T99H432.10" module, presumably Qualcomm though I can't find documentation on it. I have found one laptop, the MSI Alpha 17 C7V, which has the same model number (but .03 instead of .10), and it is listed as "WiFi 7". The WiFi module is E-key, and has a little heatsink mounted to it (with thermal pads on top and bottom).
  • There's an unpopulated PCIe slot (no slot is installed, but the pads are on the board. I would really like that to be populated. Looks like full size x16, not sure if electrically connected as x16, x8, x4, x1, or not at all...
  • There's a 2280 size NVMe SSD, a Foresee XP2200F512G, made by Longsys. It is mounted with a full-length heatsink (with thermal pads on top and bottom).
  • There's a tiny daughtercard called "Running ECB" - does it have something to do with cryptography? Platform security? Not sure, it's mounted above a NanoSIM and microSD slot. The plug it is plugged into is labeled "EC_I/F"
  • That's right, there's a hidden NanoSIM slot (with nothing in it), next to the microSD card slot that is exposed through the front of the case.
  • The cooler is a massive copper heatsink with heat pipes and a massive cooling stack for the SoC itself. There are thermal pads on all the little power circuits, and a large amount of thermal compound on all four RAM chips and the SoC itself.
  • The fan is APEXE model B82DBHA2467, with a 4-pin standard fan header on the motherboard (easy to remove, separate from the copper heatsink). It is connected to the heatsink with screws, and there is a taped on duct to port the exhaust out the side of the Dev Kit.
  • There are a couple CSI ports, many unpopulated headers, an unpopulated eMMC spot near the RAM, and there's a micro USB debug port labeled DBG_UART

@geerlingguy
Copy link
Owner Author

DSC01269

Blog post with many photos and more detailed notes after zooming way way in: Qualcomm Snapdragon Dev Kit for Windows Teardown (2024).

@utp216
Copy link

utp216 commented Sep 26, 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?

@apache405
Copy link

The ECB is an embedded controller board. ITE is one of the more popular EC chips out there.

@jglathe
Copy link

jglathe commented Sep 26, 2024

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.

@SpieringsAE
Copy link

  • 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

@talynone
Copy link

Richard Campbell with hardware design experience speculated HDMI FCC approval was the issue, more info:

https://www.youtube.com/watch?v=NlEV38cO8Gs

@talynone
Copy link

talynone commented Sep 26, 2024

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.

@anonymix007
Copy link

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).

@SpieringsAE
Copy link

Richard Campbell with hardware design experience speculated HDMI FCC approval was the issue, more info:

https://www.youtube.com/watch?v=NlEV38cO8Gs

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).

@theholypumpkin
Copy link

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.

@lukasMega
Copy link

what is the power consumption in common use cases (idle in headless mode, idle with desktop, load, ...) Thank you!

@talynone
Copy link

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/

@talynone
Copy link

talynone commented Sep 26, 2024

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):

https://armrepo.ver.lt/

@driver1998
Copy link

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.

@jglathe
Copy link

jglathe commented Sep 26, 2024

MiniTool ShadowMaker works on arm for an image. restore... better an x86 box, but works reliably.

@geerlingguy
Copy link
Owner Author

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).

@geerlingguy
Copy link
Owner Author

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.

@talynone
Copy link

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.

@geerlingguy
Copy link
Owner Author

Notes from my first boot:

  • The Ethernet LEDs don't seem to light. Don't see an issue with the cabling, it's like the NIC EEPROM doesn't have the LEDs lighting (connected in Windows fine at 2.5 Gbps).
  • Windows 11 Home is silly but at least the account setup bypass still works.
  • After setting up an account, I think there were around 6 or 7 total reboots for Windows Updates, plus a firmware update that made it so my DVI-input monitor no longer worked with the Dev Kit (had to switch to a newer HDMI monitor).
  • The fan is a lot louder than I expected. It ramps down to almost silent at idle (thankfully), but the fan ramps up aggressively any time I do anything (even opening an app, or for background activity). The lowest speed is still louder than my Mac Studio maxed out.

@geerlingguy
Copy link
Owner Author

geerlingguy commented Sep 27, 2024

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.

Screenshot 2024-09-27 at 11 10 31 AM

Want to get Linux going so I can do some real testing ;)

@SpieringsAE
Copy link

Do you have a link to the geekbench test results? Would love to see results of the independent tests

@geerlingguy
Copy link
Owner Author

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.

@talynone
Copy link

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.

@geerlingguy
Copy link
Owner Author

@talynone - I understand that — just wanting to get a picture of how well x86 stuff is emulated and runs on this platform ;)

@talynone
Copy link

talynone commented Sep 27, 2024

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:

https://vulkan.lunarg.com/sdk/home#windows

@geerlingguy
Copy link
Owner Author

geerlingguy commented Sep 27, 2024

Was able to install the Windows Subsystem for Linux with Ubuntu 24.04.

  1. Run PowerShell as Administrator
  2. Run wsl --install
  3. After it completes, reboot
  4. Run wsl --list --online to show available Distros, select one to install
  5. (I ran wsl.exe --install -d Ubuntu-24.04)
  6. WSL dumps you into the Ubuntu environment once it's done

To quit, type exit. To get back in, type wsl.

@jglathe
Copy link

jglathe commented Nov 5, 2024

Try looking at the branch I pointed to, there is stuff for enabling DP in aux-dp. But from what I've read you need more to get it stable.

@jglathe
Copy link

jglathe commented Nov 7, 2024 via email

@CYP4502D6
Copy link

On 11/7/24 09:09, Cytochrome P450 2D6 wrote: Thanks for the image you provided. I have successfully booted Linux and loaded the firmware. But when I execute some commands, it freezes, even |iperf3 -c x.x.x.x| or |cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq| will cause the machine to shut down. Does your machine have such random halt?
Not observed, but read about these on #arch64-laptops. Should be resolved with newer 6.12rc5 or 6.12rc6 kernel. I have seen odd things with inxi when GPU firmware was not loaded.

Message ID: @.***

Thanks, I will try to compile a new kernel to see if this solves the problem.

@Civil
Copy link

Civil commented Nov 7, 2024

My DevKit is actually stable when it boots :)

But I've installed Linux on PCIe SSD (swapped stock SSD for a brand new one and copied most of the partitions there, then removed all windows related stuff and moved grub's efi file to the place where UEFI expects to find Windows bootloader) and I've immediately imported firmwares into the initrd, so I don't know if your instability caused by their absence or not.

@CYP4502D6
Copy link

On 11/7/24 09:09, Cytochrome P450 2D6 wrote: Thanks for the image you provided. I have successfully booted Linux and loaded the firmware. But when I execute some commands, it freezes, even |iperf3 -c x.x.x.x| or |cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq| will cause the machine to shut down. Does your machine have such random halt?
Not observed, but read about these on #arch64-laptops. Should be resolved with newer 6.12rc5 or 6.12rc6 kernel. I have seen odd things with inxi when GPU firmware was not loaded.

Message ID: @.***

I observed again that the machine did not shut down, but reported an error [72387.229430] energy_model: Accessing cpu4 policy failed
and the speed was abnormally slow when compiling a new kernel. I was using another machine (Kunpeng 920) to compile the kernel and install it into the system, but it crashed again when unpacking tar.

@jglathe
Copy link

jglathe commented Nov 8, 2024

You could try the 6.12-rc5-x1e package I built. Just don't use the dtb that is in there for the dev kit, this at least doesn't work here yet - use the current one. Also, what about the SSD you're using. Some stability issues may come from sub-par USB sticks.
What I've seen was some odd behaviour with the rtl8125 ethernet port (with 2.5G switch on it). Changed to 1GB connection (by using a 1GB switch) and this mostly vanished. It's early days for us, still.

@CYP4502D6
Copy link

You could try the 6.12-rc5-x1e package I built. Just don't use the dtb that is in there for the dev kit, this at least doesn't work here yet - use the current one. Also, what about the SSD you're using. Some stability issues may come from sub-par USB sticks. What I've seen was some odd behaviour with the rtl8125 ethernet port (with 2.5G switch on it). Changed to 1GB connection (by using a 1GB switch) and this mostly vanished. It's early days for us, still.

图片
I used the 6.12.0rc6 kernel. There were no errors during installation, but it failed to boot and then rebooted. In addition, my system was loaded on the newly installed internal Nvme SSD. I mounted the original hard drive to /mnt using a hard drive box and successfully extracted the firmware in Windows.

@CYP4502D6
Copy link

Thank you for building the image, I will try it. In addition, when using the old kernel, running the command cat /sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_cur_freq can stably reproduce the energy_model: Accessing cpu4 policy failed error code. Could this be a hardware stability issue?

@jglathe
Copy link

jglathe commented Nov 8, 2024

Not too likely. I recall seeing some talk about cpufreq and reboots when trying that command. Would assume it is fixed in newer rcs.

@Civil
Copy link

Civil commented Nov 8, 2024

I won't be able to try it until this evening at least or even until tomorrow, but overall I would not be counting on stable cpufreq/powersaving yet and one of first things I did was to disable sleep and other powersaving features.

can you check if devkit is stable under load in windows? If it is, then it is for sure Linux issue, question is what exactly causes problems

@CYP4502D6
Copy link

So it seems to be a problem under old linux kernel. At least I did not encounter any problem when running Cinebench and CPUz under Windows.

@SpieringsAE
Copy link

the crashing when accessing cpufreq is talked about here, I believe it is some patch that causes it, it was later talked about in the aarch64-laptops irc that reverting a certain patch stopped the crashing
https://lore.kernel.org/all/[email protected]/

From what I remember it is a firmware issue

@Civil
Copy link

Civil commented Nov 8, 2024

There were some news with more patches around cpufreq on sdx: https://www.phoronix.com/news/Snapdragon-X1-Elite-CPUFreq-V7

Or direct link to patch series: https://lore.kernel.org/lkml/[email protected]/

But I haven't tried it myself. I want to get video out working first :)

P.S. I also will try to replace onboard NIC with Intel 225 because I had enough problems with realtek under linux in my life :)

@Civil
Copy link

Civil commented Nov 11, 2024

https://git.codelinaro.org/abel.vesa/linux/-/commits/x1e-next-20241101 - they have a devicetree there for the devkit. I've tried to compile it and boot, however with no luck (with defconfig I don't get network and I don't get display output, so I don't know whats wrong with it). I'll try to have a better look at it tomorrow.

@Civil
Copy link

Civil commented Nov 12, 2024

defconfig for devkit there is probably missing something like NIC support, if I use config from the kernel - kernel boots, but still no display output.

@talynone
Copy link

Microsoft just released the Windows ARM ISO for download https://www.microsoft.com/en-us/software-download/windows11arm64

@geerlingguy
Copy link
Owner Author

@talynone - Indeed! Now who wants to be the daring person to nuke their Dev Kit and see if they can get the ISO installed? :D

@Civil
Copy link

Civil commented Nov 16, 2024

Now who wants to be the daring person to nuke their Dev Kit and see if they can get the ISO installed? :D

For me that ISO haven't worked out on devkit - no image after WinPE boots even after I enable "Video output in WinPE" option. And with Qcom recovery image I haven't had any problems with reinstalling windows.

I'm using a fresh ssd, where I've copied all the partitions until boot partition from stock ssd.

EDIT: second time the charm - re-enabled "External display in WinPE" in the menu and it displayed the picture. But it doesn't detect NVMe drives without extra drivers :)

@Civil
Copy link

Civil commented Nov 16, 2024

CleanShot 2024-11-17 at 00 51 30

I think those can be extracted either from recovery USB or from official driver packages...

@jglathe
Copy link

jglathe commented Nov 17, 2024

Oh so you're a bit f'ed... means we would need to scavenge the existing Windows installation for the drivers first. At least there is a way out 🤷‍♂️

@Civil
Copy link

Civil commented Nov 17, 2024

Well, exporting drivers from Windows and putting them on another flash drive didn't work unfortunately. And from the list of cab files on github I haven't able to figure out which one is required (for most of them it complains that can't install them from WinPE)...

P.S. And I'm sort of fine - I have 3 SSDs which I'm just swapping - Linux, Windows and clean.

@dougsilva81
Copy link

We messed up with our W11 and the dev kit would not boot anymore. Tried using the Microsoft Official w11 arm64 ISO and it wouln't install. What worked to get windows reinstalled:
Make a WinPE USB drive

  • Obtain a USB drive with TYPE-A or TYPE-C interfaces larger than 16 GB and FAT32 format.
  • Download and decompress the WU0_Thumbdrive_Content_User to the "WU0_Thumbdrive_Content_User" directory.
  • Copy all file directories in the "Thumbdrive" directory to the root directory of the USB drive.

Downloaded windows 11 fro here https://thundercomm.s3.ap-northeast-1.amazonaws.com/uploads/web/Running/WinPE/WU0_Thumbdrive_Content_User/WU0_Thumbdrive_Content_User.zip

You have to download by the link, unzip, copy to the root usb. Boot from usb, before enable UEFI some parameters described in the manual. It boots from usb, copies files, reboots and after this, windows 11 starts installation.
https://docs.qualcomm.com/bundle/publicresource/topics/80-62010-1/install-os-winpe.html?product=1601111739937064

@jjlauer
Copy link

jjlauer commented Nov 19, 2024

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:

  1. Do Linux VMs run better on non Dev Kit hardware such as the various laptops that also ship with the Snapdragon X SOCs?
  2. I can only get something like Ubuntu 24.04/24.10 arm64 .isos to install on Hyper-V if i limit the vCPUs to 1. If I try for anything more than 1 vCPU, the install/boot process hangs immediately after grub. If I stick to 1 vCPU, it does install successfully and boots, but the performance is terrible. Is there a trick or a better distro that runs well on Hyper-V? It's confusing since WSL runs perfect. My guess is the WSL kernel has drivers/enhancements vs. stock Ubuntu arm64 that allow it to run great on this SOC.

@jglathe
Copy link

jglathe commented Nov 19, 2024

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.

@Mis012
Copy link

Mis012 commented Nov 19, 2024

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.

@jjlauer
Copy link

jjlauer commented Nov 19, 2024

@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.

@ankushnarula
Copy link

ankushnarula commented Dec 2, 2024

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:

A NixOS derivate that generates a bootable iso for Snapdragon X Elite's Hyper V.

No existing linux .iso I am aware of work properly on Hyper V. A standard NixOS image may boot, but runs very slowly, taking hours to boot the kernel.

I noticed WSL2, which runs on Hyper V is quite fast. So I created an image with the Microsoft WSL 2 Kernel. I tried using Microsoft's kernel config, as well as letting Nix generate the config. Both work.

@jjlauer
Copy link

jjlauer commented Dec 2, 2024

@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.

@jjlauer
Copy link

jjlauer commented Dec 3, 2024

[@ankushnarula](Screenshot From 2024-12-03 12-53-01) I installed stock Ubuntu 24.04 arm iso (using 1 vcpu), compiled the WSL kernel, and voila Ubuntu is running really well in early tests. I was able to also use up all the vCPUs and assign all 12 of them and ubuntu booted and seems to be running well. Perhaps folks on this thread that are closer to building kernels can figure out if its simply the config & drivers that are the difference or if the WSL kernel changes something else important. Either way, seems like a custom distro would be an elegant solution to getting linux VMs to run well on these qualcomm socs.

@talynone
Copy link

talynone commented Dec 5, 2024

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

No branches or pull requests