Tip jar

If you like CaB and wish to support it, you can use PayPal or KoFi. Thank you, and I hope you continue to enjoy the site - Neil.

Buy Me a Coffee at ko-fi.com

Support CaB

Recent

Members
  • Total Members: 17,819
  • Latest: Jeth
Stats
  • Total Posts: 5,577,475
  • Total Topics: 106,658
  • Online Today: 781
  • Online Ever: 3,311
  • (July 08, 2021, 03:14:41 AM)
Users Online
Welcome to Cook'd and Bomb'd. Please login or sign up.

April 19, 2024, 05:48:27 AM

Login with username, password and session length

Mac moves to ARM, makes laptops obsolete?

Started by touchingcloth, June 23, 2020, 12:36:34 AM

Previous topic - Next topic

Cloud

Kind of kills off the Hackintosh within a few years, which is interesting.  It's been a wild ride.  I pretty much gave up wrestling with them a year or two ago anyway - got the Mac laptop and Windows PC desktop mostly for games (and for working from home right now) and it all seems to work out.

buzby

Quote from: Sebastian Cobb on June 24, 2020, 10:29:52 PM
In theory all you need to do to make a pro*c application move from solaris sparc to x86 solaris is recompile it. And most of the time that's true. The times it aren't, are not fun, sometimes it's not even your fault.

