Hacker News new | ask | show | jobs
by dolni 1937 days ago
As an outsider looking in, it's hard to take this post seriously. There are biases evident, the most glaring of which is the proclamation that "all of my software 'just works'" followed by a laundry list of software for which beta versions had to be installed in order to be functional at all (including Docker).

It's frankly surprising to me how many hoops people are willing to jump through to use an Apple machine when Docker, arguably the single most important tool many developers use, is just a crappy experience on that platform (ARM or not).

M1 from a hardware perspective is neat, but I am not holding my breath that the rest of the industry is going to move towards ARM for regular old PCs. The only reason M1 is viable _at all_ is because of reasonably fast x86_64 emulation. And that requires special hardware that non-M1 platforms don't have. I suspect Apple would jealously guard against any attempt by a competitor to build something similar.

3 comments

> biases ...glaring..."all my software just works" ... install beta

I don't even see a contradiction there, never mind "glaring biases".

I had pretty much the same experience as the author of TFA. For example, I wanted to have Docker installed. I went to their website and found the M1 native beta. I installed it and since then it has just worked™, to the point that my Dockerfiles now build ARM-native containers. And apparently it also runs x86 containers, though I haven't tried that.

When it comes to third party software that was one of the "toughest".

I own a M1 Mini, I do no development on PC or Mac. I use tools like editors and such but the work is all done on other boxes. So for me it is a matter of which type of machine covers the bulk of my needs.

When it comes to Apple it always has been an issue if you wanted to play games. On intel macs you could VM or Bootcamp to windows. That isn't an option on a M1 mac. Worse, while some iOS games are coming to M series systems some current developers of games that work on both PC and Mac are not creating Mac versions; the most notable is Blizzard who brought World of Warcraft to Mac but has stated the new Diablo 2 Resurrected, Diablo 4, and other titles, are not planned. Only one company has stated any intention going forward that has a large catalog and that was Feral.

All this means for those of us who like some recreation with our work and every day computer use (email/net/etc) Apple has their work cut out from them even more because now options are more limited.

Another perspective:

Macs can play more games now, natively, than they ever could before. I've been exclusively a Mac user my entire life (except for brief periods where I also had to use Windows for work), and I regularly play over a dozen different games, and own hundreds more, which run just fine on my 2019 MBP. Granted, I don't try to play the latest greatest AAA 6k 240FPS competitive shooters, largely because I just don't care for that type of gameplay.

