<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Apple Silicon &#8211; Xojo Programming Blog</title>
	<atom:link href="https://blog.xojo.com/tag/apple-silicon/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.xojo.com</link>
	<description>Blog about the Xojo programming language and IDE</description>
	<lastBuildDate>Thu, 11 Nov 2021 18:34:42 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Debugging Apple Silicon (M1) apps</title>
		<link>https://blog.xojo.com/2020/12/08/debugging-apple-silicon-m1-apps/</link>
		
		<dc:creator><![CDATA[William Yu]]></dc:creator>
		<pubDate>Tue, 08 Dec 2020 10:00:00 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Apple Silicon]]></category>
		<category><![CDATA[Apple Silicon M1 Debugging]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=7822</guid>

					<description><![CDATA[While we make the full transition of building the Xojo IDE for M1, you can continue to leverage debugging M1 apps while using the Intel based Xojo IDE on macOS.]]></description>
										<content:encoded><![CDATA[
<p>While we make the full transition of building the Xojo IDE for M1, you can continue to leverage debugging M1 apps while using the Intel based Xojo IDE on macOS.</p>



<p><strong>Native machine debugging on M1</strong></p>



<p>The advantage of running the Xojo IDE on the M1 is that you can debug both an Intel or M1 based app on the same machine. Find the new Architecture settings in the macOS Build Settings inspector. For purposes of macOS builds, x86 64-bit means Intel and ARM 64-bit is M1.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="582" height="198" src="https://blog.xojo.com/wp-content/uploads/2020/12/Architectures.png" alt="" class="wp-image-7823" srcset="https://blog.xojo.com/wp-content/uploads/2020/12/Architectures.png 582w, https://blog.xojo.com/wp-content/uploads/2020/12/Architectures-300x102.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>



<p>Note that when you debug a Universal app, you will actually be debugging an Intel app on an M1 (at least currently, until we build our Xojo IDE for M1) . In order to debug a native M1 app, choose the ARM 64-bit architecture when debugging.</p>



<p><strong>Remote debugging to M1</strong></p>



<p>If your preference is working on your Intel based Mac, you can also setup Remote Debugging to your M1 machine to debug Intel or M1 based apps. The same architecture settings apply, so to remote debug a native M1 build, select the ARM 64-bit architecture. If you select the x86 64-bit or Universal architecture then you will be debugging an Intel build.</p>



<p>Happy coding &amp; debugging!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>XojoTalk 037 &#8211; 2020 Release 2 Extravaganza</title>
		<link>https://blog.xojo.com/2020/12/04/xojotalk-037-2020-release-2-extravaganza/</link>
		
		<dc:creator><![CDATA[Paul Lefebvre]]></dc:creator>
		<pubDate>Fri, 04 Dec 2020 19:28:41 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[XojoTalk]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apple Silicon]]></category>
		<category><![CDATA[M1]]></category>
		<category><![CDATA[macOS]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=7814</guid>

					<description><![CDATA[Xojo Engineers Paul and Travis talk about Xojo 2020 Release 2 and Apple M1 Macs.]]></description>
										<content:encoded><![CDATA[
<p>Xojo Engineers Paul and Travis talk about Xojo 2020 Release 2 and Apple M1 Macs.</p>



<p>Download <a href="http://files.xojo.com/Podcasts/XojoTalk-037.mp3">mp3</a>.</p>



<h2 class="wp-block-heading">Topics</h2>



<ul class="wp-block-list"><li><a href="https://www.xojo.com/download/">Xojo 2020r2 Download</a></li><li><a href="https://documentation.xojo.com/Resources:2020r2_Release_Notes">Xojo 2020r2 Release Notes</a></li><li><a href="https://www.xojo.com/company/team.php">Xojo Team</a></li><li><a href="https://blog.xojo.com/2020/12/04/about-running-windows-and-linux-on-m1-macs/">Windows &amp; Linux on M1 Macs</a></li></ul>
]]></content:encoded>
					
		
		<enclosure url="http://files.xojo.com/Podcasts/XojoTalk-037.mp3" length="47262742" type="audio/mpeg" />

			</item>
		<item>
		<title>About Running Windows and Linux on M1 Macs</title>
		<link>https://blog.xojo.com/2020/12/04/about-running-windows-and-linux-on-m1-macs/</link>
		
		<dc:creator><![CDATA[Paul Lefebvre]]></dc:creator>
		<pubDate>Fri, 04 Dec 2020 17:27:25 +0000</pubDate>
				<category><![CDATA[Cross-Platform]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apple Silicon]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[Emulation]]></category>
		<category><![CDATA[M1]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Parallels]]></category>
		<category><![CDATA[Rosetta 2]]></category>
		<category><![CDATA[VM]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=7742</guid>

					<description><![CDATA[With the newly released M1 Macs, there have been lots of questions about being able to run other operating systems on it, particularly from developers that are used to running Window or Linux in Virtual Machines using virtualization on their Intel Macs. ]]></description>
										<content:encoded><![CDATA[
<p>With the newly released M1 Macs, there have been lots of questions about being able to run other operating systems on it, particularly from developers that are used to running Window or Linux in Virtual Machines using virtualization on their Intel Macs. So what challenges do the M1 Macs bring in this regard?</p>



<p>If you are new to all this, it is important to understand the parts involved. First there are virtual machines, which act as virtual computers running on a main or host computer. Second, there are the instruction sets for the computer and OS. These virtual computers run an operating system (OS) of some kind and in most cases this OS has to have the same instruction set as the host computer. This allows the instruction to be passed through the VM to the CPU and allows for good performance. Which is what makes it so easy to run Windows 10 x86 on an Intel Mac — they both are using Intel CPUs with the same instruction sets.</p>



<p>But what if the instruction sets differ as they do with Intel and M1 Macs? Obviously you can no longer pass an x86 instruction to an M1 chip and expect anything to happen. So some translation or emulation needs to happen. This is typically much, much slower.</p>



<p>In general this is what Apple is doing with Rosetta 2 on Big Sur to allow your x86 Mac apps to run on an M1 Mac. They do an entire app translation on first launch (and also re-do it at times) and then run the translated app. This is a great technique but it doesn’t really work at a virtual machine level. And in fact, Apple specifically says that <a href="https://developer.apple.com/documentation/apple_silicon/about_the_rosetta_translation_environment?">Rosetta 2 cannot be used with virtualization software</a>.</p>



<p>That’s the bad news. But there are options on the horizon.</p>



<h2 class="wp-block-heading">Emulation</h2>



<p>The first option is OS-level emulation. What would happen here is that emulation software (say, <a href="https://www.qemu.org">QEMU, a popular open-source emulator and virtualizer</a>) would translate x86 instructions to ARM instructions (usually on-the-fly) so that an x86 operating system could run on an M1 Mac. In theory this would allow Windows 10 x86 for example to run as a (virtual computer) on an M1 Mac.</p>



<p>Technically this is more than a theory since it has been done before. You may remember it was possible to run Windows 98 x86 on a PowerPC Mac back in the day using software such as Connectix Virtual PC. The downside to this approach is that it can be quite slow. Fortunately the M1 Macs are proving to be very speedy and might be able make this technique acceptable for casual use. I <a href="https://twitter.com/KhaosT/status/1330112758159970305">expect the QEMU project will be updated to eventually allow emulation of x86 operating systems on M1 Macs</a>.</p>



<h2 class="wp-block-heading">OS Vendors</h2>



<p>You might remember in the<a href="https://youtu.be/GEZhD3J89ZE?t=6009"> WWDC 2020 keynote Apple showed Linux running as a virtual machine with Parallels</a> on an M1 Mac. This demo was actually running an ARM Linux distro in that virtual machine. Since it was not an x86 distro, its usefulness depends on its ability to run the apps you need. If you wanted to run an x86 Linux app then it would not work on an ARM distro.</p>



<p>However, the OS vendors are working on this. Much like what Apple did with Rosetta 2, they can add OS-level support to translate individual apps from x86 to ARM, thus allowing them to work in a virtual machine. I haven&#8217;t heard of progress on this front with Linux, but I expect there will be some convoluted way to do it at some point.</p>



<p>Microsoft does have an ARM version of Windows, but right now it is only licensed for OEM use to include with a computer, so virtualizing it is not yet an option. And even if you could virtualize ARM Windows on your M1 Mac, it also is only useful to you if it can run the apps you want.</p>



<p>Currently ARM Windows has a translator that lets it run 32-bit x86 apps, but performance is poor, especially when compared to what Apple has done with Rosetta 2 in Big Sur. Microsoft has said they <a href="https://arstechnica.com/gadgets/2020/10/windows-10-machines-running-on-arm-will-be-able-to-emulate-x64-apps-soon/">are working on adding the ability to run 64-bit x86 apps on ARM Windows</a>, but that feature is not ready yet and performance is unknown.</p>



<p>I expect virtualizers such as <a href="https://www.parallels.com/blogs/parallels-desktop-apple-silicon-mac/">Parallels</a>, VMware and VirtualBox will all eventually have versions that run on M1 Macs and can run ARM operating systems, although perhaps just Linux to start. I don’t expect them to include emulators in their products.</p>



<p><strong>Update (2021-4-14)</strong>: <a href="https://www.theverge.com/22383598/parallels-desktop-mac-windows-10-install-m1-macbook">Parallels has just released 16.5 with support for running Windows for ARM on M1 Macs</a>.</p>



<p>When Microsoft adds 64-bit x86 translation and has it working at a decent speed and if it decides to make ARM Windows available for use in virtual machines then you would also be able to run Windows on an M1 Mac and run common Windows apps. But for now, we wait.</p>



<p><strong>Update (2020-12-08)</strong>: Some progress continues to be made on this. <a href="https://github.com/utmapp/UTM/wiki/Install-Windows-ARM64-on-Apple-M1">Here are some rough instructions</a> on how to get Windows ARM running in a VM (UTM running on QEMU).</p>



<h2 class="wp-block-heading">Other Options</h2>



<p>Another option is the CodeWeavers product that is based on the WINE open-source project. This project essentially provides a translated Windows API that allows some Windows apps to run on a Mac. It does not run Windows itself, only apps, and only a small subset at that.</p>



<p>But because it translates the apps to essentially a Mac x86 app, they are a candidate for Rosetta 2 on Big Sur to translate. That’s a lot of levels of translation, but in the end you end up with a Windows app running on an M1 Mac.</p>



<p>CodeWeavers recently <a href="https://www.codeweavers.com/blog/jwhite/2020/11/18/okay-im-on-the-bandwagon-apple-silicon-is-officially-cool">posted some information about their early testing of this</a>.</p>



<h2 class="wp-block-heading">Wrap Up</h2>



<p>With all this said, if you require the ability to run an x86 version of Windows or Linux, then an M1 Mac cannot be your sole machine at this time. You’ll either want to also have an Intel Mac to run those in virtual machines or get dedicated separate hardware for them.</p>



<p>And if you want to make your own native apps for M1 Macs, Xojo now has the ability to create <a href="https://blog.xojo.com/2020/11/24/xojo-now-supports-native-apple-silicon-m1-compilation/">native apps for M1 Macs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Xojo Now Supports Native Apple Silicon (M1) Compilation</title>
		<link>https://blog.xojo.com/2020/11/24/xojo-now-supports-native-apple-silicon-m1-compilation/</link>
		
		<dc:creator><![CDATA[Dana Brown]]></dc:creator>
		<pubDate>Tue, 24 Nov 2020 17:09:26 +0000</pubDate>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apple Silicon]]></category>
		<category><![CDATA[M1]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=7738</guid>

					<description><![CDATA[We are always pushing forward as new technology provides ever-increasing performance and capabilities. Today we shipped Xojo 2020 Release 2, which adds the ability to&#8230;]]></description>
										<content:encoded><![CDATA[
<p>We are always pushing forward as new technology provides ever-increasing performance and capabilities. Today we shipped Xojo 2020 Release 2, which adds the ability to compile native apps for the new Apple Silicon (M1) Macs that were just recently released, making Xojo the first <a href="https://www.xojo.com">cross-platform development tool</a> to support Macs with this new processor technology. We expect a lot of demand for these high-performing Macs, so we are happy that we were able to release support for building apps for these machines very quickly. Now Xojo users can re-compile their apps to support them with no code changes in most cases.</p>



<p align="center"><iframe width="560" height="315" src="https://www.youtube.com/embed/cy4fYKH2s_Y" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>



<p>Xojo 2020 Release 2 is available for <a href="https://www.xojo.com/download" target="_blank" rel="noreferrer noopener">download</a> now. Xojo is free to use for learning and development. For information on pricing and licensing options, please visit <a href="https://www.xojo.com/store">our store</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Smooth Sailing with Xojo and Apple Silicon</title>
		<link>https://blog.xojo.com/2020/11/17/smooth-sailing-with-xojo-and-apple-silicon/</link>
		
		<dc:creator><![CDATA[Paul Lefebvre]]></dc:creator>
		<pubDate>Tue, 17 Nov 2020 22:37:24 +0000</pubDate>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apple Silicon]]></category>
		<category><![CDATA[M1]]></category>
		<category><![CDATA[macOS]]></category>
		<category><![CDATA[Rosetta 2]]></category>
		<category><![CDATA[Universal Binary]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=7667</guid>

					<description><![CDATA[Starting with Xojo 2020 Release 2 you’ll be able to build your own Universal Binary apps! All you’ll have to do is go to your macOS Build Settings and change the Architecture from “x64 (64-bit)” to “Universal” and re-build your project. Xojo does everything else for you.]]></description>
										<content:encoded><![CDATA[
<p>On November 10th, 2020, Apple <a href="https://www.apple.com/newsroom/2020/11/introducing-the-next-generation-of-mac/">announced the first Macs that use Apple Silicon</a>. The Macs are using the new M1 chip, which appears to be a beefier version of the A14 used in the iPhone 12 and iPad Air. Reviews are <a href="https://sixcolors.com/post/2020/11/m1-macs-review/">starting to appear</a> and the <a href="https://techcrunch.com/2020/11/17/yeah-apples-m1-macbook-pro-is-powerful-but-its-the-battery-life-that-will-blow-you-away/">performance improvements are impressive</a>. This now means that Apple sells some Macs that use Intel CPUs and some that use Apple Silicon (M1) chips. What does this mean for you and your Xojo apps?</p>



<p>Well, not to worry as both <strong>Apple and Xojo have your back</strong>.</p>



<p>For most people, you actually don’t have to do anything because of an amazing <a href="https://www.theverge.com/21304182/apple-arm-mac-rosetta-2-emulation-app-converter-explainer">Apple technology called Rosetta 2</a>. Built into Big Sur, Rosetta 2 is a translation technology that automatically converts most x86-64 (Intel 64-bit) app binaries so that they can run on an Apple Silicon Mac. To you and your users, this process is entirely transparent. Most apps won’t even have a noticeable performance difference. Because of Rosetta 2, moving to Apple Silicon Macs will be painless for all.</p>



<p>For the best possible performance you will want to take advantage of another Apple technology called the <a href="https://arstechnica.com/gadgets/2020/06/this-is-apples-roadmap-for-moving-the-first-macs-away-from-intel/">Universal Binary</a>. A Universal Binary app looks the same as a regular app, but it contains one version of the app that can run on x86-64 (Intel 64-bit) and another that can run on Apple Silicon.</p>



<p>Starting with Xojo 2020 Release 2 (<a href="https://xojo.com/download/">download</a> now!) you’ll be able to build Universal Binary apps! All you’ll have to do is go to your macOS Build Settings and change the Architecture from “x64 (64-bit)” to “Universal” and re-build your project. Xojo does everything else for you.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="636" height="102" src="https://blog.xojo.com/wp-content/uploads/2020/11/2020-11-11_12-35-25.png" alt="" class="wp-image-7668" srcset="https://blog.xojo.com/wp-content/uploads/2020/11/2020-11-11_12-35-25.png 636w, https://blog.xojo.com/wp-content/uploads/2020/11/2020-11-11_12-35-25-300x48.png 300w" sizes="(max-width: 636px) 100vw, 636px" /></figure>



<p>Note that if you use plugins, you&#8217;ll have to get updated plugins that include Apple Silicon components from the plugin author in order to build a Universal Binary.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Apple Silicon and Big Sur Support Coming in Xojo 2020r2</title>
		<link>https://blog.xojo.com/2020/11/10/apple-silicon-and-big-sur-support-coming-in-xojo-2020r2/</link>
		
		<dc:creator><![CDATA[Geoff Perlman]]></dc:creator>
		<pubDate>Tue, 10 Nov 2020 18:08:09 +0000</pubDate>
				<category><![CDATA[Cross-Platform]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apple Silicon]]></category>
		<category><![CDATA[Big Sur]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=7657</guid>

					<description><![CDATA[Right now, Xojo 2020r2 is in the late testing phase and will support building for Apple Silicon and Big Sur as well as many other new features and improvements.]]></description>
										<content:encoded><![CDATA[
<p>You may remember back in July we shared <a href="https://blog.xojo.com/2020/07/07/hello-world-on-apple-silicon/">Xojo running on Silicon</a>. We&#8217;ve been busy since then, and not just getting Web   2.0 out. Right now, Xojo 2020r2 is in the late testing phase and will support building for Apple Silicon and Big Sur as well as many other new features and improvements! If you are interested in testing, see <a href="https://forum.xojo.com/38207-welcoming-more-pre-release-testers/0">here</a> for more information!</p>



<figure class="wp-block-video"><video height="1080" style="aspect-ratio: 1920 / 1080;" width="1920" controls src="https://blog.xojo.com/wp-content/uploads/2020/11/Apple-Silicon-Demo.mp4"></video></figure>
]]></content:encoded>
					
		
		<enclosure url="https://blog.xojo.com/wp-content/uploads/2020/11/Apple-Silicon-Demo.mp4" length="10246722" type="video/mp4" />

			</item>
		<item>
		<title>Hello World on Apple Silicon!</title>
		<link>https://blog.xojo.com/2020/07/07/hello-world-on-apple-silicon/</link>
		
		<dc:creator><![CDATA[Geoff Perlman]]></dc:creator>
		<pubDate>Tue, 07 Jul 2020 14:43:47 +0000</pubDate>
				<category><![CDATA[Cross-Platform]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apple Silicon]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=7183</guid>

					<description><![CDATA[Today compiled the first native Xojo app for Apple Silicon. "Hello World" is a huge step towards bringing you the ability to build your apps for Apple's future computing platform.]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-gallery columns-1 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="1024" height="478" src="https://blog.xojo.com/wp-content/uploads/2020/07/Screen-Shot-2020-07-06-at-2.29.51-PM-1024x478.png" alt="" data-id="7188" data-full-url="https://blog.xojo.com/wp-content/uploads/2020/07/Screen-Shot-2020-07-06-at-2.29.51-PM.png" data-link="https://blog.xojo.com/?attachment_id=7188" class="wp-image-7188" srcset="https://blog.xojo.com/wp-content/uploads/2020/07/Screen-Shot-2020-07-06-at-2.29.51-PM-1024x478.png 1024w, https://blog.xojo.com/wp-content/uploads/2020/07/Screen-Shot-2020-07-06-at-2.29.51-PM-300x140.png 300w, https://blog.xojo.com/wp-content/uploads/2020/07/Screen-Shot-2020-07-06-at-2.29.51-PM-768x359.png 768w, https://blog.xojo.com/wp-content/uploads/2020/07/Screen-Shot-2020-07-06-at-2.29.51-PM-1536x717.png 1536w, https://blog.xojo.com/wp-content/uploads/2020/07/Screen-Shot-2020-07-06-at-2.29.51-PM.png 1970w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></li></ul></figure>



<p>Yesterday we hit an important milestone, compiling the first native Xojo app for Apple Silicon. There&#8217;s more work to do of course, but &#8220;Hello World&#8221; is a huge step towards bringing you the ability to build your apps for Apple&#8217;s future computing platform.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