I don't see how they're going to be able to magic converting x86 instructions into arm instructions in a way the thre rest of the *nix haven't thought of.
The way Sun handled the move from SunOS 4 to Solaris 2 was good, with the Binary Compatibility Package (we still use this to to run an old version of the Greenhills MC68k C/ASM compilers on a more modern Ultra 5, which I've since virtualised under QEMU). It still fell foul of things like proprietary libraries that weren't coded to Sun's 'well behaved' standards though.

As you say though, there's no way to run x86 instructions natively in hardware on ARM, so there's going to have to be some form of software emulation or on-the-fly opcode translation in Rosetta 2. so I can't see 'x86 emulation' working for every Mac application (the original Rosetta PowerPC to x86 opcode translation based emulator didn't work well with processor intensive applications, and didn't support PowerPC 970-native code), no matter how many ARM cores you throw at it.

Quote from: Sebastian Cobb on June 24, 2020, 10:02:02 PM
I always thought something like the chromebook would've been an ideal arm vehicle. Given the ecosystem there was no real reason to need x86 compatibility like windows does and macs might.

I had a Samsung Series 3 Chromebook which runs on ARM. It was cool and silent but a bit weedy. They really skimped on the RAM and the SoC wasn't great.

The main reason most Chromebooks are Intel is cost. Celerons and Core m3s are really cheap, plus most manufacturers can simply take an existing Windows notebook and turn it into a Chromebook with a few tweaks.

Sebastian Cobb

Quote from: buzby on June 25, 2020, 11:31:37 AM
The way Sun handled the move from SunOS 4 to Solaris 2 was good, with the Binary Compatibility Package (we still use this to to run an old version of the Greenhills MC68k C/ASM compilers on a more modern Ultra 5, which I've since virtualised under QEMU). It still fell foul of things like proprietary libraries that weren't coded to Sun's 'well behaved' standards though.


Yeah I once went to a customer's site to help them migrate an installation of our software. They asked me to bring the Oracle db/client installation stuff with them as they'd got a licence but were logged out. It wasn't until I got there we discovered that they were on sparc and we weren't, presumably some project manager had realised they could save a few quid. It had just been working fine the whole time. We definitely saw some different behaviour on other systems, especially using the database 'pipe' system to send messages back from backend processes to front end (centura or java) clients. This is almost certainly the sort of idiosyncratic behaviour a good Oracle DBA would have knowledge of, they still have a bit of an old-fashioned view of certification and guru's rather than open support (like microsoft have done with SQL Server or the foss community do organically). But what can you expect from a company whose response to 'do you have a bug bounty programme?' is 'searching for bugs is against our EULA'. The sooner they die the better.

Replies From View

When are these new macs due to come out, then?

greencalx

I heard next year.

Fwiw I doubt that technical considerations are the driver here, and the motivation is Apple being able to dictate the development of the processors rather than letting Intel get on with it. Maybe they want to synchronise processor bumps with major OS updates, as they do with the iPhone range, for added marketing value. Being a bit more cynical, perhaps it also helps unfavourable comparisons with competitors, as it will be harder to judge if laptop X has a "better" processor than macThing Y if they are not essentially the same design.

I expect the transition will be fairly seamless, as it was when PPC gave way to Intel. Of regular users, only those who rely on apps that have fallen out of development will notice - and relying on such things will always bite you on the bum in the end. Fortunately, given the recent shift from 32/64bit to 64bit-only, almost all currently-running code will have been recompiled fairly recently, which suggests that it can be recompiled again. From the pov of recompiling, if there haven't been any breaking library changes, I don't see why - in itself - a change of the underlying architecture should introduce difficulties (unless, of course, you have x86 assembly as part of your codebase). Obviously if your requirements include running x86 instructions natively on the processor, you're going to need an x86 processor for that...

Quote from: Sebastian Cobb on June 23, 2020, 09:22:06 AM
As someone who grew up on acorn machines and likes an underdog to Intel I'd like to see how this pans out. I'd like an arm-based laptop, and there have been ones for Linux but the support has never been quite good enough.

Ha, snap! I picked up a smattering of ARM code when BBC Basic lacked the grunt I needed for the kind of hobbyist programming I did back in the day. At that age I didn't appreciate the beauty of the instruction set: Sophie Wilson is a genius and a legend. I doubt I'll ever do much ARM coding again (except, perhaps, just to satisfy myself that I still can!) - especially now I've seen the kind of things that the llvm optimiser can do with even the most naively written C/C++ code. (Of course, that relies on you remembering to add -O3 to the compiler flags... whoops).

I had a look at ARM Linux and see that it comes across as a refugee from the 90's, pretty much a one-man band by the look of it. I guess this is because ARM hasn't had any significant presence on the desktop.

That said, I'm a bit confused by

Quote
Linux provides just as good, if not better (thanks to osx's weird old bundled versions of php and python) than osx. I used osx in some jobs, it was fine. I now use a debian machine and the same tools.

I have a Debian server that's running the latest stable release, and its php is 7.0.33 and python is 3.7.3 whilst on my Mac it's 7.3.11 and 3.7.3 respectively. If you have an older osx then you'll have an older version, naturally, but the same would be true of Debian. Maybe you run Debian testing rather than stable, which would give you later versions? I chose Debian deliberately because it's quite conservative in terms of update and long-term support, security and stability being more important in a server environment that having the most up-to-date version of absolutely everything.

As part of my "underdog" thing, I've always had a preference for BSD over Linux, irrationally because of the different free software cultures in the respective movements, rather than technical reasons. But the fact that Darwin is a BSD derivative means that the "standard" Unix tools differ in a lot of very small ways between Darwin and whatever the world's favourite Linux distribution is this week, which means even porting shell scripts between them (let alone anything that relies on glibc, which is pretty much everything) is a royal PITA. As someone who tends mostly to go the other way (write and test stuff on the Mac, run it on Linux) this tends not to be a problem. (Actually the only problem I run into is that the HPC machines I run code on uses a very conservative Linux distro that would make even Debian blush: the latest C++ standard that's supported is C++11, for example).

This has gone way off topic. I'll be keeping an eye on the ARM desktops when they appear. But in the meantime I'd be delighted if Apple could fix the memory leak in the graphics driver on my iMac that causes it to kernel panic after a few days of use. Oh, and if they could undo whatever change they made to the filesystem that makes HDD-based Macs all-but unusably slow, that would be great too.

Sebastian Cobb

Last time I used a mac it had an old version of python and the version had recently added protections that prevented sudo modification which tripped up brew being able to install others.

In practice, I install pyenv-virtualenv on either system because single python installations are a dependency nightmare.

On debian I was using buster on my work and home laptop (also in a vm on my hp microserver), but I blindly did a full-upgrade then autoremoved the other kernels without noticing that the package manager had resolved conflicts by removing the crypt libraries that luks relies on. I reinstalled testing on my laptop afterwards.

greencalx

Quote from: Sebastian Cobb on June 30, 2020, 11:19:50 AM
Last time I used a mac it had an old version of python and the version had recently added protections that prevented sudo modification which tripped up brew being able to install others.

That's unfortunate. There was one OS release where there was a bit of a runaround installing updates to the system-supplied Python packages. I seem to recall the essential issue was that a protected folder appeared earlier in the search path than the one you could write to - so if you installed the update it would land in the writeable folder but you couldn't import it without also munging the search path. I wrote a little module to switch the order of the search paths in this (thankfully short-lived) era. Now you can do 'sudo -H pip3 install ...' with no problem at all.

I have generally steered away from ecosystems like homebrew and their friends. I suppose there are situations where there is no alternative. But most often you can can find a .dmg somewhere that does what you need without installing a huge number of tools that duplicate what you already have on your system. I read so many times that the only way to get Python 3 onto a Mac before it was bundled was via homebrew. Not true - just go to python.org and download the .dmg. (If anyone reading still wants to upgrade the default Mac Python, make sure you customise the install to prevent any of the associated crapware being installed alongside it. You then need to stick a single-line file in /etc/paths.d/ telling it where to find the executables - this then makes it available system-wide and if, for example, you change your login shell. Also uninstalling is just a case of removing the /etc/paths.d/ file. Too many vendors think that patching your shell rc file is a reasonable thing to do, which is a total load of bollocks. anaconda is one of the worst cases of this, where you can't even run the equivalent of the venv activate script unless you accept their changes to your login shell).

MojoJojo

Quote from: greencalx on June 30, 2020, 08:52:31 AM
I had a look at ARM Linux and see that it comes across as a refugee from the 90's, pretty much a one-man band by the look of it. I guess this is because ARM hasn't had any significant presence on the desktop.

Linus addressed this in arecent interview:
QuoteWhat about Linux on Arm? "I was wondering if Apple's switch to Arm will make Arm64 a true first-class platform," said Hohndel.

"Over the last 10 years or so I've been complaining about the fact that it's really hard to find Arm hardware that is usable for a developer," Torvalds responded.

"I think that the fact Apple is moving to Arm will help the Arm ecosystem from a development standpoint... I'm hoping that in a few years there will be a powerful Arm desktop that can actually be used for development.

"You can do development in the cloud. Amazon with Graviton 2 has done much better in the Arm ecosystem in cloud than we've seen before.

"But cloud development is not the kind of development most kernel developers want to do. You want to have the machine in front of you. You don't want just to develop for Arm, you want to use Arm day-to-day on the desktop. That's my feeling."

Apple is now likely to deliver the kind of Arm-based machine Torvalds has been waiting for.

From https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/

I'm not quite sure what is meant by first class - something you can actually develop linux on, maybe? You'd have thought the millions of phones running linux on arm would count for something.

Zetetic

I've not had any problems in years with using macports, including installing  newer versions of stuff like python, for what that's worth.

Blumf

Quote from: greencalx on June 30, 2020, 08:52:31 AM
I had a look at ARM Linux and see that it comes across as a refugee from the 90's, pretty much a one-man band by the look of it. I guess this is because ARM hasn't had any significant presence on the desktop.

Don't forget the Raspberry Pi ecosystem. And plenty of distros have ARM ports (from Slackware to Ubuntu)

The thing holding back ARM on the desktop/laptop is the lack of a common open hardware base. PC's have the BIOS, which (after some famous legal wrangling) allowed many companies to make their own compatible hardware open to any OS. There's been nothing like that with ARM systems. Pretty much all ARM devices are proprietary and locked down. Even the rPi has proprietary stuff in it, limiting it's usefulness. Really wish they'd have worked on making an open spec hardware base that a whole system could be built around, rather than the limited (and fragile) single board devices.

It's a bit more complex than that, but at heart, that's what's needed.

Replies From View

What problems will likely emerge for users of Intel-based macs in upcoming years?

I ask because my imac from late 2012 now no longer works.  It wasn't booting and now, when I check it using internet recovery mode, disk utility no longer shows the hard disk.  So it's fucked, seemingly.  Most of my stuff was backed up, so I'm not upset about lost data but it means my imac needs a replacement at some point soon.

I can possibly hold off for several months for a replacement.  I'd be aiming to get one with a SSD rather than HDD, plus 32GB RAM and so on to future-proof it a bit (my current one has/had 8GB), and also because I'll be using it to edit audio and video and want it to work smoothly and without issues.


But does the move from Intel to ARM build in another layer of obsolescence I should be concerned about?  Feels that way, from what people seem to be saying.

Cloud

Honestly I don't know.  They're still bringing out a couple more Intel machines, presumably to inspire confidence in the switchover process.  I think they did this with G5 Macs in the previous switch as well....

I don't remember it being a problem last time BUT the PowerPCs really did not age well, due to the Intel hardware blowing them so far out of the water.  I think there's less risk of that this time around, as Intel is already some very performant stuff and the switch to ARM at least initially will be more about reducing power consumption so they can make the batteries smaller and the laptops thinner.  Universal binaries worked fine last time and there's no reason to believe they won't work just as well this time.

What would bother me is, there's just no way to sugarcoat the fact, Intel Macs are a dead end.  If you think you'd sell it after a couple of years I'd say go for it... if you're intending to do the "keep it hanging together for a decade" that people often like to do with Macs then I'd wait for now.

Replies From View

Yes probably the latter, to be honest.  Thanks.  It's just a pain when the release plans aren't even vaguely known yet.

Sebastian Cobb

Quote from: Replies From View on June 30, 2020, 07:02:10 PM
What problems will likely emerge for users of Intel-based macs in upcoming years?

I ask because my imac from late 2012 now no longer works.  It wasn't booting and now, when I check it using internet recovery mode, disk utility no longer shows the hard disk.  So it's fucked, seemingly.  Most of my stuff was backed up, so I'm not upset about lost data but it means my imac needs a replacement at some point soon.

I can possibly hold off for several months for a replacement.  I'd be aiming to get one with a SSD rather than HDD, plus 32GB RAM and so on to future-proof it a bit (my current one has/had 8GB), and also because I'll be using it to edit audio and video and want it to work smoothly and without issues.


But does the move from Intel to ARM build in another layer of obsolescence I should be concerned about?  Feels that way, from what people seem to be saying.

In my last place we had some 2012 and older (thicker) imacs with tens of gigs of ram and they were still rapid, most of them didn't even have fusion drives. How good are you with a screwdriver? SSD's cost fuck-all these days so you could end up giving it a new lease of life if you don't mind taking it apart.

greencalx

That's probably a good call. Does sound like it's just the disk that's fucked... could be enough to tide you over til the new models come out. For the same reason I'm hoping the graphics driver bug doesn't kill my iMac before the arm models are out.

Replies From View

Interesting thought.  If the internet has step by step instructions for idiots like me to open their imacs up I'd definitely give it a shot.  Replace the hard disk with an SSD and add more RAM.

Sebastian Cobb

Quote from: Replies From View on June 30, 2020, 11:34:57 PM
Interesting thought.  If the internet has step by step instructions for idiots like me to open their imacs up I'd definitely give it a shot.  Replace the hard disk with an SSD and add more RAM.

Ram is dead easy, it's just a flap on the back near the power connector.

There's heaps of youtube videos and stuff according to the 3 seconds I googled. Both sizes too (27"/21")


Replies From View

Quote from: Sebastian Cobb on July 01, 2020, 12:04:11 AM
Ram is dead easy, it's just a flap on the back near the power connector.

I don't think this is the case with mine, but I haven't looked into replacing the RAM yet, beyond realising there is a maximum limit of 16GB which is still twice its current amount.  It's a 21" late 2012 iMac and it doesn't have the flap that some others have. 

I've watched some videos about replacing the hard disk - it'll involve prising off the glass screen but I definitely think it'll be worth trying.

Thanks everyone!

I replaced the DVD drive in my 2009 27" iMac with an SSD and it was a piece of piss. Just make sure you have a can of compressed air to hand to spray out any dust that will inevitably fall on the bare LCD.

IIRC, iMac HDDs have temperature sensors built into them and you might need to buy a third party sensor or use a fan control app to stop the fans from spinning up to 100%.

Sebastian Cobb

Quote from: Replies From View on July 01, 2020, 11:37:48 AM
I don't think this is the case with mine, but I haven't looked into replacing the RAM yet, beyond realising there is a maximum limit of 16GB which is still twice its current amount.  It's a 21" late 2012 iMac and it doesn't have the flap that some others have. 

I've watched some videos about replacing the hard disk - it'll involve prising off the glass screen but I definitely think it'll be worth trying.

Thanks everyone!

Yeah sorry I was thinking more specifically of the bigger ones.

Amazon have some good disassembly kits for phones and stuff for about a tenner that might make life easier, lots of bits including secure torx and the weird triangular ones, but they also come with plastic prys, spudgers and sucker things, they helped me replace a phone screen and a screen on an e-reader.

Oh and don't forget to lie a clean towel or some bubble wrap down if you're working on it face-down.

Replies From View

Quote from: Huxleys Babkins on July 01, 2020, 02:33:13 PM
I replaced the DVD drive in my 2009 27" iMac with an SSD and it was a piece of piss. Just make sure you have a can of compressed air to hand to spray out any dust that will inevitably fall on the bare LCD.

IIRC, iMac HDDs have temperature sensors built into them and you might need to buy a third party sensor or use a fan control app to stop the fans from spinning up to 100%.

Thanks for the compressed air tip.  I was wondering about that.

Not sure what you mean by the fans.  If I replace the HDD with an SSD are you saying there's a fan that'll run when the HDD is removed?

Replies From View

Quote from: Sebastian Cobb on July 01, 2020, 02:58:58 PM
Yeah sorry I was thinking more specifically of the bigger ones.

Ah, thanks.  I still need to check how to swap the RAM but I'm assuming it'll be much like replacing the disk drive.

Quote from: Replies From View on July 01, 2020, 03:00:55 PM
Thanks for the compressed air tip.  I was wondering about that.

Not sure what you mean by the fans.  If I replace the HDD with an SSD are you saying there's a fan that'll run when the HDD is removed?

Mac hard drives had (have?) a built-in temperature sensor that would increase the system fan speed if the drive gets too hot. If that sensor fails, the default behaviour is to ramp the fan speed up to protect the drive until you can take your Mac in for service. A replacement drive won't have that sensor, so the Mac will detect that as a sensor failure and you'll see that same behaviour.

You'll need to look up your specific model to see if this is still the case. It certainly was with my admittedly older model.

Blumf

Aren't all the traditionally replaceable bits (drives, memory) on modern Macs soldered in place now?

canadagoose

Quote from: Huxleys Babkins on July 01, 2020, 04:18:17 PM
Mac hard drives had (have?) a built-in temperature sensor that would increase the system fan speed if the drive gets too hot. If that sensor fails, the default behaviour is to ramp the fan speed up to protect the drive until you can take your Mac in for service. A replacement drive won't have that sensor, so the Mac will detect that as a sensor failure and you'll see that same behaviour.

You'll need to look up your specific model to see if this is still the case. It certainly was with my admittedly older model.
Pretty much every fixed drive I have on my PCs has a temperature sensor, except the old mSATA drive I stuck in an adapter. Unless Mac hard drives / SSDs have something proprietary in them that reports the temperature (rather than something standard) you'll probably be OK.

Edit: Ignore me, it appears they do have external sensors. How weird!

Replies From View

Quote from: Blumf on July 01, 2020, 05:28:23 PM
Aren't all the traditionally replaceable bits (drives, memory) on modern Macs soldered in place now?

This is the video I have seen so far:  https://www.youtube.com/watch?v=pM7eSuSQiLc

Gives a good sense of what's behind the screen and how to remove the drive.  Seems simple enough - it's not soldered in place.  But some might say that sealing everything behind a screen that has to be prised off is complicated enough.

Quote from: Blumf on July 01, 2020, 05:28:23 PM
Aren't all the traditionally replaceable bits (drives, memory) on modern Macs soldered in place now?

Pretty much. Of the current model range, the only exceptions are RAM in the Mac Mini (not designed to be user replaced, but it is possible) and iMac (the RAM is behind a user-accessible door) and, of course, everything in the Mac Pro. Nothing's been replaceable in the laptaps for a long time. You can't even open the iMac like you used to as the screen is glued to the glass so there's no gap between them.

Replies From View

Replacing the RAM in the 2012 iMac is a far more complicated process than replacing its drive:  https://www.youtube.com/watch?v=-H3ns8bOZKc


Makes me wince a bit.

Ohhhhh, I didn't know they got rid of the RAM door on the 21.5". What a bastard thing to do.

Yours is the first of the laminated screen models too, so you can disregard my advice about the spray duster as dust can't get between the panel and the glass.