<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">Hey,</span><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">I am on a M1 Max machine, when I am opening pd-0.52-2 in rosetta mode, I don’t face any problems to load </div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">„old“ - x86 externals.</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">Old because I load them in the past with deken! It means with an pd intel version… like pd-0.51-4</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">It seems that deken doesn’t show x86 versions when you run pd in rosetta mode.</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></div><div><blockquote type="cite" class=""><div class="">Am 27.04.2022 um 08:25 schrieb IOhannes m zmoelnig <<a href="mailto:zmoelnig@iem.at" class="">zmoelnig@iem.at</a>>:</div><br class="Apple-interchange-newline"><div class=""><div class="">On 4/26/22 21:12, Jakob Skouborg wrote:<br class=""><br class=""><blockquote type="cite" class="">I checked Dekens platform settings and it is set to Darwin-arm64-32. Does that mean Deken will download "arm specific" externals, even though I am running Pd in Rosetta mode?<br class=""></blockquote><br class="">yes.<br class=""><br class=""><blockquote type="cite" class="">Would it make any difference changing Dekens platform settings to another format? In that case, what should I change it to?<br class=""></blockquote><br class="">no.<br class=""><br class=""><br class="">it's all much more complicated than we though :-)<br class=""><br class="">know that I think of it, it seems that Rosetta doesn't really help that much, because Pd is split in two separate processes: Pd-GUI and Pd(-core). The user only ever sees the Pd-GUI, the Pd-core just runs in the background.<br class=""></div></div></blockquote><div><br class=""></div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><br class="">Now, for the Pd-0.52-2 release, both binaries (Pd-GUI and Pd-core) are universal (x86_64/arm64) builds.<br class="">When you start Pd through Rosetta (by right-clicking the app-icon and selectign "Open using Rosetta"), you instruct the OS to launch the Pd-GUI through rosetta.<br class="">The Pd-GUI then starts the Pd-core, and doesn't care a bit about your rosetta-settings, which means that the Pd-core is started in native (arm64) mode.<br class=""></div></div></blockquote><div><br class=""></div><div>In my case with rosetta both Pd-Gui and Pd-core are in Intel-Mode.</div><div><br class=""></div><img apple-inline="yes" id="A13209B0-2AFC-4C1D-BAB3-724F57B88C5B" width="595" height="27" src="cid:DB8EF1C7-1DA7-49C7-B391-78533632EF8A" class=""><br class=""><blockquote type="cite" class=""><div class=""><div class=""><br class="">So you end up with an x86_64 Pd-GUI process (where the Rosetta doesn't really matter, as speed is not of an essence here), and an arm64 Pd-core process (which is the one that loads externals, and which you tried to force to x86_64 with Rosetta).<br class=""><br class="">bummer.<br class=""><br class=""><br class="">> I’ve tried a few, like zexy and iemlib.<br class=""><br class="">these are a bit special, as they are part of the small set that provides binaries for both Darwin-x86_64 and Darwin-arm64.<br class="">The arm64 (M1) binary are totally untested though.<br class="">it looks like we are going to get a an M1 based mac in the near future at the iem, so I can at least test our builds locally...<br class=""><br class=""><br class="">> Do you guys have any suggestions to what I try out?<br class=""><br class=""><br class="">the only quick fix that comes to my mind right now, is to purge the arm64 part of the Pd-core, so it is forced to run through Rosetta.<br class=""><br class="">something like this should do the trick (in the terminal):<br class="">```<br class="">cd /Applications/Pd-0.52.2.app/Content/Resources/bin/<br class="">mv pd pd.fat<br class="">lipo pd.fat -thin x86_64 -output pd<br class="">```<br class=""><br class="">(this is written from the top-of my head; so the paths might not be correct (and they might be different on your machine anyhow), and the 'lipo' invocation might be wrong as well (check 'man lipo'); but hopefully you'll get the gist of it)<br class=""><br class="">the long term fix (as has been discussed) is of course to just provide (working) arm64 binaries for "all" the libraries.<br class=""><br class=""><br class="">an intermediate-term fix would be to somehow pass the rosetta-settings to the launched sub-process (that is: if Pd-GUI was started via Rosetta, than the Pd-core should also be launched via Rosetta).<br class=""><br class="">i have no idea how to do this (or whether it is feasible at all).<br class=""><br class="">fgmadsr<br class="">IOhannes<br class="">_______________________________________________<br class="">Pd-dev mailing list<br class=""><a href="mailto:Pd-dev@lists.iem.at" class="">Pd-dev@lists.iem.at</a><br class="">https://lists.puredata.info/listinfo/pd-dev<br class=""></div></div></blockquote><br class=""></div><div><br class=""></div><div>Best, </div><div>denis</div><br class=""></body></html>