Most—not all, but most—games that run today on an Intel Mac will run on an M1. There's a crowdsourced list[0] that does a decent job cataloguing them. Furthermore, for games that don't run (or don't run well) natively on the Mac, CrossOver does a shockingly good job of making them work without any need for BootCamp or a full VM.

The old saw that "Macs can't play games" is a tired one, it's never been particularly true, and it's never been less true than it is today.

[0] https://applesilicongames.com/games

This is just a list of games that boot in a VM. Compared to Windows, this list is a joke. Compared to Linux, this list is a slightly less funny joke. Unless MacOS gets support for DXVK, it won't even be in the same league as it's competitors. Installing Windows games on Linux is set&forget for 75% of the games available, with an additional 15% playable with minor tweaking. It's kinda hilarious that people think Crossover is an acceptable MacOS gaming experience...
If you ignore mobile games and games published prior to 2015 or so, that list is pretty pathetic. If your goal is to play those games from 2015 or older you can just buy a $300 pc off Ebay.
I have no idea where you got the idea that my games are mostly 6+ years old. It's not even slightly true.
The more I read into that list, the worse it gets. Cyberpunk 2021 is on the list because you can play it via Stadia. Clicking on the first item it says "The game can load up, but all the game text is invisible." but is marked as playable. Age of Empires II says "it runs but has hiccups every second, launcher can't display text. if you launch the game there is a 3 second freeze" but is marked playable. Six items on the list are listed as playable because of GeForce Now, Fourteen because it runs on Windows 10 ARM in a VM, and that is many of the newer games. Taking a look a Crysis(2007) it runs at about 45 frames a second, has audio issues and doesn't work for everyone as someone else said it won't even run, marked playable.

If you buy a M1 Mac for gaming I think you will be quite disappointed indeed.

Since when has Docker on Intel Mac been crappy? The couples times I have tried to run Docker on Windows I have always stopped before I actually managed to get anywhere out of frustration.

The experience compared to linux is nearly identical (maybe slightly better thanks too a couple shortcuts in the docker for Mac app that are nice for development).

As far as the "laundry list" is concerned... 12 apps were listed. 5 were emulated, 4 were native and only one having a minor issue that was easily fixed. Only one of the apps needed a preview version and that was docker. VSCode worked fine emulated but there was a native version being tested.

I am very confused where you are coming up with there being a ton of hoops or beta software needed for this.

That being said, we are talking about a platform that is 4 or 5 months old at this point. The industry was already experimenting with ARM. Apple has also shown time and time again that they can make a change and it pushes the industry to follow.

Anything with lots of host volume mount traffic sucks badly, inotify/watch, sequential reads, random reads, writes. It's all horribly slow.

Sometimes it takes seconds (10) for docker commands to start to run, which is super slow compared to a linux host.

> Since when has Docker on Intel Mac been crappy? The couples times I have tried to run Docker on Windows I have always stopped before I actually managed to get anywhere out of frustration.

I had the same experience. The installer has been improved, my grandma could set up Docker on Windows now.

> Since when has Docker on Intel Mac been crappy?

Since forever if you actually try to use it for real development? https://github.com/docker/for-mac/issues/77

> As far as the "laundry list" is concerned... 12 apps were listed. 5 were emulated, 4 were native and only one having a minor issue that was easily fixed. Only one of the apps needed a preview version and that was docker. VSCode worked fine emulated but there was a native version being tested.

I will quote the relevant parts of the article here since you can't be bothered to read the whole thing.

> One issue I encountered on both my M1 laptop and also a MacStadium MacMini instance that we use for Mac testing is that Brew randomly started to complain about git missing.

> The Docker team advise that QEMU is a best-effort approach and that it is best to run images natively as much as possible. I have encountered myself issues with some binaries when I tried to emulate them via QEMU.

> One thing to note is that Docker-in-Docker is not supported by QEMU (abandoned PR here). So you cannot run an arm64 Docker in an amd64 Docker or vice-versa. However, if you run your natively-supported Docker-in-Docker, the inner Docker can still run multi-platform images fine.

> Another issue that I noticed with the Docker preview on the M1 is that there are currently performance issues with multi-processor use - so much so that performance using a single core is sometimes slightly better than the performance of using 8 cores. Or at least that's what @jasmas claims. I've also seen some benchmarks testing the import of a database like MySQL, and it seems that there are some clear performance issues (~25X) with the Apple virtualization API. I've not seen such a drastic difference in common use, but hopefully these are addressed soon.

> An issue I ran into with the amd64 version was that I did not realize that the terminal was also an amd64 process (Again, Rosetta 2 is just that good). In some situations, this led to some strange issues when running Docker, where QEMU was acting up with segmentation faults. After some head-scratching the issue was resolved by switching to the ARM-based VS Code Insiders edition.

> I ran into issues when using the JVM. After investigating online, it seems that OpenJDK is not yet available for the M1. The way this was manifesting for me was that the JVM process would just hang randomly. By using --platform=linux/amd64 in Docker or in Earthly builds, I was able to get OpenJDK to work most of the time, but I'm still seeing random hangs.

All of these bugs after the author _initially_ wrote:

> All the software I need to use "just works". I found that if an ARM-native version is not available for an application, the emulated one works just fine and there's no performance drawback that I can notice.

> I am very confused where you are coming up with there being a ton of hoops or beta software needed for this.

Reading the article rather than skimming it helps a lot.