Open geerlingguy opened 1 month ago
@geerlingguy there does seem to be a preliminary dtb for the devkit in the works by qualcomm:
https://lore.kernel.org/all/20241005182250.788272-1-quic_sibis@quicinc.com/
For that to be fun you'd need a devkit, tho
It's shipping for me!
Also got an advance shipment notice.
Got it, it's 2 times faster compiling my app than a dell core i9 (9th gen) precision 7540 laptop. But making more noise too, and the dell is noisy...
I've seen that x1e is fast, builds ~3 times faster than the Windows Dev Kit 2023, and faster than the equivalent of a Ryzen 9-3900 when cross compiling. Tested on a HP Omnibook X14 with x1e-78-100. Which is not that noisy, but clearly audible when its on full (compile) load.
Um, Qualcomm and Arrow just killed this product. No further units, no future support, but also full refunds for all purchasers and you can keep the hardware.
Um, Qualcomm and Arrow just killed this product. No further units, no future support, but also full refunds for all purchasers and you can keep the hardware.
For real? :( You got a link or something?
One going spare. Unit arrived today. Now surplus, using a ARM64 laptop instead.
I'm sure there are people who would be willing to buy one, but could also gift it to someone to work on Linux support since it seems clear that qcom won't be doing that anymore
Heh, also blogged about it today here: Qualcomm cancels Snapdragon Dev Kit, refunds all orders.
What an odd situation! Still want to get Linux on it.
Mine just arrived, thankfully. There is a basic dt already, will try to bring it up with Linux in the next days. No dp or HDMI might complicate matters a bit, we'll see.
well, the (e)DP connector is there :P
Hmm I pulled the patchset from Sibi, its now in my repo, too Sibi says it is basically feature complete, so lets see. I have put compiled kernel debs on LinuxKernels. It can be combined with the multiboot preinstalled desktop images , but I guess I need some time and messing around to come up with a ready image. The main issue that I currently see is dp altmode, although Sibi states it's working. Maybe it is with a type-c connected display, will try. Those type-c to HDMI adapters are a maybe.
We have first light
jglathe@angrybox:~$ uname -a
Linux angrybox 6.12.0-061200rc3-x1e-devkit-generic #20241013143332 SMP PREEMPT Sat Oct 19 06:04:30 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
jglathe@angrybox:~$ sudo lshw -short
H/W path Device Class Description
=====================================================
system Qualcomm Technologies, Inc. X1E001DE Snapdragon Devkit for Windows
/0 bus Motherboard
/0/1 memory 1MiB BIOS
/0/2 memory 2304KiB L1 cache
/0/3 memory 1152KiB L1 cache
/0/4 memory 36MiB L2 cache
/0/6 memory 32GiB System Memory
/0/6/0 memory 32GiB TSOP 8448 MHz (0.1 ns)
/0/9 processor ARM (446)
/0/5 processor cpu-map
/0/7 processor cpu
/0/8 processor cpu
/0/a processor cpu
/0/b processor cpu
/0/c processor cpu
/0/d processor cpu
/0/e processor cpu
/0/f processor cpu
/0/10 processor cpu
/0/11 processor cpu
/0/12 processor cpu
/0/13 processor cpu
/0/14 processor domain-idle-states
/0/15 processor idle-states
/0/100 bridge Qualcomm Technologies, Inc
/0/100/0 network WCN785x Wi-Fi 7(802.11be) 320MHz 2x2 [FastConnect 7800]
/0/101 bridge Qualcomm Technologies, Inc
/0/101/0 enP5p1s0 network RTL8125 2.5GbE Controller
/0/0 bridge Qualcomm Technologies, Inc
/0/0/0 /dev/nvme0 storage FORESEE XP2200F512G
/0/0/0/0 hwmon54 disk NVMe disk
/0/0/0/2 /dev/ng0n1 disk NVMe disk
/0/0/0/1 /dev/nvme0n1 disk 512GB NVMe disk
/0/0/0/1/1 /dev/nvme0n1p1 volume 1023KiB EFI partition
/0/0/0/1/2 /dev/nvme0n1p2 volume 15EiB Windows FAT volume
/0/0/0/1/3 /dev/nvme0n1p3 volume 1023KiB EFI partition
/0/0/0/1/4 /dev/nvme0n1p4 volume 1023KiB EFI partition
/0/0/0/1/5 /dev/nvme0n1p5 volume 69MiB EFI partition
/0/0/0/1/6 /dev/nvme0n1p6 volume 119MiB EFI partition
/0/0/0/1/7 /dev/nvme0n1p7 volume 119MiB EFI partition
/0/0/0/1/8 /dev/nvme0n1p8 volume 1023KiB EFI partition
/0/0/0/1/9 /dev/nvme0n1p9 volume 1023KiB EFI partition
/0/0/0/1/a /dev/nvme0n1p10 volume 1023KiB EFI partition
/0/0/0/1/b /dev/nvme0n1p11 volume 511MiB EFI partition
/0/0/0/1/c /dev/nvme0n1p12 volume 15MiB reserved partition
/0/0/0/1/d /dev/nvme0n1p13 volume 259MiB Windows FAT volume
/0/0/0/1/e /dev/nvme0n1p14 volume 999MiB Windows NTFS volume
/0/0/0/1/f /dev/nvme0n1p15 volume 474GiB Windows NTFS volume
/1 usb1 bus xHCI Host Controller
/2 usb2 bus xHCI Host Controller
/2/1 scsi0 storage Ugreen Storage Device
/2/1/0.0.0 /dev/sda disk 256GB N520 SDAPTUW-256
/2/1/0.0.0/1 /dev/sda1 volume 259MiB Windows FAT volume
/2/1/0.0.0/2 /dev/sda2 volume 238GiB EXT4 volume
/3 usb3 bus xHCI Host Controller
/4 usb4 bus xHCI Host Controller
/5 usb5 bus xHCI Host Controller
/6 usb6 bus xHCI Host Controller
/7 /dev/fb0 display EFI VGA
/8 input0 input pmic_pwrkey
Running Ubuntu 24.04. The devicetree is early, no display connector yet.
@jglathe Got my dev kit last Friday, sounds like I was one of the last few to get hands on this hardware. Sounds like you aren't getting any display then and the output above is via a serial console?
ssh. For display the dt needs to be beefed up seriously. One of the reasons there is no public bootable image yet.
A few words on the bring up of the "angry box" Dev Kit. Because it has such odd display connectors (type-c in dp altmode) it is sort of a PITA to provide an image that just boots to GUI with some kind of setup or an installer. For dp altmode to work on the connectors, you likely need the adsp firmware for remoteproc0 loaded as it controls the role-switch. And some additional modifications on the device tree to get the dp alt mode switching right. Looks like it might take a few weeks to slug this out. What I could do is make an image that boots with a pre-configured ssh to log into and go from there. As of now the external drive should be type-c enclosure. Any takers?
pretty sure you can switch to DP mode manually, also the connector isn't any weirder than on the laptops it's just that the laptops also have an internal screen, as I see it one can be happy that they even soldered on the eDP connector, even if it's probably just because they originally intended to use it :P
This should go without physical intervention. UEFI can do it, Windows can do it. Linux can't (yet). DP Altmode is sort of a PITA on the whole QCOM family as it seems. It should be an image that just boots into linux. I have this for the Windows Dev Kit 2023, very useful. And the SnapDragon Dev Kit is ~3 times faster than that.
@jglathe Hey! I would like to take this boot image with preconfigured ssh, as I am also a happy dev kit owner since yesterday
I have a strange problem, once I unplugged the power supply in a powered on scenario, when I plugged it back in again the box would not start anymore, does anyone know how to fix it?
When pulling the psu barrel connector on mine I noticed that it has a lot of capacitors or something. Didn't want to die out for many seconds. Eventually I used the power button (on the plugged-out, still-running box), and it tried to reboot and died without power. Waited a few more seconds, plugged the power back in and on it went after a second or so.
I would also like to have a boot image with preconfigured ssh
Theoretically, if USB4 works, I have a dock station and I can plug in external GPU to try...
USB4 doesn't work yet AFAIK.
The easiest way to connect a GPU would be m.2 to "classic" pcie slot adapter. There's no reason why the missing slot wouldn't work but one would need to solder that slot on.
There's no reason why the missing slot wouldn't work but one would need to solder that slot on.
I was thinking about that... There is a chance that passive components required for it to work are also missing and if so it would be extremely painful to solder (way beyond my skills)
right... there could even be redrivers in the design, that would be extra sad :/
but m.2 to standard slot adapters do exist, and that would be 4 lanes so not too bad.
AFAIK the PCIE slot is not wired up.
I mean... there's no way they put a PCIE slot on the CDP and didn't connect it to the SoC...? The question is what other components are missing apart from the obvious slot (caps to filter out DC, maybe even redrivers)
You don't have that many devices to try... :shrug:
You should be able to see visually if the necessary components are there, obviously without schematics + boardview might be a little painful. But fwiw I'm not sure that slot even has more than 4 lanes anyway, so the m.2 is probably fine as well, even if it's always nice to have more pcie slots.
Depends how it's wired. AFAIR chip have 12 lanes of gen4 and 4 lanes of gen3. So plenty to have x8 port available.
Good news. Sibi Sankar has pushed a completed patchset for the Dev Kit, including display support. I will try this with the already-prepared v8 image, and if it works, publish it with a small how-to to get into the UEFI and boot from USB.
@jglathe correct link: https://lore.kernel.org/all/20241025123227.3527720-1-quic_sibis@quicinc.com/
But that is actually a great news! I probably will try to build my own kernel once I'm home!
Nah that was the id for b4 shazam :grin: Anyway. Happy hacking. To get into the UEFI BIOS there are lots of decoys, what works is shutdown -r -t 0 /fw
. It boots to UEFI, you can disable secure boot, enable boot from USB. I would recommend to decrypt the local disk before that, though.
For me, holding "home" button on a keyboard works consistently. Thought menu items are actually EFI apps on those partitions on the drive, so when swapping drives you need to preserve first 14 (0-14 I mean) partitions of original drive.
Yes I have it running here on the HP Omnibook X14. Install went well without intervention. Prime candidate for adding more devices. They are doing great work, bringing it to the end user.
... and I may understand but I am also in disbelief about the comments there. Unbelievable, sort of a disservice to the cause. The x1e "AI" laptops are fun even with Windows performance wise, and that's saying something. And Linux support is the usual "last mile" issue: All the required SoC drivers are there, peripheral drivers are there but specific model config is missing, and -ffs- the device trees come from people with NDAs or enthusiasts that do the guesswork / research / reverse engineering. Not to mention boot support on distros (experimental if it exists). What puzzles me is: It takes $billions to do the SoC, $millions to do the drivers, and maybe $million to do the distro support. Why it always falls short on the end-user facing end, after doing the heavy lifting already, is beyond me.
@jglathe - 100% with you on that. My guess is politics—officially completing the last mile would sour their relationship with Microsoft, maybe? They've had that exclusivity deal for Windows on Arm, and maybe it has clauses about not 'supporting' Linux or something. Wouldn't be surprised.
It's in their best interest to adopt Linux though, it certainly would open up a LOT more uses for their hardware.
@jglathe I'm excited to give the linux build a try. Since you've had it up and running, have you tried any kvm/virtual machines on the DevKit w/ linux? I upgraded my DevKit to Window Pro and I can run Windows VMs w/ more than 1 virtual processor, but any linux VM in hyper-v won't boot unless I run them with exactly 1 virtual processor.
@jjlauer the snapdragon machines run in el1 by default, which doesnt work with kvm, fom what ive seen there is a janky way to kinda boot into el2, one of the kvm people is working on that I believe
this: https://github.com/TravMurav/slbounce
I've heard someone got it working on x elite
btw WoA's hyper-v is the only reason you can have EL2, if windows support was not a concern Qcom would probably just force you to use their hacky solution for VMs that lets them keep control over EL2 like they do on android devices (because keeping control over HW that you sold to someone is apparently fully legal?)
Someone has it up and running on EL2 already. I will try this, too. But first things first. This should work, though. I have a Windows Dev Kit 2023 up on EL2, and work on slbounce is ongoing. Great work by @travmurav.
Update on getting display to run: Not yet. A bit frustrating, but there are parts missing, need to drill into the i2c buses to get retimers and repeaters. I'm afraid some of these are required for the dp altmode switchery. What a mess. I will try to get the dedicated ssh-enabled image up before doing that, hopefully this afternoon.
There is one thing I don't understand with the qualcomm devices - all DeviceTree referencevarious firmwares (e.x. qcadsp8380.mbn), however I can't find them in linux-firmware.git for any of the devices...
The reason is simple - they're not there. You usually need to extract (actually just copy) from the Windows partition. I have put my variants into my repos: fetch script initramfs-hook
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