Most active commenters
  • electroly(6)
  • jasoneckert(3)
  • nulld3v(3)

←back to thread

163 points wmf | 73 comments | | HN request time: 2.058s | source | bottom
1. jasoneckert ◴[] No.45366812[source]
As someone who has used the Snapdragon X Elite (12 core Oryon) Dev Kit as a daily driver for the past year, I find this exciting. The X Elite performance still blows my mind today - so the new X2 Elite with 18 cores is likely going to be even more impressive from a performance perspective!

I can't speak to the battery life, however, since it is dismal on my Dev Kit ;-)

replies(3): >>45366858 #>>45368580 #>>45369882 #
2. typpilol ◴[] No.45366858[source]
How's the compatibility? Are there any apps that don't work that are critical?
replies(5): >>45366894 #>>45366902 #>>45367015 #>>45368499 #>>45372732 #
3. jasoneckert ◴[] No.45366894[source]
Have I had any app compatibility issues? To quote Hamlet, Act 3, Scene 3, Line 87: "No."

The Prism binary emulation for x86 apps that don't have an ARM equivalent has been stellar with near-native performance (better than Rosetta in macOS). And I've tried some really obscure stuff!

replies(3): >>45367612 #>>45368590 #>>45370831 #
4. christopher8827 ◴[] No.45366902[source]
Most apps for dev work actually work; - RStudio - VS Code - WSL2 - Fusion 360 - Docker

Only major exception is: - Android Studio's Emulator (although, the IDE does work)

replies(1): >>45367861 #
5. electroly ◴[] No.45367015[source]
Surface Pro 11 owner here. SQL Server won't install on ARM without hacks. Hyper-V does not support nested virtualization on ARM. Most games are broken with unplayable graphical glitches with Qualcomm video drivers, but fortunately not all. Most Windows recovery tools do not support ARM: no Media Creation Tool, no Installation Assistant, and recovery drives created on x64 machines aren't compatible [EDIT: see reply, I might be mistaken on this]. Creation of a recovery drive for a Snapdragon-based Surface (which you have to do from a working Snapdragon-based Surface) requires typing your serial code into a Microsoft website, then downloading a .zip of drivers that you manually overwrite onto the recovery media that Windows 11 creates for you.

Day-to-day, it's all fine, but I may be returning to x64 next time around. I'm not sure that I'm receiving an offsetting benefit for these downsides. Battery life isn't something that matters for me.

replies(5): >>45367050 #>>45367155 #>>45368372 #>>45369055 #>>45374304 #
6. brokencode ◴[] No.45367050{3}[source]
That’s brutal.. I wonder why the Apple Silicon transition seemed so much smoother in comparison.
replies(9): >>45367087 #>>45367173 #>>45367222 #>>45367339 #>>45367625 #>>45368979 #>>45368994 #>>45369336 #>>45372497 #
7. bitwize ◴[] No.45367087{4}[source]
Because it was handled by the only tech company left that actually cares about the end user. Not exactly a mystery.
replies(2): >>45367230 #>>45367509 #
8. goosedragons ◴[] No.45367155{3}[source]
You ABSOLUTELY do not have to create a recovery drive from a Snapdragon based device. I've done it multiple times from x64 Windows for both a SPX and 11.
replies(1): >>45367191 #
9. kwanbix ◴[] No.45367173{4}[source]
Because Apple controls verything vs Windows/Linux world where hundres (thouthands?) of OEM create things?
replies(1): >>45368819 #
10. electroly ◴[] No.45367191{4}[source]
Hmm, thank you, that's good to know. Did you just apply the Snapdragon driver zip over the x64 recovery drive? It didn't work for me when my OS killed itself but I could easily have done something wrong in my panic over the machine not working. Since I only have the one Snapdragon device, I was making the assumption that it would have worked if I had a second one, but I didn't actually know that.
replies(1): >>45367484 #
11. viraptor ◴[] No.45367222{4}[source]
Did it? From that list: SQL server doesn't work on Mac and there's no Apple equivalent, virtualisation is built into the system so that kind of worked but with restrictions, games barely exist Mac so a few that cared did the ports but it's still minimal. There's basically no installation media for Macs in the same way as windows in general.

What I'm trying to say is - the scope is very different / smaller there. There's a tonne of things that didn't work on Macs both before and after and the migration was not that perfect either.

