Apple silicon support

The currently released version of PhotoStructure should run fine with Big Sur under Rosetta (emulation).

I just got a new m1 Mac mini yesterday, and am adding it to PhotoStructure’s continuous integration build farm tomorrow. The PhotoStructure for Node instructions will be a bit more involved, and the Desktop edition will now have two separate installers (one for Intel Mac, and one for Apple Silicon Mac).

Update 2021-02-01: PhotoStructure on Apple Silicon should be considered experimental. A beta user just reported database corruption (which is normally extremely rare). I recently had to reformat my m1’s internal drive due to APFS corruption.

I’ll try to look into this more after v1.0.0 is out the door.

Update:

The PhotoStructure for Node build, when using nvm to compile a native node binary, seems to work, but should be considered experimental. There are a couple bugs in v0.9.1 with respect to Big Sur that are addressed in v1.0.0, but those should be cosmetic.

Unfortunately, the Desktop build requires a couple dependencies and automatic updater changes that aren’t quite yet ready for Apple Silicon. These should hopefully should be available in a month or two, at which point I can revisit a native Desktop release.

Update: a beta user just shared logs that indicate SQLite, the storage engine that PhotoStructure is using, is having persistence issues (most likely due to APFS).

(FWIW, I’ve had to completely reformat my m1 mac mini’s internal drive when Big Sur decided it wasn’t going to boot anymore. There are serious defects in APFS and Big Sur that result in data loss: please make sure you’re using Time Machine regularly!).

I’m going to update the initial post in this topic to emphasize how experimental the m1 environment is currently. Sorry if you’ve been bit by this!

Here’s another issue that Big Sur users may hit: v0.9.1’s volumes() function required all root volume directories to be readable, and would completely crash if any volumes were not readable.

Unfortunately, Big Sur may hide some Time Machine (or other) volumes to users. I’ve addressed this in v1.0.0: (from the release notes):

  • :bug: PhotoStructure could fail to launch if readdir failed for any root directories of volumes.

Update: PhotoStructure for Node v1.0.0-beta with node.js 16.2.0 should work. See this for details:

I wonder if macOS Monterey will change something on this front. Do you know if it has some advantages that could benefit de use of Photostructure on Macs with the M1 chip?

Gosh, I sure hope so. Big Sur was raw. I don’t remember the last version of macOS that spawned quite the density, frequency, and severity of uncivilized language coming from my office.

The beta does seem to work on my m1 mini via PhotoStructure for Node and node 16, FWIW.

xD

I’m seriously considering getting a Mac mini M1 just for this purpose, but I would like to make sure it works with a 1-2TB external drive.

The other option would be running Linux on it through Asahi Linux if they finally succeed. I’m not in a hurry, so let’s see how everything goes. Keep up the good work :slight_smile: