<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">One more detail.  Our lab is getting an Apple Silicon machine so we can attempt to make a native ChimeraX version.<div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">       </span>Tom</div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Mar 22, 2021, at 10:57 AM, Tom Goddard <<a href="mailto:goddard@sonic.net" class="">goddard@sonic.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">In the future we would like to provide a native Apple Silicon (ARM CPU) version of ChimeraX.  We have not tried it yet.  It would be easy to compile the C++ code we develop for the new CPU.  But the trouble is that ChimeraX depends on over 50 third party Python modules, some of them including compiled code.  I believe all of those compiled python modules will have to be available compiled for ARM in order for us to make a native ChimeraX app.  According to Apple's developer documentation you cannot mix ARM compiled code with Intel compiled dynamically loaded modules in the same process:<div class=""><br class=""></div><div class="">From <a href="https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment" class="">https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment</a></div><div class=""><aside data-v-c567d8a8="" aria-label="important" class="important" style="margin-top: 1.6em; background-color: rgb(251, 248, 232); border-left-color: rgb(254, 228, 80); border-left-style: solid; border-left-width: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-right-radius: 6px; border-bottom-left-radius: 6px; border-right-color: transparent; border-right-style: solid; border-right-width: 6px; padding: 0.94118rem; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 17px; letter-spacing: -0.37400001287460327px;"><div style="margin: 0px; padding: 0px; line-height: 1.52947; font-weight: 600; letter-spacing: -0.021em;" class="">Important</div><div style="margin: 0.4em 0px 0px; padding: 0px;" class="">The system prevents you from mixing <code data-v-7fb764c1="" data-v-c567d8a8="" style="font-size: 1em; font-family: "SF Mono", Meno, monospace; letter-spacing: 0px;" class="">arm64</code> code and <code data-v-7fb764c1="" data-v-c567d8a8="" style="font-size: 1em; font-family: "SF Mono", Meno, monospace; letter-spacing: 0px;" class="">x86<wbr data-v-7fb764c1="" class="">_64</code> code in the same process. Rosetta translation applies to an entire process, including all code modules that the process loads dynamically.</div><div class=""><br class=""></div></aside><div class=""><br class=""></div><div class="">Major packages we use like the Qt window toolkit and numpy array module provide native ARM versions.  But less well maintained modules like the PyOpenGL-accelerate module ChimeraX uses for OpenGL graphics has not been updated for more than a year (Jan 2020) and there is no telling when an ARM version will become available.</div><div class=""><br class=""></div><div class="">The following GitHub repository (focused on neuroimaging) describes some of the availability problems from scientific packages on ARM CPUs.</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span><a href="https://github.com/neurolabusc/AppleSiliconForNeuroimaging" class="">https://github.com/neurolabusc/AppleSiliconForNeuroimaging</a></div><div class=""><br class=""></div><div class="">  Tom</div><div class=""><br class=""></div><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Mar 21, 2021, at 7:40 PM, Jeffrey D. Hartgerink <<a href="mailto:jdh@rice.edu" class="">jdh@rice.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Are there any plans for an Apple Silicon (M1 chip) native version of ChimeraX? While things work ok via the Rosetta emulator, it would be great to have the performance from a native app.<div class=""><br class=""></div><div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">--------------------------------------<br class="">Jeffrey D. Hartgerink, Ph.D.<br class="">Prof. of Chemistry and Bioengineering</div><div style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Rice University, MS 602<br class="">6100 Main Street<br class="">Houston, TX 77005<br class=""><a href="mailto:jdh@rice.edu" class="">jdh@rice.edu</a> / 713-348-4142</div><div style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="http://hartgerink.rice.edu/" class="">hartgerink.rice.edu</a></div></div></div></div></div></div>
</div>
<br class=""></div>_______________________________________________<br class="">ChimeraX-users mailing list<br class=""><a href="mailto:ChimeraX-users@cgl.ucsf.edu" class="">ChimeraX-users@cgl.ucsf.edu</a><br class="">Manage subscription:<br class=""><a href="https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users" class="">https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users</a><br class=""></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></body></html>