<?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>ARM &#8211; Xojo Programming Blog</title>
	<atom:link href="https://blog.xojo.com/tag/arm/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.xojo.com</link>
	<description>Blog about the Xojo programming language and IDE</description>
	<lastBuildDate>Wed, 07 Jan 2026 16:01:52 +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>When Doing More Is Faster: A Curious Xojo Performance Test</title>
		<link>https://blog.xojo.com/2026/01/05/when-doing-more-is-faster-a-curious-xojo-performance-test/</link>
		
		<dc:creator><![CDATA[Geoff Perlman]]></dc:creator>
		<pubDate>Mon, 05 Jan 2026 20:45:13 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[ARM64]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=15751</guid>

					<description><![CDATA[I ran across something recently that had me truly scratching my head. My goal was to measure how much extra time it would take for&#8230;]]></description>
										<content:encoded><![CDATA[
<p>I ran across something recently that had me truly scratching my head. My goal was to measure how much extra time it would take for some additional functionality I wished to add to a project. The initial code was performing a query on a table in a database and then looping through the RowSet returned to populate five columns of a DesktopListBox with each row from the RowSet. I created a new project to test a simple form of the code. I added some code to measure the performance in microseconds. Next, I created an identical test except this time there was an extra line of code inside the loop that assigned a DatabaseRow from the RowSet to the row&#8217;s RowTag. This was the extra functionality I wanted. The tests would show me the cost of this functionality in terms of performance.</p>



<h2 class="wp-block-heading">Test 1</h2>



<pre class="wp-block-code"><code>Var rs As rowset = SQLiteDatabase1.SelectSQL("SELECT invoices.invoiceno, invoices.invoicedate, invoices.invoiceamount, customers.firstname, customers.lastname FROM Invoices JOIN Customers ON invoices.customerid = customers.id")
Results1.RemoveAllRows
Var grandTotal As Integer
Var totalIterations As Integer  = 10
For i As Integer = 1 To totalIterations
  Var start As Integer = System.Microseconds
  For Each row As databaserow In rs
    ListBox1.AddRow(rs.Column("InvoiceNo"), rs.Column("lastname"), rs.Column("firstname"), rs.Column("InvoiceDate"), rs.Column("InvoiceAmount"))
  Next
  Var stop As Integer = System.Microseconds
  Var total As Integer = stop - start
  grandTotal = grandTotal + total
  Results1.AddRow("Test " + i.ToString + ": " + total.ToString)
Next
Var avg As Integer = grandTotal / totalIterations
results1.AddRow("Average: " + avg.ToString)</code></pre>



<h2 class="wp-block-heading">Test 2</h2>



<pre class="wp-block-code"><code>Var rs As rowset = SQLiteDatabase1.SelectSQL("SELECT invoices.invoiceno, invoices.invoicedate, invoices.invoiceamount, customers.firstname, customers.lastname FROM Invoices JOIN Customers ON invoices.customerid = customers.id")
Results2.RemoveAllRows
Var grandTotal As Integer
Var totalIterations As Integer  = 10
For i As Integer = 1 To totalIterations
  Var start As Integer = System.Microseconds
  For Each row As databaserow In rs
    ListBox1.AddRow(rs.Column("InvoiceNo"), rs.Column("lastname"), rs.Column("firstname"), rs.Column("InvoiceDate"), rs.Column("InvoiceAmount"))
    <strong>ListBox1.RowTagAt(ListBox1.LastAddedRowIndex) = row</strong>
  Next
  Var stop As Integer = System.Microseconds
  Var total As Integer = stop - start
  grandTotal = grandTotal + total
  Results2.AddRow("Test " + i.ToString + ": " + total.ToString)
Next
Var avg As Integer = grandTotal / totalIterations
results2.AddRow("Average: " + avg.ToString)</code></pre>



<p>I assumed the second test would take longer since it&#8217;s doing the extra step of assigning the row to the RowTag property. However, when I ran the test, something curious occurred. The second test, rather than taking more time to complete, took <em>less</em>. This made no sense to me. It&#8217;s doing <em>more</em> so it should take longer. It&#8217;s not logical that asking it to do more would result in the task taking less time. After examining my code, I could not find any issues with it.</p>



<p>I modified the code to run each test 10 times then compute the average of all 10 tests. Depending on the run, the average time for Test 2 was nearly always shorter. Occasionally the average for Test 1 would be shorter than Test 2 but rarely. In fact, on my M4-based MacBook Pro, Test 2&#8217;s average was, in most cases, anywhere from 5% to 25% faster than Test 1. Next I tested it on an M1-based MacBook Pro with similar results. Then I tested it on an x86-based PC running Windows 11. This time Test 2 was slightly slower than Test 1 as I had been expecting from the beginning. Last but not least, I tested on Windows 11 running via Parallels on my MacBook Pro, compiling for ARM-64. In this test, Test 2 was indeed faster. I tried running these tests by changing the order (Test 1 then Test 2 followed by Test 2 then Test 1) and by quitting between runs. None of that seemed to matter.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="693" src="https://blog.xojo.com/wp-content/uploads/2026/01/CleanShot-2026-01-05-at-13.37.10@2x-1024x693.png" alt="" class="wp-image-15752" srcset="https://blog.xojo.com/wp-content/uploads/2026/01/CleanShot-2026-01-05-at-13.37.10@2x-1024x693.png 1024w, https://blog.xojo.com/wp-content/uploads/2026/01/CleanShot-2026-01-05-at-13.37.10@2x-300x203.png 300w, https://blog.xojo.com/wp-content/uploads/2026/01/CleanShot-2026-01-05-at-13.37.10@2x-768x520.png 768w, https://blog.xojo.com/wp-content/uploads/2026/01/CleanShot-2026-01-05-at-13.37.10@2x-1536x1040.png 1536w, https://blog.xojo.com/wp-content/uploads/2026/01/CleanShot-2026-01-05-at-13.37.10@2x.png 1628w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="693" src="https://blog.xojo.com/wp-content/uploads/2026/01/CleanShot-2026-01-05-at-13.37.17@2x-1024x693.png" alt="" class="wp-image-15753" srcset="https://blog.xojo.com/wp-content/uploads/2026/01/CleanShot-2026-01-05-at-13.37.17@2x-1024x693.png 1024w, https://blog.xojo.com/wp-content/uploads/2026/01/CleanShot-2026-01-05-at-13.37.17@2x-300x203.png 300w, https://blog.xojo.com/wp-content/uploads/2026/01/CleanShot-2026-01-05-at-13.37.17@2x-768x520.png 768w, https://blog.xojo.com/wp-content/uploads/2026/01/CleanShot-2026-01-05-at-13.37.17@2x-1536x1040.png 1536w, https://blog.xojo.com/wp-content/uploads/2026/01/CleanShot-2026-01-05-at-13.37.17@2x.png 1628w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>The difference appears to be ARM. It could be the compiler or the CPU. Our Director of Engineering, Travis Hill, suspects that perhaps something like the branch predictor in the CPU is hopping a <em>tiny</em> bit faster because of the extra assignment and thus can better predict the next operation with the For Each loop. That could be. The timing is in microseconds so the difference is so small that for my purposes, it doesn&#8217;t matter. However, that it&#8217;s faster to do more work in this case is fascinating and unexpected.</p>



<p>In any case, it&#8217;s interesting to see code behave in a way that is so counterintuitive. Asking the method to do more, at least on ARM-based machines, caused the method to take less time.</p>



<p><em>Geoff Perlman is the Founder and CEO of Xojo. When he’s not leading the Xojo team he can be found playing drums in Austin, Texas and spending time with his family.</em></p>



<ul class="wp-block-social-links has-normal-icon-size is-content-justification-center is-layout-flex wp-container-core-social-links-is-layout-16018d1d wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-facebook  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.facebook.com/goxojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Facebook</span></a></li>

<li class="wp-social-link wp-social-link-x  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://x.com/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.linkedin.com/company/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-github  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://github.com/topics/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-youtube  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.youtube.com/c/XojoInc" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>House of the Snapdragon: Windows ARM is Coming</title>
		<link>https://blog.xojo.com/2024/08/13/house-of-the-snapdragon-windows-arm-is-coming/</link>
		
		<dc:creator><![CDATA[Paul Lefebvre]]></dc:creator>
		<pubDate>Tue, 13 Aug 2024 19:03:20 +0000</pubDate>
				<category><![CDATA[Cross-Platform]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Multi-Platform Development]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Windows ARM]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=13456</guid>

					<description><![CDATA[We&#8217;ve gotten a requests over the last few months asking about Xojo&#8217;s support for Windows on ARM and it seems like some people are not&#8230;]]></description>
										<content:encoded><![CDATA[
<p>We&#8217;ve gotten a requests over the last few months asking about Xojo&#8217;s support for Windows on ARM and it seems like some people are not aware that Xojo already can build apps for Windows ARM. In fact, we added support for building Windows ARM apps two years ago in Xojo 2022 Release 2!</p>



<p>Some of you might not have noticed because, until recently, most people didn&#8217;t think much about Windows ARM. After all, nearly everyone still runs Windows on x86-64 CPUs. But lately, Windows on ARM is starting to get more traction, both in the press and in the market.</p>



<p>Back in May, Qualcomm announced the Snapdragon Dev Kit for Windows. This is supposed to be a $900 mini PC (about the size of a Mac mini) for developing Windows ARM apps for the Snapdragon X Elite SoC (system on a chip). I say &#8220;supposed to be&#8221; because although the <a href="https://www.qualcomm.com/news/releases/2024/05/qualcomm-accelerates-development-for-copilot--pcs-with-snapdrago">press release</a> says it was intended to go on sale on June 18, I can only find pre-order pages for it, so it seems to not be available just yet or out-of-stock.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Introducing the Snapdragon Developer Kit for Windows | Microsoft Build Demo" width="500" height="281" src="https://www.youtube.com/embed/BRCslLlh5BQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>There have been other ARM PCs for Windows in the past, but their performance has always been less than desirable. The new Snapdragon X Elite is supposed to be roughly equivalent to Apple M3 SoCs.</p>



<p>You don&#8217;t have to wait for Qualcomm as Copilot+ PCs and laptops with Snapdragon SoCs are starting to appear elsewhere. Lenovo has the <a href="https://www.lenovo.com/us/en/p/laptops/thinkpad/thinkpadt/lenovo-thinkpad-t14s-gen-6-(14-inch-snapdragon)/len101t0099">ThinkPad T14s Gen 6</a>, which at about $1700 is not exactly a bargain, but is in the ballpark of many Mac laptops. The <a href="https://www.lenovo.com/us/en/p/laptops/yoga/yoga-slim-series/yoga-slim-7x-gen-9-14-inch-snapdragon/len101y0049?orgRef=https%253A%252F%252Fwww.google.com%252F&amp;cid=us:sem%7Cse%7Cgoogle%7Csubbrand_pc_yoga%7Cconsumer_premium_notebook_slim7x_snapdragon%7Cyoga%20snapdragon%7Cb%7C1608826469%7C164298886282%7Ckwd-2304613517932%7Csearch%7C%7Cconsumer&amp;gad_source=1&amp;gbraid=0AAAAADnnO-VqiNxfepkoBLp1zD1riF6wH&amp;gclid=Cj0KCQjwtsy1BhD7ARIsAHOi4xbb2IWHPAuyYrrUGnadqCwvwVLAtF4dEmiDKHDXsA8l9KV_I1RBbmAaAsutEALw_wcB">Yoga Slim 7x</a> is even cheaper starting at just $1200.</p>



<p>But I&#8217;m not here to sell Lenovo products. I&#8217;m just pointing out that Windows on ARM is becoming a reality, if slowly. That might be starting to change given Intel&#8217;s recent troubles with its <a href="https://www.tomshardware.com/pc-components/intel-raptor-lake-instability-troubles-everything-you-need-to-know">Raptor Lake CPUs</a> and most <a href="https://www.cnbc.com/2024/08/01/intel-intc-q2-earnings-report-2024.html">recent earnings report</a>, however. Take it with a grain of salt, but Qualcomm is predicting that <a href="https://www.tomshardware.com/pc-components/cpus/qualcomm-ceo-says-arm-taking-50-of-the-windows-pc-market-in-five-years-is-realistic-some-oems-already-expect-snapdragon-chips-to-be-60-of-their-sales-within-three-years">Windows ARM could reach 50% of Windows PC market within five years</a>.</p>



<p>That sounds astonishing, but change often happens slowly then all at once.</p>



<h3 class="wp-block-heading">Building for Windows ARM with Xojo</h3>



<p>The good news is that with Xojo you are already prepared for this. To build your existing Xojo desktop project for Windows ARM, you just need to change one property in the Windows Build Settings and click Build. <a href="https://youtu.be/YHzM4avGrKI?si=2qaVdN5SnXc_puoK&amp;t=2">There is no step 3</a>.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="574" height="114" src="https://blog.xojo.com/wp-content/uploads/2024/08/image-3.png" alt="" class="wp-image-13457" srcset="https://blog.xojo.com/wp-content/uploads/2024/08/image-3.png 574w, https://blog.xojo.com/wp-content/uploads/2024/08/image-3-300x60.png 300w" sizes="auto, (max-width: 574px) 100vw, 574px" /></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Xojo can also build Windows apps for x86-64 and x86-32, which pretty much covers all your bases. Not to mention that it can build macOS apps, Linux apps, web apps, iOS apps and Android apps.</p>
</blockquote>



<p>And if you already have an Apple Silicon Mac then you don&#8217;t even need to purchase a Windows ARM computer. You can run <a href="https://support.microsoft.com/en-us/windows/options-for-using-windows-11-with-mac-computers-with-apple-m1-m2-and-m3-chips-cd15fd62-9b34-4b78-b0bc-121baa3c568c">Windows ARM as a virtual machine on a Mac</a> using Parallels or VMware Fusion. You&#8217;ll still need to get your own license for Windows 11, however.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Although you can make your own Windows ARM apps with Xojo today, there are a couple temporary limitations to keep in mind. The first one is that XojoScript is not yet available. The other is that Xojo itself is not yet a native Windows ARM app. Both of these are because the Xojo compiler itself is not yet native on Windows ARM. That will change, but for now Xojo itself runs perfectly fine using the <a href="https://learn.microsoft.com/en-us/windows/arm/apps-on-arm-x86-emulation">Prism x86-64 emulation layer</a> in Windows. In addition you can use the Remote Debugger to test your apps on Windows ARM from another computer.</p>
</blockquote>



<p>Will Windows ARM replace Intel like it did for Macs? It seems hard to believe, but the wind seems to be blowing in that direction. To make sure you&#8217;re prepared, download Xojo for free today and start creating your own ARM apps!</p>



<p><em>Paul learned to program in BASIC at age 13 and has programmed in more languages than he remembers, with Xojo being an obvious favorite. When not working on Xojo, you can find him talking about retrocomputing at <a href="https://goto10.substack.com" target="_blank" rel="noreferrer noopener">Goto 10</a> and </em>on Mastodon @lefebvre@hachyderm.io.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Free Xojo Linux and Raspberry Pi for Everyone</title>
		<link>https://blog.xojo.com/2024/03/26/free-linux-builds/</link>
		
		<dc:creator><![CDATA[Xojo]]></dc:creator>
		<pubDate>Tue, 26 Mar 2024 15:26:18 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Source Control]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[2024r1]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[Beginner Tips]]></category>
		<category><![CDATA[Binary]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[GitLab]]></category>
		<category><![CDATA[Rapid Application Development]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Version Control]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=12631</guid>

					<description><![CDATA[Now with Xojo 2024r1 you can use Xojo's free IDE to build Linux desktop and console apps from Linux, macOS, or Windows, no license required.]]></description>
										<content:encoded><![CDATA[
<p>Beginning with Xojo 2024r1 you can use Xojo&#8217;s free IDE to build Linux desktop and console apps from Linux, macOS, or Windows, no license required.</p>



<h2 class="wp-block-heading" id="free-linux">Xojo Linux is Free</h2>



<p>We have made building for Linux free and included in the Xojo IDE! This means that on Linux you get a version control ready IDE, along with the ability to build desktop and console Linux apps (including Raspberry Pi), all for free. Launch Xojo 2024r1 (or any later release of <a href="https://xojo.com/download/" target="_blank" rel="noreferrer noopener">Xojo</a>) and open any desktop or console project, go to Build Settings, select Linux and in the Inspector choose the appropriate Architecture that matches the Linux OS you want your app to work on, either ARM or x86. Click Build to compile your project to a standalone app that you can then run on Linux &#8211; no license required.</p>



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



<p>All these changes were made based on feedback from the Xojo community and to better match the changing ways that people develop and share software projects. With this change Xojo continues its dedication to supporting Linux.</p>



<p><a href="https://xojo.com/download/">Download Xojo</a> to get started.</p>



<p>Edited 07/2025 to reflect changes to licensing. </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Running Xojo Web projects on Raspberry Pi 64-bit ARM boards</title>
		<link>https://blog.xojo.com/2022/12/13/running-xojo-web-projects-on-raspberry-pi-64-bit-arm-boards/</link>
		
		<dc:creator><![CDATA[Ricardo Cruz]]></dc:creator>
		<pubDate>Tue, 13 Dec 2022 15:22:45 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[64-bit]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Multi-Platform Development]]></category>
		<category><![CDATA[Raspbian]]></category>
		<category><![CDATA[Remote Debugging]]></category>
		<category><![CDATA[Single Board Computer]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Xojo API 2.0]]></category>
		<category><![CDATA[Xojo Forum]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=11065</guid>

					<description><![CDATA[Xojo 2022r4 opens the door for running projects on 64-bit Raspberry Pi ARM boards. Console, Desktop and Web are supported.]]></description>
										<content:encoded><![CDATA[
<p>Xojo 2022r4 opens the door for running projects on 64-bit Raspberry Pi ARM boards. Console, Desktop and Web are supported.</p>



<p>Xojo Web is an excellent way to expose the features of your electronics projects without having to attach any screen to them. It&#8217;s never been easier to build a Web GUI for your smart clocks, drones, POS, domotics, robots or just some automation services. Thinking about building a solar powered server to automate your tweets? Why not!</p>



<p>If you prefer, you can just expose a Web API instead that can be remotely consumed from another device.</p>



<h2 class="wp-block-heading">What Raspberry Pi boards support ARM 64-bit Linux OS?</h2>



<ul class="wp-block-list">
<li>Raspberry Pi Zero 2</li>



<li>Raspberry Pi 3</li>



<li>Raspberry Pi 4</li>



<li>Raspberry Pi 400</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="763" src="https://blog.xojo.com/wp-content/uploads/2022/12/raspberry-pi-zero-2-1024x763.png" alt="" class="wp-image-11066" srcset="https://blog.xojo.com/wp-content/uploads/2022/12/raspberry-pi-zero-2-1024x763.png 1024w, https://blog.xojo.com/wp-content/uploads/2022/12/raspberry-pi-zero-2-300x224.png 300w, https://blog.xojo.com/wp-content/uploads/2022/12/raspberry-pi-zero-2-768x573.png 768w, https://blog.xojo.com/wp-content/uploads/2022/12/raspberry-pi-zero-2.png 1336w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">One of my Raspberry Pi Zero 2, running a 64-bit Xojo Web application.</figcaption></figure>



<h2 class="wp-block-heading">Preparing your Raspberry Pi</h2>



<p>The easiest way to get your operating system ready is by using the <a href="https://www.raspberrypi.com/software/" data-type="URL" data-id="https://www.raspberrypi.com/software/" target="_blank" rel="noreferrer noopener">Raspberry Pi Imager</a>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="690" src="https://blog.xojo.com/wp-content/uploads/2022/12/raspberry-pi-imager-1024x690.png" alt="" class="wp-image-11067" srcset="https://blog.xojo.com/wp-content/uploads/2022/12/raspberry-pi-imager-1024x690.png 1024w, https://blog.xojo.com/wp-content/uploads/2022/12/raspberry-pi-imager-300x202.png 300w, https://blog.xojo.com/wp-content/uploads/2022/12/raspberry-pi-imager-768x518.png 768w, https://blog.xojo.com/wp-content/uploads/2022/12/raspberry-pi-imager.png 1510w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Raspberry Pi Imager v1.7.3.</figcaption></figure>



<p>At the moment of writing this article, it selects the 32-bit flavor by default. If you have one of the supported boards, go ahead and try Raspberry Pi OS (64-bit) or Raspberry Pi OS Lite (64-bit). The later won&#8217;t include any desktop environment, you&#8217;ll have to access by SSH.</p>



<p>Select your SD Card storage and press on Write. Optionally, if you want to set a hostname for your board, enable SSH, or even configure your Wifi, press on the gears icon.</p>



<p>In just a few minutes you will have a ready to boot SD card for your Raspberry Pi.</p>



<h2 class="wp-block-heading">Remotely debugging your projects</h2>



<p>This is one of my favorite features of Xojo.</p>



<p>In your Xojo installation Extras folder, you will find a &#8220;Remote Debugger Console&#8221; and &#8220;Remote Debugger Desktop&#8221;, that also works for your Linux 64-bit OS.</p>



<p>Depending on which flavor of Linux you&#8217;ve selected in the previous step, send the Console or Desktop ZIP to your board, run it and configure the settings.</p>



<p>Inside Xojo, go to Preferences and press on the Debugging tab.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="599" src="https://blog.xojo.com/wp-content/uploads/2022/12/xojo-preferences-debugging-1024x599.png" alt="" class="wp-image-11068" srcset="https://blog.xojo.com/wp-content/uploads/2022/12/xojo-preferences-debugging-1024x599.png 1024w, https://blog.xojo.com/wp-content/uploads/2022/12/xojo-preferences-debugging-300x176.png 300w, https://blog.xojo.com/wp-content/uploads/2022/12/xojo-preferences-debugging-768x449.png 768w, https://blog.xojo.com/wp-content/uploads/2022/12/xojo-preferences-debugging.png 1480w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Xojo Debugging Preferences panel.</figcaption></figure>



<p>That&#8217;s it. Now you will be able to remotely run and debug your applications. Add a few breakpoints and the execution will stop as soon as it reaches it, allowing you to explore the current state.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="667" src="https://blog.xojo.com/wp-content/uploads/2022/12/xojo-remote-debug-1024x667.png" alt="" class="wp-image-11070" srcset="https://blog.xojo.com/wp-content/uploads/2022/12/xojo-remote-debug-1024x667.png 1024w, https://blog.xojo.com/wp-content/uploads/2022/12/xojo-remote-debug-300x195.png 300w, https://blog.xojo.com/wp-content/uploads/2022/12/xojo-remote-debug-768x500.png 768w, https://blog.xojo.com/wp-content/uploads/2022/12/xojo-remote-debug-1536x1000.png 1536w, https://blog.xojo.com/wp-content/uploads/2022/12/xojo-remote-debug.png 1910w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Running your project remotely, to debug.</figcaption></figure>



<h2 class="wp-block-heading">Deploying the final version</h2>



<p>Once you&#8217;re ready to build the final version of your application, all the wires attached and components soldered, the last step is to &#8220;Deploy&#8221; your application.</p>



<p>There is a tutorial covering this step in detail: <a href="https://blog.xojo.com/2021/05/28/tutorial-deploying-web-apps-on-linux/" data-type="post" data-id="8552">Deploying Web Apps on Linux</a>.</p>



<p>If you create a Raspberry Pi project, please make sure you open a <a href="https://forum.xojo.com" data-type="URL" data-id="https://forum.xojo.com" target="_blank" rel="noreferrer noopener">Forum thread</a>. The Xojo community loves seeing this kind of projects!</p>



<p>What will you build?</p>



<p><em>Ricardo has always been curious about how things work. Growing up surrounded by computers</em> he became interested in <em>web technologies in the dial-up connections era. Xojo has been his secret weapon and language of preference since 2018. When he’s not online, chances are he will be scuba diving … or crocheting amigurumis. Find Ricardo on Twitter <a href="https://web.archive.org/web/20220805000833/https://www.twitter.com/piradoiv" target="_blank" rel="noreferrer noopener">@piradoiv</a>.</em></p>
]]></content:encoded>
					
		
		
			</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>Have Your Pi &#038; Build For It Too</title>
		<link>https://blog.xojo.com/2018/03/14/have-you-pie-build-with-it-too/</link>
		
		<dc:creator><![CDATA[Alyssa Foley]]></dc:creator>
		<pubDate>Wed, 14 Mar 2018 12:00:03 +0000</pubDate>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[RPi]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<category><![CDATA[Xojo Resources]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=4007</guid>

					<description><![CDATA[In honor of Pi Day 2018, Xojo Pi licenses will be free! Xojo Pi licenses allow you to build console apps for Linux ARM for use with Raspberry Pi 2 and Raspberry Pi 3.]]></description>
										<content:encoded><![CDATA[<p>In honor of Pi Day 2018, we will be giving away Xojo Pi licenses for free!</p>
<p><strong>UPDATE:</strong> Now with Xojo 2019r1, you can develop and build console and desktop apps for the Raspberry Pi for free! <a href="https://www.xojo.com/download/">Download</a> today and get started! Xojo Pi supports Raspberry Pi 2, 3 &amp; 4.</p>
<p>Back at XDC 2015 when we announced Xojo would be adding support for the Raspberry Pi, we thought it was a fun extra for Xojo users. We were not expecting the overwhelming excitement and interest from the Xojo community and makers around the world! To celebrate Pi Day like the true geeks we are, we&#8217;re making <strong>Xojo Pi licenses free from Pi Day &amp; forever!</strong></p>
<p>Email hello@xojo.com for your free Xojo Pi license activation code.</p>
<p>Share the new with you friends, we&#8217;re on <a href="https://twitter.com/xojo">Twitter</a>, <a href="https://www.facebook.com/goxojo/">Facebook</a>, <a href="https://www.instagram.com/goxojo/">Instagram</a> and <a href="https://www.linkedin.com/company/xojo/">LinkedIn</a>.</p>
<p>UPDATED: 4/8/2019</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What it means for your Xojo projects if Mac goes ARM</title>
		<link>https://blog.xojo.com/2017/09/29/what-it-means-for-your-xojo-projects-if-mac-goes-arm/</link>
		
		<dc:creator><![CDATA[Geoff Perlman]]></dc:creator>
		<pubDate>Fri, 29 Sep 2017 22:01:32 +0000</pubDate>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[Compiler]]></category>
		<category><![CDATA[LLVM]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=3445</guid>

					<description><![CDATA[I've speculated for some time now that Apple might decide to start putting their own ARM-based processors in Mac desktop and laptop computers. If they did, it would not be a significant amount of work for Xojo and really no work for you at all except recompiling your projects.]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve speculated for some time now that Apple might decide to start putting their own ARM-based processors in Mac desktop and laptop computers. Apparently, I&#8217;m not <a href="https://www.macrumors.com/2017/09/29/apple-interested-processors-modems/">alone</a> in thinking this. It makes a lot of sense. Apple&#8217;s big advantage is being in control of all of the important aspects of their product lines and the processor is both figuratively and physically at the center of their products.</p>
<p><span id="more-3445"></span></p>
<p>So what if they did? Say next year at WWDC Apple announced that they were planning to move to ARM-based Macs. How would that affect you as a Xojo developer? As it turns out, not much because Xojo abstracts and shields you from those sorts of platform changes. For example, since 2003 our compiler has been a modern, two-pass compiler. The first pass converts Xojo code into a sort of meta-assembly code. The second pass does a nearly straight translation from this meta-assembly code to the machine code for the processor being targeted (x86 for example or ARM for iPhone and Raspberry Pi). Had Apple made this change years ago, it would have required us to spend the time to create a new backend for ARM. However, as you may know, we have been transitioning the backend of our compiler to the open source LLVM compiler, the same one that Apple provides with Xcode. That&#8217;s how we support ARM (and 64 bit) today. Should Apple announce they are switching to their own ARM-based processors for future Macs, we could relatively easily recompile the Xojo desktop frameworks for ARM and provide that as a new build option. It would not be a significant amount of work for us and really no work for you at all except recompiling your projects.</p>
<p>This is true for other platforms as well. Incidentally, we have already been through this before. Xojo originally supported both the 68000 and PowerPC processors. When Apple switched to the x86, we switched too and Xojo users had little to do but recompile their projects.</p>
<p>This is part of the value you get from Xojo: be mostly insulated from these kinds of changes.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>New Raspbian Stretch and Xojo</title>
		<link>https://blog.xojo.com/2017/09/18/new-raspbian-stretch-and-xojo/</link>
		
		<dc:creator><![CDATA[Paul Lefebvre]]></dc:creator>
		<pubDate>Mon, 18 Sep 2017 06:00:23 +0000</pubDate>
				<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[IoT]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=3362</guid>

					<description><![CDATA[The latest version of Raspbian, the operating system for the Raspberry Pi, was released in August. It's called Raspbian Stretch  and of course, Xojo apps work just fine on Raspbian Stretch.]]></description>
										<content:encoded><![CDATA[<p>The latest version of Raspbian, the operating system for the Raspberry Pi, was released in August. It&#8217;s called Raspbian Stretch and you can read more about it from the official launch blog post, <a href="https://www.raspberrypi.org/blog/raspbian-stretch/">Raspbian Stretch has arrived</a>.</p>
<p><span id="more-3362"></span>Of course, Xojo apps work just fine on Raspbian Stretch.</p>
<p>The blog post does have this caveat about the upgrade:</p>
<blockquote><p>Upgrading an existing Jessie image is possible, but is not guaranteed to work in every circumstance.</p></blockquote>
<p>This scared me a bit, so I decided I would rebuild my SD card with Stretch so I could have a clean install. Here is how you can set up a new SD card and tweak some settings to make it easier to access the Pi remotely:</p>
<ol>
<li>Download the Raspbian image from the official download page: <a href="https://www.raspberrypi.org/downloads/">Raspberry Pi Downloads</a></li>
<li>Download <a href="https://etcher.io">Etcher</a>, which is a tool that can set up the SD card with the image.</li>
<li>Shut down your Raspberry Pi and removed its SD card. <strong>Be sure to first copy off any data you want to retain as this process will wipe the card and any data on it.</strong></li>
<li>Plug the SD card into your computer. I used a USB micro SD card adapter for my Mac.</li>
<li>Run Etcher and select the Raspbian image you downloaded earlier.</li>
<li>Select the SD card in Etcher and click Flash. This wipes the card and installs Raspbian on it.</li>
<li>When it finishes, put the SD card back into the Raspberry Pi and power it up. You&#8217;ll also want to connect the Pi to a keyboard, mouse and display so you can do some initial configuration.</li>
<li>After the Pi boots and you are at the desktop, connect to your WiFi network.</li>
<li>Click the Pi icon in the menu and select Preferences-&gt;Raspberry Pi Configuration.</li>
<li>On the Interfaces tab, enable SSH and enable VNC.<img loading="lazy" decoding="async" class="size-full wp-image-3365 aligncenter" src="https://blog.xojo.com/wp-content/uploads/2017/09/2017-09-07_16-44-39-1.png" alt="" width="495" height="422" /></li>
<li>You may also want to go to the Localisation tab and set the timezone.</li>
<li>Click OK.</li>
<li>Make a note of the Pi&#8217;s IP address if you do not know it. You can see the IP address by hovering the mouse over the WiFi icon in the menu.</li>
<li>Back on your computer, download <a href="https://www.realvnc.com/en/connect/download/viewer/">RealVNC Viewer</a>.</li>
<li>Install and run RealVNC Viewer.</li>
<li>Add a new connection and enter the IP address of your Raspberry Pi. You&#8217;ll be prompted for the username/password with is pi/raspberry unless you changed it.</li>
<li>You&#8217;ll now be remotely connected to the Pi and can use it without it being connected to a keyboard, mouse and display. This means you can also disconnect the keyboard, mouse and display if you want.</li>
<li>With this setup you can also use an FTP app to transfer files to the Pi. Just use the IP address and username/password for the Pi.</li>
<li>Lastly, <a href="http://developer.xojo.com/rpi-remote-debugging">refer to these steps to set up the Remote Debugger</a> on the Pi so you can easily run and test your Xojo apps directly on the Pi.</li>
</ol>
<p>To learn more about using the Raspberry Pi and Xojo together, refer to our free <a href="http://developer.xojo.com/pibook">Programming the Raspberry Pi with Xojo</a> book and the <a href="http://developer.xojo.com/raspberry-pi">Raspberry Pi section of the User Guide</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Raspberry Pi 3 Announced!</title>
		<link>https://blog.xojo.com/2016/03/08/raspberry-pi-3-announced/</link>
		
		<dc:creator><![CDATA[Paul Lefebvre]]></dc:creator>
		<pubDate>Tue, 08 Mar 2016 00:00:00 +0000</pubDate>
				<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[RPi]]></category>
		<guid isPermaLink="false">http://blogtemp.xojo.com/2016/03/08/raspberry-pi-3-announced/</guid>

					<description><![CDATA[The Raspberry Pi 3 is now available and Xojo is fully compatible. You can develop and build console and desktop apps for the Raspberry Pi using Xojo 2019r1 or later for free.]]></description>
										<content:encoded><![CDATA[<p>On Monday February 29th, the <a href="https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/">Raspberry Pi Foundation announced the new Raspberry Pi 3</a>. This updated Pi has some significant improvements over the Pi 2, including:</p>
<ul>
<li>A 1.2GHz 64-bit quad-core ARM Cortex-A53 CPU (~10x the performance of Raspberry Pi 1)</li>
<li>Integrated 802.11n wireless LAN and Bluetooth 4.1</li>
<li>Complete compatibility with Raspberry Pi 1 and 2</li>
</ul>
<p>That last bullet point is notable because it means that <a href="http://developer.xojo.com/raspberry-pi">Xojo is also fully compatible with the new Raspberry Pi 3</a>!</p>
<p><span id="more-310"></span></p>
<p><img decoding="async" style="width: 640px;" title="Raspberry_pi_3.png" src="https://blog.xojo.com/wp-content/uploads/2016/03/Raspberry_pi_3.pngt1466486449161ampwidth640" sizes="(max-width: 640px) 100vw, 640px" alt="Raspberry_pi_3.png" width="640" /></p>
<p>Although the new CPU is 64-bit, it remains fully compatible with the ARMv7 CPU used in the Raspberry Pi 2.</p>
<p>Your 32-bit Xojo apps will continue to work fine in the 32-bit version of Raspbian (the only version available right now) on the Raspberry Pi 3. Once you apply the latest Raspbian updates, you can even just take your SD card from your Raspberry Pi 2 and plug it into a Raspberry Pi 3. To run the updates, just run these commands from the terminal on the Raspberry Pi:</p>
<pre>sudo apt-get update
sudo apt-get upgrade</pre>
<p>One word of warning, though. Apparently the <a href="https://www.reddit.com/r/raspberry_pi/comments/48i47b/planning_to_put_your_pi_3_in_a_case_make_sure/">new Raspberry Pi 3 gives off quite a bit more heat than the Raspberry Pi 2</a>, so you may want to invest in a heat sink or fan for your case.</p>
<p>The Raspberry Pi 3 has the same $35 price as the Raspberry Pi 2. Here are some tutorials to help get you started:</p>
<ul>
<li><a href="http://developer.xojo.com/ID311856">Blinking LED Tutorial</a></li>
<li><a href="http://developer.xojo.com/ID315699">Button LED Tutorial</a></li>
<li><a href="https://blog.xojo.com/2015/11/17/more-raspberry-pi-projects/">More Tutorials</a></li>
</ul>
<p>If you&#8217;ve received yours, let us know how you like it in the comments! Remember you can develop and build console and desktop apps for the Raspberry Pi using Xojo 2019r1 or later for free.</p>
<p><a href="https://www.xojo.com/download/">Download Xojo</a> today and get started!</p>
<p><!--HubSpot Call-to-Action Code --> <span id="hs-cta-wrapper-98da3e69-7941-4310-adee-1ad5784a0803" class="hs-cta-wrapper"> <span id="hs-cta-98da3e69-7941-4310-adee-1ad5784a0803" class="hs-cta-node hs-cta-98da3e69-7941-4310-adee-1ad5784a0803"><br />
<!-- [if lte IE 8]>


<div id="hs-cta-ie-element"></div>


<![endif]--> <a href="http://blog.xojo.com/2015/10/21/your-first-raspberry-pi-xojo-project/" target="_blank" rel="noopener"><img loading="lazy" decoding="async" id="hs-cta-img-98da3e69-7941-4310-adee-1ad5784a0803" class="hs-cta-img aligncenter" style="border-width: 0px; margin: 0 auto; display: block; margin-top: 20px; margin-bottom: 20px;" src="https://blog.xojo.com/wp-content/uploads/2016/03/98da3e69-7941-4310-adee-1ad5784a0803.png" alt="Raspberry Pi RPi Tutorial Blog Post" width="429" height="74" align="middle" /></a></span></span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is Raspberry Pi?</title>
		<link>https://blog.xojo.com/2015/05/14/what-is-raspberry-pi/</link>
		
		<dc:creator><![CDATA[Paul Lefebvre]]></dc:creator>
		<pubDate>Thu, 14 May 2015 00:00:00 +0000</pubDate>
				<category><![CDATA[Cross-Platform]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[RPi]]></category>
		<category><![CDATA[Single Board Computer]]></category>
		<guid isPermaLink="false">http://blogtemp.xojo.com/2015/05/14/what-is-raspberry-pi/</guid>

					<description><![CDATA[What is Raspberry Pi?]]></description>
										<content:encoded><![CDATA[<p>The announcement at XDC 2015 of upcoming Xojo support for Raspberry Pi was greeted with enthusiastic applause. But after the keynote, I had several people come up to me and admit that they did not know what this Raspberry Pi is, so I thought I&#8217;d take a moment to give some background.</p>
<p style="text-align: left;"><a href="http://www.xojo.com/blog/en/assets_c/2015/05/RapsberryPi-654.php"><img loading="lazy" decoding="async" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="https://blog.xojo.com/wp-content/uploads/2015/05/rapsberrypi-thumb-400x301-654.pngt1466486449161ampwidth400ampheight301" sizes="auto, (max-width: 400px) 100vw, 400px" alt="RapsberryPi.png" width="400" height="301" /></a></p>
<p><span id="more-210"></span></p>
<p>Raspberry Pi is essentially a tiny, inexpensive computer. Because it is tiny, it can be used in all kind of things that a typical computer does not work well with, such as robotics and embedded systems. Since it is also inexpensive, it functions as a great learning tool, making it possible for anyone to have their own computer. Additionally, because a Raspberry Pi is a fully functional computer, with input/output, storage and wifi capabilities, it can also be used to interface and control other things. This makes the Raspberry Pi a favorite amongst tinkerers, Makers, electronics hobbyists and anyone else with a cool idea for a project.</p>
<p>What makes the Raspberry Pi somewhat unique is that it uses an ARM processor (similar to what you see on cell phones and tablets), rather than an Intel CPU that is in most things categorized as &#8220;computers&#8221;.</p>
<p>Still, a Raspberry Pi is a full computer. You can connect a keyboard, mouse and display to it. You can plug in storage and install an operating system on it (typically Linux). Now, it is not a powerful computer, to be sure, but it is still powerful enough for many tasks.</p>
<p>Although you can program Raspberry Pi, it is not really as easy as it should be. You typically have to deal with scripts, command prompts and other things that make programming less fun. We aim to simplify programming for Raspberry Pi by allowing you to use the simple to learn Xojo IDE and programming language with it.</p>
<p>You can read more about Raspberry Pi, its origins and goals at <a href="https://www.raspberrypi.org">RaspberryPi.org</a>.</p>
<p>So if you want a Raspberry Pi, how do you get one? There are many places that sell Raspberry Pi and it is available in various configurations and price points. If you want a full kit, that includes everything you need to get started, you can find one at <a href="http://www.amazon.com/dp/B008XVAVAW/ref=cm_sw_su_dp">Amazon for about $70 USD</a>. This kit includes the Raspberry Pi itself, a case, power supply, 8GB SD card with OS, USB wifi and cables.</p>
<p>Another common source of Raspberry Pi stuff is <a href="http://www.adafruit.com">Adafruit</a>. There you can buy the <a href="http://www.adafruit.com/products/2358">bare Raspberry Pi board for $40</a> or also get lots of other <a href="http://www.adafruit.com/categories/105">accessories and starter kits</a>.</p>
<p>On the European side of the fence, <a href="http://robotstore.gr/development-tools/raspberry-pi/">RobotStore</a> seems to have a lot of Raspberry Pi products.</p>
<p>To learn even more about Raspberry Pi, you might also want to grab <a href="https://www.raspberrypi.org/magpi/">MagPi</a>, the free, official magazine of Raspberry Pi. Building for Pi console and desktop is free with a Xojo Pi license in Xojo 2019r1 and beyond!</p>
<p>&nbsp;</p>
<p>Or let us walk you through:</p>
<p><a href="http://blog.xojo.com/2015/10/21/your-first-raspberry-pi-xojo-project/"><img loading="lazy" decoding="async" class="aligncenter wp-image-1684" src="https://blog.xojo.com/wp-content/uploads/2015/05/Screen-Shot-2016-09-01-at-3.56.42-PM.png" alt="first RPi project" width="201" height="89" /></a></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
