this post was submitted on 11 Oct 2023
169 points (97.7% liked)

Technology

57472 readers
3671 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
top 49 comments
sorted by: hot top controversial new old
[–] [email protected] 48 points 10 months ago (7 children)

Whoever can make a compatibility layer that successfully translates x86/64 to arm and vice versa and make it widely available will be a major player in the market. Valve has already somewhat done something similar with proton and Apple with Rosetta 2.

[–] [email protected] 24 points 10 months ago (1 children)

Apple developed it as a stopgap. In the Windows world x86/64 will be around for a long long time. Not sure if anyone is willing to support something like that for the next 10 years.

[–] [email protected] 13 points 10 months ago (1 children)

It's all a question of market share. If (big if) arm gets a foothold into the Windows market, software vendors will simply offer two binaries and/or Microsoft could offer tooling to offer easy porting.

Apple's real genius move though is not Rosetta, but including x86 compatibility features into the Mx chips. That way the emulation is much faster.

[–] [email protected] 3 points 10 months ago

Windows does have a 32/64 bit x86 compatibility layer and most of what I've seen through limited bashing around in VS2022 leads me to believe that it has arm as a fairly targetable build target already.

[–] [email protected] 11 points 10 months ago (1 children)

Proton and Rosetta 2 are two totally different beasts. One allows windows programs to run on non-windows hosts and one translates x86 to Arm.

I’m not aware of Proton doing anything like Rosetta 2 and if it did Steam would have probably used an Arm chip in their Steam Deck instead of an x86.

Maintaining 2-way compatibility doesn’t seem like an important goal. One way, x86->Arm, sure but not Arm->x86. Apple clearly sees x86 as a dead end for its own product lines and we will see if the rest of the industry follows suit over time. Of course there is a ton tied up in x86 but aside from legacy apps or games I don’t have much need of x86 in my life.

Even the servers I run are trending towards Arm due to the power savings. AWS graviton stuff is like ~25-30% cheaper than x86 last I looked

[–] [email protected] 3 points 10 months ago (1 children)

I understand proton isn't the same thing, it was just an example of a compatibility layer...and how would a bidirectional compatibility layer not be beneficial? X86 in servers may be going away and even that's debatable, but x86 isn't going anywhere in the consumer space. Graviton chips are great, but they're useless if there's no viable way to translate those x86 legacy applications over to ARM without breaking the bank until your business is ready to transition the workload to ARM.

Amazon was working on a compatibility layer specifically for this purpose, however I suspect they've given up because they've slowly added Intel and AMD chipsets back into their general purpose ec2 class for newer generations and there hasn't been a single word about compatibility with graviton other than just use arm based workloads.

You just can't move to ARM because it's cheaper, that's just not going to work. You need to make the effort to move away from x86 and adopt applications that are arm native before making that jump. With a compatibility layer it doesn't matter, that's where the money is, if I can build a compatibility layer that translates an x86 binary to an arm binary, then I can move those workloads to the cheaper and more efficient server class.

[–] [email protected] 0 points 10 months ago (1 children)

it was just an example of a compatibility layer

It's a different problem under the same name. You're comparing apples to oranges by comparing WINE and Rosetta.

WINE (as I understand it) explicitly does its best to maintain the instructions and basically just implements functions that are missing.