replies(1): >>45367285 #
12. okanat ◴[] No.45367230{5}[source]
Having a narrow product line helped Apple a lot. Similarly being able to deprecate things faster than business-oriented Microsoft. Apple also controls silicon implementation. So they could design hardware features that enabled low to zero overhead x86 emulation. All in all Rosetta 2 was a pretty good implementation.

Microsoft is trying to retain binary compatibility across architectures with ARM64EC stuff which is intriguing and horrifying. They, however, didn't put any effort into ensuring Qualcomm is implementing the hardware side well. Unlike Apple, Qualcomm has no experience in making good desktop systems and it shows.

replies(1): >>45369179 #
13. electroly ◴[] No.45367285{5}[source]
Out of the gate, Apple silicon lacked nested virtualization, too. They added it in the M3 chip and macOS 15. Macs have different needs than Windows though; I think it's less of a big deal there. On Windows we need it for running WSL2 inside a VM.
replies(3): >>45369549 #>>45369565 #>>45372940 #
14. unconed ◴[] No.45367339{4}[source]
Apple already went through this before with PowerPC -> x86. They had universal binaries, Rosetta, etc. to build off of. And they got to do it with their own hardware, which includes some special instructions intended to help with emulation.
replies(1): >>45369318 #
15. goosedragons ◴[] No.45367484{5}[source]
Yes, just copy the zip over like the instructions say.
replies(1): >>45374455 #
16. cmxch ◴[] No.45367509{5}[source]
Given how Apple makes it maintenance hostile and secures against their end customers, no.
17. tobias3 ◴[] No.45367612{3}[source]
For me it is too slow to run Age of Empires 2: DE multiplayer. More than ten year old Laptops with Intel chips are faster there.
replies(1): >>45367782 #
18. wmf ◴[] No.45367625{4}[source]
For one thing Apple dropped 32-bit before they transitioned to ARM while Windows compatibility goes back 30 years.
replies(1): >>45372476 #
19. nulld3v ◴[] No.45367782{4}[source]
I suspect that's due to the GPU and not due to Prism, because they basically just took a mobile GPU and stuffed it into a laptop chip. Generally performance seems to be on par with whatever a typical flagship Android devices can do.

Desktop games that have mobile ports generally seem to run well, emulation is pretty solid too (e.g. Dolphin). Warcraft III runs OK-ish.

replies(1): >>45368131 #
20. nulld3v ◴[] No.45367861{3}[source]
Yeah, I too was surprised to find the dev experience very good: all JetBrains IDEs work well, Visual Studio appears to work fine, and most language toolchains seem well supported.
replies(1): >>45368821 #
21. zamadatix ◴[] No.45368131{5}[source]
The GPUs don't go toe-to-toe with current gen desktop GPUs but they should be significantly better than the GTX 650, a mid range desktop GPU from 2012, the game (2019) lists as recommended. It does sound like something odd is going on than just lack of hardware.

https://www.videocardbenchmark.net/gpu.php?gpu=Snapdragon+X+...

https://www.videocardbenchmark.net/gpu.php?gpu=GeForce+GTX+6...

replies(2): >>45369547 #>>45370297 #
22. throw37272835 ◴[] No.45368372{3}[source]
Does Remote Desktop into the Surface work well?

When I'm home, I often just remote desktop into my laptop.

I'm wondering if remoting into ARM Windows is as good?

replies(2): >>45368758 #>>45368973 #
23. ack_complete ◴[] No.45368499[source]
Ironically, the app I've had the most trouble with is Visual Studio 2022. Since it has a native ARM64 build and installation of the x64 version is blocked, there are a bunch of IDE extensions that are unavailable.
24. OptionOfT ◴[] No.45368580[source]
Wait, you got one of those Dev kits? How? I thought they were all cancelled.

Edit: apparently they did end up shipping.

replies(2): >>45369573 #>>45371368 #
25. GeekyBear ◴[] No.45368590{3}[source]
That's certainly not what the reviews say.

Adobe apps that ran fine on Rosetta didn't work at all on Prism.

https://www.pcmag.com/articles/how-well-does-windows-on-arms...

26. mcbridematt ◴[] No.45368758{4}[source]
I have a similar Windows Arm64 machine (Lenovo "IdeaPad 5 Slim"), RDP into it works OK.

There is one issue I ran into that I haven't on my (self-built) Windows desktops: when Windows Hello (fingerprint lock) is enabled, and neither machine is on a Windows domain, the RDP client will just refuse to authenticate.

