this post was submitted on 11 Mar 2024
192 points (94.9% liked)
Technology
59161 readers
2119 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The only reason Windows is still relevant is a massive volume of legacy x86 applications.
If that laptop won't support x86 emulation, it'd be actually worse that Linux ARM laptop.
Windows is relevant because it's a better product for the average user. The same goes for OSX. ARM isn't going to change any of that. Especially with NVIDIA GPUs being broken and a pain in the ass.
Windows is not a 'better' product, that would be ChromeOS. Zero configuration means nothing can get broken.
The average user who started with MS Office 95 is now 50 years old. The younger average user at least knows there are alternatives to Windows.
PC gaming is a whole other can of worms. I keep hearing that Valve did some black mahic and now most of Steam games work on Linux with no issues.
Google Docs is the only meaningful competitor to Office. No one I know wants to try Linux desktop and I think it’s hard to convince anyone to give up the convenience of Windows. Proton works but in my experience requires too much experimentation for the average user.
I've been gaming on linux for about two years now through steam proton and it's really good. Some games don't run because of anti cheat, some games run even better than on windows.
Gaming on Linux has come a long way and I always prefer to run it on Linux rather than a dedicated Windows boot, if possible.
But if you rely on VRR, DLSS and have a decent HDR display, Linux unfortunately still isn't quite there yet. VRR/HDR is mostly unsupported systemwide currently. DLSS sometimes works, sometimes requires a lot of debugging and ends up actually hurting the performance.
If your hardware setup allows you to run your games at a decent framerate without DLSS/VRR, this likely won't be an issue for you.
That’s one thing macOS does well: legacy support— at least for x64.
for now…
I thought MacOS barely does any legacy support because apple isn't afraid to cut support for old stuff unlike Microsoft.
They did a good job when moving from os9-osx. Adobe took a looong time to move to osx
I have been running Windows 10+11 on arm for years now, the next version of Windows Server 2025 already has an arm preview release. Windows ARM has for a long time had x86 emulation, and has supported x64 emulation since about the start of COVID.
Is it actually emulation? Macs don't do that.
They convert the x86 code into native ARM code, then execute it. Recompiling the software takes a moment, and some CPU instructions don't have a good equivalent, but for the most part it works very well.
MacOS does use the term translations for its Rosetta Layer while Windows Arm uses the term emulation. I do believe the technical difference is that MacOS converts x64 code to arm64 on the fly, while part of the reason for emulation on Windows is to support x86 and other architectures. Someone more knowledgeable than me may be able to better compare the two offerings.
macOS converts x86 code to ARM ahead of launching an app, and then caches the translation. It adds a tiny delay to the first time you launch an x86 app on ARM. It also does on-the-fly translation if needed, for applications that do code generation at runtime (such as scripting languages with JIT compilers).
The biggest difference is that Apple has added support for an x86-like strong memory model to their ARM chips. ARM has a weak memory model. Translating code written for a strong memory model to run on a CPU with a weak memory model absolutely kills performance (see my other comment above for details).