Rosetta actually changes out every instruction (and presumably has to do a WINE-like thing as well to handle dynamically linked code, though in theory this is more of a 1-to-1 mapping since you're not swapping OSes).

if there's no viable way to translate those x86 legacy applications over to ARM

For a properly written application that doesn't have a lot of third party binary dependents... This really shouldn't be that big of a job. You just recompile the code on ARM, test, and fix any bugs.

I'd speculate that most of the time this stuff comes up like: "this was written for Windows with some very specific Microsoft libraries/tech in mind and we want to run it on Linux and ARM as cost cutting measures."

Granted, it's not unusual for a large enough code base to contain some code that wasn't written in an architecture neutral way/does some shady stuff.

[–] [email protected] 1 points 10 months ago

I'm not comparing Rosetta and proton...I'm just using them as examples of compatibility layers that make their products viable. I frankly don't give a shit about the inner workings of Rosetta or proton, but thanks for clarifying I guess.

[–] [email protected] 9 points 10 months ago (1 children)

FEX-Emu is basically that. They're still in an early state but they showed Sonic Mania running perfectly a few days ago.

[–] [email protected] 3 points 10 months ago

Here is an alternative Piped link(s):

Sonic Mania running perfectly

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source; check me out at GitHub.

[–] [email protected] 6 points 10 months ago (1 children)

Windows on ARM is a thing, it will run x86 binaries.

[–] [email protected] 10 points 10 months ago (1 children)

Gord forbid those binaries want to do any actual work though...

[–] [email protected] 5 points 10 months ago (1 children)
[–] [email protected] 8 points 10 months ago (1 children)

Windows on ARM will run x86 binaries. But if these binaries require any real processing power, they choke or run really really slowly.

[–] [email protected] 1 points 10 months ago

I guess it depends on how you define “real processing power”. I run Windows on Arm on my Mac Studio through Parallels. I installed Steam and played Civ 4 and it’s great. Sure, it’s an old game but it runs smoothly.

[–] [email protected] 4 points 10 months ago

Someone should revive transmeta and gear it towards arm.

[–] [email protected] 4 points 10 months ago

It's gotta be Microsoft building it into Windows. The Apple Silicon transition wouldn't have been nearly as smooth if people had to pay for, say, CrossOver or something to use their Intel apps. And the tepid response to the ARM Surface models makes me think that it's a must, despite the UWP dream.

The good news is that Rosetta 2 shows it can be done extremely well!

[–] [email protected] 2 points 10 months ago (1 children)

Isn't that just box64/box86

[–] [email protected] 1 points 10 months ago

I could be wrong but that might be Linux only. Windows and MacOS both have their own proprietary compatibility layers, but Windows had shit support for theirs for years which hurt their reputation badly.

[–] [email protected] 27 points 10 months ago (2 children)

The recent Snapdragon chips have been awesome, but that's not Apple's magic, it's their x86 to ARM translation layer

[–] [email protected] 15 points 10 months ago

It's not just the translation layer. There's hardware built into the CPU to accelerate the translation.

Pair that with the CPUs already being so incredibly efficient and you've got something that runs x86 programs as good as the old hardware.

[–] [email protected] 14 points 10 months ago

And the fact that they have silicon space dedicated to accelerating that translation layer specifically.

Good software and good hardware married to make a kickass move to ARM.

[–] [email protected] 20 points 10 months ago (1 children)

I look forward to being able to buy/build an ARM-based Linux box with MacBook Pro-class performance.

[–] [email protected] 6 points 10 months ago (1 children)

Why do you want to use ARM in a desktop?

The main benefits of it are power-saving.

[–] [email protected] 10 points 10 months ago (1 children)

ARM can be really powerful, there are ARM servers out there.

[–] [email protected] 2 points 10 months ago (1 children)

More powerful than X86? Or are there other reasons to use it in a desktop?

[–] [email protected] 12 points 10 months ago (1 children)

At least as powerful for less energy, being energy efficient is also a good thing even in desktops.

[–] [email protected] -3 points 10 months ago (1 children)

I didn't know ARM was as powerful as x86.

[–] [email protected] 10 points 10 months ago (1 children)

Both are instructions sets. They are part of the equation that gives a CPU its "power", but it isn't the only reason.

What gives ARM its power efficiency edge is its smaller instructions set, which translate to smaller die size to do the same work, which is also its Achilles heel as it means that some workload that uses those missing instructions need to be either translated by the hardware or the software, or it will just not work. Both have their own inconvenience (bigger die size and less energy efficiency or bigger overhead and slower execution.

But for workloads that do not use x86's specificities, ARM is very competitive.

[–] [email protected] 2 points 10 months ago (1 children)

But for workloads that do not use x86’s specificities, ARM is very competitive.

Yeah, but would those workloads be more performant if they used CISC features?

[–] [email protected] 3 points 10 months ago

No, and the above commentor is a little mixed up. While we originally thought the benefit of RISC CPUs was their smaller instruction set - hence the name - it's turned out that the gains really come from a couple other things common to RISC architectures. In x86 pretty much every instruction can reference memory directly, but in RISC architectures you can only do it from a few specific instructions. Modern RISC architectures actually tend to have a lot of instructions, so RISC means something more like "load/store architecture" nowadays.

Another big part of RISC architectures is they try to make instruction fetch+decode as easy as possible. x86 instructions are a nightmare to decode and that adds a lot of complexity and somewhat limits optimization opportunities. There's some more to it, like how RISC thinks about the job of the compiler, but in my experience load/store and ease of fetch+decode are the main differentiators for RISC.

More towards your question, a lot of the issues with running x86 programs on ARM (really running any program on a different architecture than it was compiled for) is that it will likely depend on very specific behaviors that may not be the same across architectures and may be computationally expensive to emulate. For some great write-ups about that kind of thing check out the Dolphin (Wii emulator) blog posts.

[–] [email protected] 14 points 10 months ago (1 children)

A Surface with this and 15 hour battery life would be pretty epic.

[–] [email protected] 7 points 10 months ago

5 grand starting price, bloated with windows11 but they are slick

[–] [email protected] 10 points 10 months ago (1 children)

It would be an instant buy for me, especially since it wouldn't be as locked down and work better with Linux. I'll deal with the software issues later, gimmie now!

[–] [email protected] 25 points 10 months ago (1 children)

Question is - is Qualcomm going to do the same bullshit as their mobile ARM processors with the drivers?

Where you need to wait for their proprietary Linux driver to upgrade your kernel?

[–] [email protected] 4 points 10 months ago* (last edited 10 months ago)

Hopefully the open source Qualcomm drivers will support this chip. The SDM845 chip is pretty well supported on mainline kernel, using SDM845 with 6.5 kernel and postmarketOS to type this comment. The Freedreno driver is probably the best ARM GPU driver in Mesa.

[–] [email protected] 7 points 10 months ago (3 children)

Good luck making that work with Windows. If it does its not going to be profitable as Microsoft will eat your arm.

I would love to see one of these running Linux but I don't see that happening realistically

[–] [email protected] 14 points 10 months ago* (last edited 10 months ago) (1 children)

Already does?

https://www.qualcomm.com/products/mobile/snapdragon/pcs-and-tablets/laptop-device-finder/microsoft-surface-pro-9-sq3-5g

Windows on ARM is a thing, and it does x64 and x86 translation.

The chips likely also have hardware to accelerate translation as well, to compete with M1 and M2 chips.

[–] [email protected] 3 points 10 months ago (1 children)

Where's the installation iso?

[–] [email protected] 4 points 10 months ago (1 children)

Here's an archive of all Windows updates and builds. This query is for arm64.

https://www.uup.ee/known.php?q=arm64

[–] [email protected] 5 points 10 months ago (1 children)

That's not a safe place to get isos

[–] [email protected] 2 points 10 months ago (1 children)

From a security perspective, as long as you check the hash against Microsoft's website then it should be okay. Otherwise I'm not sure where to get Windows on ARM ISO's from.

[–] [email protected] 1 points 10 months ago (1 children)

That's my point. Microsoft doesn't seem to want you to outside of the surface

[–] [email protected] 1 points 10 months ago

I mean yeah you're not wrong. If only the Surface wasn't so absurdly overpriced for what you get.

[–] [email protected] 8 points 10 months ago

Exactly. Thanks to raspberry pis and other ARM SBCs there's been a lot of ARM native support on Linux. Windows really hurt themselves with their initial ARM support.

[–] [email protected] 4 points 10 months ago

Windows already works on ARM, but some X86 programs are still a little slow. The Snapdragons previously used weren't as fast as the Apple silicon too, so that didn't help. The original Surface X did have a lot more problems, but Surface 9 on ARM from all reports works well.

[–] [email protected] 6 points 10 months ago

I sure hope it will come with SystemReady or a similar standard for something UEFI-like instead of the custom per board image many ARM devices need currently.

[–] [email protected] 3 points 10 months ago

This is the best summary I could come up with:


Qualcomm's annual "Snapdragon Summit" is coming up later this month, and the company appears ready to share more about its long-planned next-generation Arm processor for PCs.

The company hasn't shared many specifics yet, but yesterday we finally got a name: "Snapdragon X," which is coming in 2024, and it may finally do for Arm-powered Windows PCs what Apple Silicon chips did for Macs a few years ago (though it's coming a bit later than Qualcomm had initially hoped).

But those chips have never quite been fast enough to challenge Intel's Core or AMD's Ryzen CPUs in mainstream laptops.

Any performance deficit is especially noticeable because many people will run at least a few apps designed for the x86 version of Windows, code that needs to be translated on the fly for Arm processors.

Even if Qualcomm delivers an Arm chip that's significantly faster and more power-efficient than its current offerings, there are still software hurdles to overcome.

In other words, they were negotiated based on Nuvia's then-stated focus on server CPUs, rather than high-volume processors for consumer PCs.


The original article contains 619 words, the summary contains 178 words. Saved 71%. I'm a bot and I'm open source!

[–] [email protected] 1 points 5 months ago

An ARM Galaxy Book 360 with S-pen running Photoshop and Illustrator while running relatively cold. I would buy that in an instant