I had to use a trick to "cache" the password on the "server" end first, see https://superuser.com/questions/1715525/how-to-login-windows...

27. leidenfrost ◴[] No.45368819{5}[source]
I agree with you on the Windows side.

Linux is different. Decades of being tied to x86 made the OS way more coupled with the processor family than one might think.

Decades of bugfixes, optimizations and workarounds were made assuming a standard BIOS and ACPI standards.

Specially on the desktop side.

That, and the fact that SoC vendors are decades behind on driver quality. They remind me of the NDiswrapper era.

Also, a personal theory I have is that have unfair expectations with ARM Linux. Back then, when x86 Linux had similar compatibility problems, there was nothing to be compared with, so people just accepted that Linux was going to be a pain and that was it.

Now the bar is higher. People expect Linux to work the way it does in x86, in 2025.

And manpower in FOSS is always limited.

replies(4): >>45369562 #>>45369849 #>>45370343 #>>45371615 #
28. MBCook ◴[] No.45368821{4}[source]
JetBrains stuff (love it!) is built on Java, so I’m not terribly surprised. I don’t know how much native code there is though.

Plus they’ve been through the Apple Silicon change, so it’s not the first time they’ve been on non-x86 either.

29. dboreham ◴[] No.45368973{4}[source]
Yes everything in user space works as expected. Note that NT has supported non-x86 processors since 1992.
replies(1): >>45370475 #
30. bdcravens ◴[] No.45368979{4}[source]
The first few months were a little tricky depending on what software you needed, but it did smooth out pretty quickly.
31. someNameIG ◴[] No.45368994{4}[source]
Every Mac transitions to ARM, only a very small amount of Windows PCs are running ARM. SO right now there's not an large user base to incentivise software to be written for it.
replies(1): >>45369890 #
32. evanjrowley ◴[] No.45369055{3}[source]
On the bright side, there's a good chance that Windows on ARM is not well supported by malware. There's a situation where you benefit from things being broken.
33. andsoitis ◴[] No.45369179{6}[source]
> Apple also controls silicon implementation.

People sometimes say that as if came without foresight or cost or other complexities in their business.

No, in the end they are hyper strategic and it pays off.

replies(1): >>45375268 #
34. musicale ◴[] No.45369318{5}[source]
> Apple already went through this before with PowerPC -> x86

Not to mention 68K -> PowerPC.

Rhapsody supported x86, and I think during the PowerPC era Apple kept creating x86 builds of OS X just in case. This may have helped to keep things like byte order dependencies from creeping in.

35. magic_hamster ◴[] No.45369336{4}[source]
Apple had a great translation layer (Rosetta) that allows you to run x64 code, and it's very fast. However, Apple being Apple, they are going to discontinue this feature in 2026, that's when we'll see some Apple users really struggling to go fully arm, or just ditch their MacBook. I know if Apple does follow through with killing Rosetta, I'll do the latter.
replies(1): >>45369625 #
36. TiredOfLife ◴[] No.45369547{6}[source]
That something odd is called GPU drivers. Even Intel struggled (they recently announced that they are dropping all gpu driver older than Alchemist development) to get games running on their iGpus
37. pjmlp ◴[] No.45369549{6}[source]
On Windows nested virtualization already existed before WSL, all the kernel and device drivers security features introduced on Windows 10, and made always enabled on Windows 11, require running Hyper-V, which is a type 1 hypervisor.

So it is rather easy having to deal with nested virtualization, even those of us that seldom use WSL.

replies(1): >>45373845 #
38. daoistmonk ◴[] No.45369562{6}[source]
my asahi linux m1 mac book air would disagree with you
39. fulafel ◴[] No.45369565{6}[source]
I'd guess the M3 features aren't required for nested virtualization, and it was more of a sw design decision to only add the support when some helpful hardware features were shipped too. Eg here's nested virtualization support for ARM on Linux in 2017: https://lwn.net/Articles/728193/
replies(1): >>45370763 #
40. wtallis ◴[] No.45369573[source]
They got cancelled after they started shipping, and even people who received the hardware got refunded.
41. menaerus ◴[] No.45369625{5}[source]
It's a transpiler that takes the x86-64 binary assembly and spits out the aarch64 assembly only on the first run AFAIK. This is then cached on storage for consecutive runs.
replies(2): >>45370120 #>>45373659 #
42. BoredPositron ◴[] No.45369849{6}[source]
You are talking out of your ass here. If you make bold statements like this you need to provide evidence. Linux works fine on many platforms...
43. adrr ◴[] No.45369882[source]
Unless they added low power cores to it, its probably isn't great. Chip design was for originally for datacenters.
replies(4): >>45370636 #>>45372461 #>>45374215 #>>45375666 #
44. chithanh ◴[] No.45369890{5}[source]
You are right that Windows on ARM cannot be called a success. But if you make Windows/macOS cross platform software then your software needs to be written for ARM anyway.

So if you support macOS/x86, macos/ARM, and Windows/x86, then the additional work to add Windows/ARM is rather small, unless you do low-level stuff (I remember Fortnite WoA port taking almost a year from announcement to release due to anticheat).

45. timschmidt ◴[] No.45370120{6}[source]
Apple also implemented x86 memory semantics for aarch64 to allow for simpler translation and faster execution.
replies(1): >>45371899 #
46. nulld3v ◴[] No.45370297{6}[source]
There are also some architectural differences between mobile & desktop GPUs which may impact games that are not optimized for the platform: https://chipsandcheese.com/p/the-snapdragon-x-elites-adreno-...
47. close04 ◴[] No.45370343{6}[source]
> Decades of being tied to x86

This doesn't pass the smell test when Linux powers so many smart or integrated devices and IoT on architectures like ARM, MIPS, Xtensa, and has done so for decades.

I didn't even count Android here which is Linux kernel as first class citizen on billions of mostly ARM-based phones.

48. steve1977 ◴[] No.45370475{5}[source]
According to some accounts, the name NT even was a reference to the Intel i860, which was the original target processor.
49. ZuLuuuuuu ◴[] No.45370636[source]
Didn't laptops with Snapdragon X Elite CPUs have pretty good battery life?

https://www.pcworld.com/article/2375677/surface-laptop-2024-...

X2 Elite shouldn't be that different I think.

replies(1): >>45372721 #
50. justincormack ◴[] No.45370763{7}[source]
Nested virt does need hardware support to implement efficiently and securely. The Apple chips added that over time, eg M2 actually had somewhat workable support but still incomplete and hacky https://lwn.net/Articles/928426/ - the GIC (interrupt controller) was a mess to virtualise in older versions, which is different from the instruction set of the CPU.
51. Derbasti ◴[] No.45370831{3}[source]
Same here. I've not had any issues with my Surface Pro 11.
52. ◴[] No.45371368[source]
53. StopDisinfo910 ◴[] No.45371615{6}[source]
Linux runs perfectly on MIPS, Power, Sparc, obviously ARM - cue the millions of phone running Linux today, RiscV, and at least a dozen other architectures with little to no user. It's absolutely not tied to x86.
54. menaerus ◴[] No.45371899{7}[source]
In HW?
replies(2): >>45373621 #>>45374538 #
55. jasoneckert ◴[] No.45372461[source]
If you read anything online, you'll realize that the battery life 'is' great. For example, LTT: https://www.youtube.com/watch?v=zFMTJm3vmh0
replies(1): >>45373270 #
56. rock_artist ◴[] No.45372476{5}[source]
Actually, the Macho file format was multiarch by design (On Windows we're still stuck with Program Files (x86))..

Anyway, before dropping 32bit, they've dropped PowerPC.

Another consideration, Apple is the king of dylib, you're usually dynamically linking to the OS frameworks/libs. so they can actually plan their glue smarter so the frameworks would still work in native arch. (that was really important with PPC->Intel where you also had big endian...)

replies(1): >>45377000 #
57. ndiddy ◴[] No.45372497{4}[source]
One reason is that Apple sold subsidized devkits to developers starting around 6 months before Apple Silicon launched, while the X Elite devkit was not subsidized, came with Windows 11 Home (meaning that you had to pay another $100 to upgrade to Pro if you were an actual professional developer who needed to join the computer to your work domain), and didn't ship until after months after X Elite laptops started shipping. As a result, when the X Elite launched basically everything had to run under emulation.

I think another reason is Apple's control over the platform vs Microsoft's. Apple has the ability to say "we're not going to make any more x86 computers, you're gonna have to port your software to ARM", while Microsoft doesn't have that ability. This means that Snapdragon has to compete against Intel/AMD on its own merits. A couple months after X Elite launched, Intel started shipping laptops with the Lunar Lake architecture. This low-power x86 architecture managed to beat X Elite on battery life and thermals without having to deal with x86 emulation or poor driver support. Of course it didn't solve Intel's problems (especially since it's fabricated at TSMC rather than by Intel), but it demonstrated that you could get comparable battery life without having to switch architectures, which took a lot of wind out of X Elite's sails.

58. kangs ◴[] No.45372721{3}[source]
they do but not extraordinary either.

ive a x elite and a bunch of other laptops

i like the mba 13 (but barely) and the zbook 395+

the x elite is just a bit slow,.incompatible and newer x86 battery life isnt far off

replies(1): >>45373886 #
59. puzzlingcaptcha ◴[] No.45372732[source]
X Elite does not have AVX instructions (they are emulated instead)
60. HumanOstrich ◴[] No.45372940{6}[source]
Nested virtualization is not required for WSL2 or Hyper-V VMs. It's only required if you want to run VMs from within WSL2 (Windows 11 only) or Hyper-V VMs within Hyper-V VMs.
replies(1): >>45373609 #
61. Novosell ◴[] No.45373270{3}[source]
Reading youtube videos are ya?
62. electroly ◴[] No.45373609{7}[source]
Yeah, I understand this and said it correctly in my post. We need nested virtualization to run WSL2 inside a VM: this is a Linux VM inside a Windows VM inside a Windows host. WSL2 is already a VM, so if you want to run that inside a VM, it requires nested virtualization. Nested virtualization is one of those features that people don't know about unless they need it, and they find out for the first time when they get an error message from Hyper-V. If you have a development VM on a system without nested virtualization, you're stuck with WSL1 inside that VM, or using a "sibling" Linux VM that you set up manually (the latter was my actual solution to this issue).
63. antonvs ◴[] No.45373621{8}[source]
Not OP, but I don’t think so. Rosetta inserts ARM barrier instructions in its generated code to emulate x86 memory ordering.
64. Findecanor ◴[] No.45373659{6}[source]
Apple silicon also has special hardware support for x86-64's "TSO" memory order (important for multithreaded code) and half-carry status flag.

BTW. A more common term for what Rosetta does is "binary translation". A "transpiler" typically compiles from one high-level language to another, never touching machine code.

65. electroly ◴[] No.45373845{7}[source]
Yes, nested virtualization has existed for a long time... on Intel. On Windows, it is not supported on ARM. For a long time it wasn't even supported on AMD! They added AMD nested virtualization support in Windows Server 2022!

Note that when the Windows host is invisibly running under Hyper-V, your other Hyper-V VMs are its "siblings" and not nested children. You're not using nested virtualization in that situation. It's only when running a Hyper-V VM inside another Hyper-V VM. WSL2 is a Hyper-V VM, so if you want to run WSL2 inside a Windows Hyper-V VM which is inside your Windows host, it ends up needing to nest.

66. Y_Y ◴[] No.45373886{4}[source]
Looks like the shift key isn't too reliable either.
67. skavi ◴[] No.45374215[source]
They were joking. The dev kit didn’t have a battery.
68. hollandheese ◴[] No.45374304{3}[source]
>Creation of a recovery drive for a Snapdragon-based Surface (which you have to do from a working Snapdragon-based Surface) requires typing your serial code into a Microsoft website, then downloading a .zip of drivers that you manually overwrite onto the recovery media that Windows 11 creates for you.

That's just creation of a recovery drive for anything that Microsoft itself makes. It's the same process for the Intel Surface devices too.

>no Media Creation Tool

Why would anyone care about that? Most actively avoid Microsoft's media creation tool and use Rufus instead.

69. electroly ◴[] No.45374455{6}[source]
Thanks again for this. Honestly, it may sway my choice on returning to x64 vs. sticking with ARM64 next time. The other issues are relatively minor and can be dealt with, but I didn't like thinking that I was one OS failure away from a bricked machine that I couldn't recover.
70. timschmidt ◴[] No.45374538{8}[source]
Yup! See here: https://www.sciencedirect.com/science/article/pii/S138376212...
71. okanat ◴[] No.45375268{7}[source]
I didn't say otherwise. They probably realized they can pull a complete desktop CPU design off at the latest with iPad, probably earlier. They were probably not happy using Intel chips and their business strategy has always been controlling and limiting HW capabilities as much as possible.
72. wmf ◴[] No.45375666[source]
They did add E-cores in X2.
73. winocm ◴[] No.45377000{6}[source]
You also get "Program Files (ARM)" (including a complementary "SysArm32") on older arm64 systems too.