<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>FEX-Emu on Ivon的部落格</title>
    <link>https://ivonblog.com/tags/fex-emu/</link>
    <description>Recent content in FEX-Emu on Ivon的部落格</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-TW</language>
    <managingEditor>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</managingEditor>
    <webMaster>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</webMaster>
    <copyright>歡迎分享Ivon的部落格(ivonblog.com)的文章，引用請註明來源文章網址。本站不鼓勵全文轉載，允許合理使用。文章內容授權皆是 CC BY-SA 4.0 創用CC 姓名標示-相同方式分享 4.0 授權條款，除非另有說明。如需商業使用請來信告之。</copyright>
    <lastBuildDate>Sat, 18 Jul 2026 23:00:00 +0800</lastBuildDate><atom:link href="https://ivonblog.com/tags/fex-emu/index.xml" rel="self" type="application/rss+xml" />
    <follow_challenge>
      <feedId>56005902658351104</feedId>
      <userId>1132431067563556864</userId>
    </follow_challenge>
    
    
    <item>
      <title>用Snap在ARM Linux系統安裝Steam &#43; FEX-Emu</title>
      <link>https://ivonblog.com/posts/install-steam-snap-arm64/</link>
      <pubDate>Sat, 18 Jul 2026 23:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/posts/install-steam-snap-arm64/</guid>
      
      <description>&lt;p&gt;我是Arch Linux &amp;ldquo;ARM&amp;rdquo; 用戶，我在ARM架構的Linux平板成功安裝Steam了。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://ivonblog.com/posts/install-steam-snap-arm64/images/as.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    width=&#34;512&#34;&#xA;      height=&#34;682&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Steam for ARM64現在能用Snap一鍵安裝了，官方說在Nvidia GDX Spark和高通處理器的筆電測試過。&lt;/p&gt;&#xA;&lt;p&gt;對於執行Ubuntu ARM的裝置來說，譬如樹莓派，安裝Steam就是一行snap install指令的事情。&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;我是Arch Linux &amp;ldquo;ARM&amp;rdquo; 用戶，我在ARM架構的Linux平板成功安裝Steam了。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://ivonblog.com/posts/install-steam-snap-arm64/images/as.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    width=&#34;512&#34;&#xA;      height=&#34;682&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Steam for ARM64現在能用Snap一鍵安裝了，官方說在Nvidia GDX Spark和高通處理器的筆電測試過。&lt;/p&gt;&#xA;&lt;p&gt;對於執行Ubuntu ARM的裝置來說，譬如樹莓派，安裝Steam就是一行snap install指令的事情。&lt;/p&gt;&#xA;&lt;p&gt;參考：&lt;a href=&#34;https://github.com/canonical/steam-snap&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;canonical/steam-snap&lt;/a&gt;，Canonical有自行打包x86版Steam的Snap套件。而ARM版則是把x86轉譯器也包了進去。不過這個Snap版Steam目前還是Canonical自己推的方案，尚未受到Valve官方推薦。Valve在&lt;a href=&#34;https://store.steampowered.com/about/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Steam官網&lt;/a&gt;提供的Linux套件仍以.deb爲主。&lt;/p&gt;&#xA;&lt;p&gt;Steam遊戲過去支援的是x86電腦，現在正在逐步測試ARM的相容性，通常這需要用到x86對ARM指令的轉譯器。我之前討論過用&lt;a href=&#34;https://ivonblog.com/posts/fex-emu-raspberry-pi/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;FEX-Emu跑Steam的方法&lt;/a&gt;，不過安裝步驟太麻煩了，而且強力綁定Debian系發行版，不能在Arch Linux、postmarketOS、Fedora使用，變成還要開一個chroot去跑Debian環境再裝Steam。&lt;/p&gt;&#xA;&lt;p&gt;那麼Snap的這個取向我認爲是比較簡單一點的，不論什麼發行版都只要一條指令就能安裝。儘管Snap也不是所有發行版都能安裝，但很幸運的，Arch Linux支援Snap。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. 測試環境&#xA;    &lt;div id=&#34;1-測試環境&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-%e6%b8%ac%e8%a9%a6%e7%92%b0%e5%a2%83&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Arch Linux ARM&lt;/li&gt;&#xA;&lt;li&gt;Linux Kernel 7.0&lt;/li&gt;&#xA;&lt;li&gt;RK3566&lt;/li&gt;&#xA;&lt;li&gt;Mali-G52&lt;/li&gt;&#xA;&lt;li&gt;Mesa 26.04&lt;/li&gt;&#xA;&lt;li&gt;8GB RAM&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. 安裝Snapd&#xA;    &lt;div id=&#34;2-安裝snapd&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-%e5%ae%89%e8%a3%9dsnapd&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;參考&lt;a href=&#34;https://ivonblog.com/posts/linux-snap-introduction/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Snap安裝步驟&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;Arch Linux ARM可以從AUR編譯安裝。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. 安裝Steam&#xA;    &lt;div id=&#34;3-安裝steam&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-%e5%ae%89%e8%a3%9dsteam&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;確認系統Vulkan驅動正常&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vulkaninfo --summary&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;使用以下指令安裝Steam。預設是stable，需要測試最新版的就用edge&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;snap install steam --channel&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;stable&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;點桌面圖示啓動Steam，或者用指令啓動&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;snap run steam&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. 遊戲&#xA;    &lt;div id=&#34;4-遊戲&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#4-%e9%81%8a%e6%88%b2&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;因爲RK3566性能太爛，加上Mali G52的PanVK驅動最近有問題，我不能玩什麼大型遊戲。&lt;/p&gt;&#xA;&lt;p&gt;不過從測試結果來看，轉譯的時候，光是Steam客戶端會佔用大量系統資源。8GB RAM都快不夠用了。因此推薦使用高通筆電測試。&lt;/p&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/posts/install-steam-snap-arm64/featured.webp" />
    </item>
    
    <item>
      <title>FEX-Emu安裝：樹莓派玩Steam Windows遊戲，Linux ARM平台的x86模擬器</title>
      <link>https://ivonblog.com/posts/fex-emu-raspberry-pi/</link>
      <pubDate>Fri, 20 Mar 2026 16:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/posts/fex-emu-raspberry-pi/</guid>
      
      <description>&lt;p&gt;「FEX-Emu」是一款開源軟體，它能夠在ARM架構的Linux系統轉譯x86架構的程式，進而執行Steam上的Windows遊戲。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://ivonblog.com/posts/fex-emu-raspberry-pi/images/fex-textlogo-140h.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    width=&#34;300&#34;&#xA;      height=&#34;140&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;圖例：在ARM架構的Raspberry Pi 5玩Steam的3D遊戲《Alpaca Stacka》&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;Screenshot_20241013_112825.webp&#34;&#xA;    src=&#34;https://ivonblog.com/posts/fex-emu-raspberry-pi/images/Screenshot_20241013_112825.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    width=&#34;1778&#34;&#xA;      height=&#34;995&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;「FEX-Emu」是一款開源軟體，它能夠在ARM架構的Linux系統轉譯x86架構的程式，進而執行Steam上的Windows遊戲。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://ivonblog.com/posts/fex-emu-raspberry-pi/images/fex-textlogo-140h.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    width=&#34;300&#34;&#xA;      height=&#34;140&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;圖例：在ARM架構的Raspberry Pi 5玩Steam的3D遊戲《Alpaca Stacka》&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;Screenshot_20241013_112825.webp&#34;&#xA;    src=&#34;https://ivonblog.com/posts/fex-emu-raspberry-pi/images/Screenshot_20241013_112825.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    width=&#34;1778&#34;&#xA;      height=&#34;995&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;本文討論FEX-Emu的安裝與用法。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. Fex-Emu簡介&#xA;    &lt;div id=&#34;1-fex-emu簡介&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-fex-emu%e7%b0%a1%e4%bb%8b&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;雖然官方&lt;a href=&#34;https://ivonblog.com/posts/install-steam-on-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Steam客戶端支援Linux系統&lt;/a&gt;，並且可以透過Proton轉譯Windows的遊戲，但是目前以x86架構的平台為主。在ARM架構的平台，首先要克服的便是程式架構不相容的問題。大部分Windows遊戲是針對x86架構設計的，因此Proton也得是x86架構版本。x86架構的程式不能直接在ARM架構的系統執行，故，需要一個x86 → ARM指令的轉譯器。&lt;/p&gt;&#xA;&lt;p&gt;這就是FEX-Emu的工作。&lt;/p&gt;&#xA;&lt;p&gt;FEX-Emu啟動時會掛載自身的一個RootFS，並將x86_64程式轉譯為arm64的行程，目前僅支援在64位元arm64 (aarch64) 的系統執行，不支援32位元armhf系統。不過32位元x86架構的程式依然能夠轉譯執行。&lt;/p&gt;&#xA;&lt;p&gt;討論這個專案的時候，常常會跟&lt;a href=&#34;https://ivonblog.com/posts/box86-box64-usage/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Box64/Box86&lt;/a&gt;專案一同提及吧。根據Box64作者ptitSeb在2022年做的測試，FEX-Emu執行速度比QEMU User快，但是比Box64慢。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;benchmark.webp&#34;&#xA;    src=&#34;https://ivonblog.com/posts/fex-emu-raspberry-pi/images/benchmark.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    width=&#34;1140&#34;&#xA;      height=&#34;534&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;我自己測試的時候也是這種感覺，雖然FEX-Emu不斷的在更新，但是到了2026年，樹莓派上的FEX-Emu遊戲玩起來還是比Box64要略卡。&lt;/p&gt;&#xA;&lt;p&gt;即使如此，FEX-Emu還是有它的優勢在。&lt;/p&gt;&#xA;&lt;p&gt;Fex-Emu原理圖如下：&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;fex-diagram.webp&#34;&#xA;    src=&#34;https://ivonblog.com/posts/fex-emu-raspberry-pi/images/fex-diagram.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    width=&#34;800&#34;&#xA;      height=&#34;751&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;相較Box64，FEX-Emu有自己的RootFS，提供更完整的Linux環境，補齊x86架構程式需要的函式庫。不用像Box64那樣得裝一堆額外套件補驅動，也不需要手動設定chroot隔離環境。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;論FEX-Emu比較有名的應用案例，就是Asahi Linux了。&lt;/p&gt;&#xA;&lt;p&gt;讓Apple M1平台能跑Steam大型遊戲的功臣，Fex-Emu就是其中一個組件。&lt;a href=&#34;https://asahilinux.org/2024/10/aaa-gaming-on-asahi-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;AAA gaming on Asahi Linux&lt;/a&gt;&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;Screenshot_20241013_013926.webp&#34;&#xA;    src=&#34;https://ivonblog.com/posts/fex-emu-raspberry-pi/images/Screenshot_20241013_013926.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    width=&#34;1021&#34;&#xA;      height=&#34;928&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;FEX-Emu作者在高通Snapdragon 8cx平台，演示了玩《俠盜獵車手5》的可能性。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; overflow: hidden;&#34;&gt;&#xA;    &lt;iframe style=&#34;position: absolute; width: 100%; height: 100%;&#34;&#xA;        src=&#34;http://www.youtube.com/embed/WBOjioe8-8Y&#34; allowfullscreen frameborder=&#34;0&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/iframe&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;從2025年Valve開發者的訪談中得知，Valve一直有在贊助FEX-Emu專案的開發，為未來ARM架構的Steam Deck鋪路。參見：&lt;a href=&#34;https://www.theverge.com/report/820656/valve-interview-arm-gaming-steamos-pierre-loup-griffais&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Steam Machine today, Steam Phones tomorrow - The Verge&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;在Steam Proton 11以上版本，加入了ARM架構的支援，並整合了FEX-Emu。&lt;/p&gt;&#xA;&lt;p&gt;此外，既然Box64能移植到Android Termux proot執行，FEX-Emu或許能在Android跑？GitHub已經有一些試驗的專案了，譬如支援登入Steam的&lt;a href=&#34;https://ivonblog.com/posts/gamenative-android/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;GameNative&lt;/a&gt;。但是FEX-Emu Wiki直接明說了：現階段不可能支援Android，主要還是以Linux為主。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. 測試環境&#xA;    &lt;div id=&#34;2-測試環境&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-%e6%b8%ac%e8%a9%a6%e7%92%b0%e5%a2%83&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;因為將x86_64程式轉譯為arm64指令會耗費大量資源，建議使用4核心以上、8GB RAM以上、32GB儲存空間以上、64位元系統的裝置。&lt;/p&gt;&#xA;&lt;p&gt;FEX-Emu專案會盡量支援各種開發板，所以沒有限定一定要用樹莓派。然而，有良好的GPU驅動支援乃是重中之重。因此使用支援mainline Linux kernel的主流開發板能獲得最好效果。&lt;/p&gt;&#xA;&lt;p&gt;我使用的環境：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Raspberry Pi 5&lt;/li&gt;&#xA;&lt;li&gt;Raspberry Pi OS Debian 13 Trixie&lt;/li&gt;&#xA;&lt;li&gt;FEX-Emu 2603&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;執行前請用指令&lt;code&gt;vulkaninfo --summary&lt;/code&gt;，檢查Raspberry Pi的GPU加速有無正常運作。最主要是要看Vulkan與OpenGL是否有正確安裝，有正確安裝GPU驅動應該會顯示&lt;code&gt;V3DV Mesa&lt;/code&gt;。若顯示&lt;code&gt;llvmpipe&lt;/code&gt;那就是軟體渲染。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. 安裝FEX-Emu&#xA;    &lt;div id=&#34;3-安裝fex-emu&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-%e5%ae%89%e8%a3%9dfex-emu&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;FEX-Emu目前僅支援4K Page的系統。使用這個指令檢查目前系統的Page Size：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;getconf PAGESIZE&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Raspberry Pi 5應是使用16K Page，故需要調整系統開機參數，改回4K Page。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;# 4k pages&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;kernel=kernel8.img&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo tee -a /boot/firmware/config.txt&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;重開機套用變更。執行指令確認已經啟用4K Page，顯示4096：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;getconf PAGESIZE&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/FEX-Emu/FEX&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;FEX-Emu作者有提供Python一鍵安裝指令稿&lt;/a&gt;，裡面有套件庫可以下載編譯好的套件，並自動裝好依賴，但是僅支援Ubuntu。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;因為我這裡使用Debian，不能用作者的指令稿裝，得參考Wiki手動編譯安裝FEX-Emu。安裝以下依賴套件：&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install git cmake ninja-build pkgconf ccache clang llvm lld binfmt-support libssl-dev python3-setuptools g++-x86-64-linux-gnu libgcc-12-dev-i386-cross libgcc-12-dev-amd64-cross nasm python3-clang libstdc++-12-dev-i386-cross libstdc++-12-dev-amd64-cross libstdc++-12-dev-arm64-cross squashfs-tools squashfuse libc-bin libc6-dev-i386-amd64-cross lib32stdc++-12-dev-amd64-cross qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs pkg-config libclang-dev libdrm-dev libxcb-present-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-shm0-dev libxshmfence-dev&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;6&#34;&gt;&#xA;&lt;li&gt;複製FEX-Emu原始碼，編譯FEX-Emu&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone --recurse-submodules https://github.com/FEX-Emu/FEX.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; FEX&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir Build&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; Build&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CC&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;clang &lt;span class=&#34;nv&#34;&gt;CXX&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;clang++ cmake -DCMAKE_INSTALL_PREFIX&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr -DCMAKE_BUILD_TYPE&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;Release -DUSE_LINKER&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;lld -DENABLE_LTO&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;True -DBUILD_TESTS&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;False -DENABLE_ASSERTIONS&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;False -G Ninja ..&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ninja&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;7&#34;&gt;&#xA;&lt;li&gt;安裝FEX-Emu&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo make install&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;8&#34;&gt;&#xA;&lt;li&gt;FEX-Emu可能會跟box64與qemu-user-static衝突，若有的話必須將&lt;code&gt;/etc/binfmt.d/&lt;/code&gt;和&lt;code&gt;/usr/lib/binfmt.d/&lt;/code&gt;的檔案移除。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;update-binfmts --display&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;9&#34;&gt;&#xA;&lt;li&gt;向Linux的binfmt服務註冊FEX-Emu，讓系統自動將x86程式交給FEX-Emu轉譯&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ninja binfmt_misc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl status systemd-binfmt&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;10&#34;&gt;&#xA;&lt;li&gt;重開機。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. 設定FEX-Emu的RootFS&#xA;    &lt;div id=&#34;4-設定fex-emu的rootfs&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#4-%e8%a8%ad%e5%ae%9afex-emu%e7%9a%84rootfs&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;（因為我這邊FEX-Emu是自行編譯的，所以每個指令前面都要加上&lt;code&gt;./&lt;/code&gt;路徑）&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;執行&lt;code&gt;FEXRootFSFetcher&lt;/code&gt;，下載最新版Ubuntu 24.04 x86_64的RootFS到&lt;code&gt;~/.fex-emu&lt;/code&gt;。選取Extract選項，解壓縮。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./FEXRootFSFetcher&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;RootFS裡面的套件將作為FEX-Emu轉譯程式時的依賴，也就是說執行x86架構程式的時候會先從RootFS裡面去找相關的函式庫，但有些檔案並沒有預先安裝。此時可用&lt;code&gt;~/.fex-emu/RootFS&lt;/code&gt;的指令稿，chroot進去RootFS，補足中文字體、AppImage libfuse等套件：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/.fex-emu/RootFS/Ubuntu_24_04&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 進入chroot&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ./unbreak_chroot.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 安裝想要的套件&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt install fonts-noto-cjk libfuse2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 退出chroot&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;exit&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ./break_chroot.sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;接著執行&lt;code&gt;FEXConfig&lt;/code&gt;圖形程式，將Ubuntu的RootFS設定為預設。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;Screenshot_20241013_012351.webp&#34;&#xA;    src=&#34;https://ivonblog.com/posts/fex-emu-raspberry-pi/images/Screenshot_20241013_012351.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    width=&#34;781&#34;&#xA;      height=&#34;611&#34;&gt;&lt;/figure&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;5. 執行x86架構的原生Linux程式&#xA;    &lt;div id=&#34;5-執行x86架構的原生linux程式&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#5-%e5%9f%b7%e8%a1%8cx86%e6%9e%b6%e6%a7%8b%e7%9a%84%e5%8e%9f%e7%94%9flinux%e7%a8%8b%e5%bc%8f&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Wiki寫得不清不楚的&amp;hellip;我是看&lt;a href=&#34;https://www.youtube.com/watch?v=B3SOMWdFxBw&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;NicoD&amp;rsquo;s SBCs的影片&lt;/a&gt;才知道個大概。這裡執行的僅限x86架構的Linux二進位檔，Wine我們下一節再談。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;將要執行的程式放到任意目錄，例如我使用&lt;a href=&#34;https://www.mozilla.org/zh-TW/firefox/linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Firefox x86_64的二進位執行檔&lt;/a&gt;，下載後將tar.bz檔案解壓縮。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;開啟終端機，用&lt;code&gt;FEXLoader&lt;/code&gt;執行，它會進行轉譯，並把x86_64的程式轉化為arm64的行程&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;FEXLoader ./firefox-bin&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;如果有註冊binfmt，那麼直接執行x86程式，系統應該也會自動交給FEX-Emu轉譯&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./firefox-bin&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;至於&lt;code&gt;FEXBash&lt;/code&gt;是用來執行x86程式的封裝指令稿之用的。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;這裡有個問題：既然有RootFS了，我們就chroot進去裝x86版本的程式就好了啊，為何要獨立執行呢？嗯，這就是FEX-Emu設計上讓人困惑的地方，程式究竟該裝在宿主機目錄呢，還是RootFS內呢？我是覺得，單一x86執行檔就放在RootFS外面執行，需要依賴套件管理器的x86程式再用RootFS內部的APT裝。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;6. 用Wine執行Windows程式&#xA;    &lt;div id=&#34;6-用wine執行windows程式&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#6-%e7%94%a8wine%e5%9f%b7%e8%a1%8cwindows%e7%a8%8b%e5%bc%8f&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;雖然Debian系發行版支援Multiarch，我們也不要在ARM的宿主機用APT硬裝x86的Wine套件，因為容易遇到依賴地獄問題，且不是所有Linux發行版都能像Debian這樣幹。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Box64執行Wine的方式是手動下載Wine的二進位執行檔，而非透過APT安裝。然而這種安裝方法十分麻煩，也不利於Winetricks執行。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;那麼，就在Ubuntu的RootFS裡面裝x86版的Wine吧！FEX-Emu作者已經幫我們裝好了，可以直接用。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;不信？執行&lt;code&gt;FEXBash winecfg&lt;/code&gt;，Wine界面這不就出來了嗎！&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;Screenshot_20241012_232839.webp&#34;&#xA;    src=&#34;https://ivonblog.com/posts/fex-emu-raspberry-pi/images/Screenshot_20241012_232839.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    width=&#34;1183&#34;&#xA;      height=&#34;644&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;雖然Wine是裝在RootFS內部的，但WINEPREFIX卻是位於&lt;code&gt;~/.wine&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;DXVK似乎沒有安裝的樣子，我們得手動&lt;a href=&#34;https://ivonblog.com/posts/linux-dxvk/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;下載安裝DXVK&lt;/a&gt;放到對應位置。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;如果要用Wine執行exe：&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;FEXBash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wine &lt;span class=&#34;s2&#34;&gt;&amp;#34;exe路徑&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;7. 執行Steam遊戲&#xA;    &lt;div id=&#34;7-執行steam遊戲&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#7-%e5%9f%b7%e8%a1%8csteam%e9%81%8a%e6%88%b2&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;關於Steam安裝，FEX-Emu Wiki寫要裝在宿主機，不是RootFS，還說這是一個很複雜的程式，啟動很容易出問題。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;在宿主機，給Debian啟用i386架構支援：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo dpkg --add-architecture i386&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;從Steam官網下載客戶端deb套件，在宿主機Debian直接安裝：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://cdn.cloudflare.steamstatic.com/client/installer/steam.deb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install ./steam.deb&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Steam的執行檔其實是一個封裝指令稿，故使用FEXBash執行：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;FEXBash steam&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;等待Steam自身的依賴裝完。若Steam Client WebHelper崩潰，嘗試停用GPU加速。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;只要Steam開起來後面就不用煩惱了，Steam會自動給Windows遊戲下載Proton。過程&lt;a href=&#34;https://ivonblog.com/posts/install-steam-on-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;參考Linux版Steam使用教學&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;如果Steam一直崩潰，嘗試停用steamwebhelper的GPU加速，或者改用&lt;a href=&#34;https://ivonblog.com/posts/linux-steamcmd/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;SteamCMD&lt;/a&gt;下載遊戲。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Steam成功開啟之後，Fex-Emu在轉譯執行遊戲的時候會吃掉大量的RAM，8GB RAM都不夠用，可能需要提高SWAP免得程式被Linux系統殺掉。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;8. 測試FEX-Emu的3D加速&#xA;    &lt;div id=&#34;8-測試fex-emu的3d加速&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#8-%e6%b8%ac%e8%a9%a6fex-emu%e7%9a%843d%e5%8a%a0%e9%80%9f&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;通過FEXBash執行Wine，確認能使用3D加速。&lt;/p&gt;&#xA;&lt;p&gt;比較下二者結果，確認GPU有沒有跑起來&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;glxinfo | grep OpenGL&lt;/code&gt; → 讀到Broadcom的GPU&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;FEXBash glxinfo | grep OpenGL&lt;/code&gt; → 讀到llvmpipe&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;FEXBash wine &amp;quot;exe路徑&amp;quot;&lt;/code&gt; → 讀到Broadcom的GPU&lt;/p&gt;&#xA;&lt;p&gt;若FEX的RootFS內部無法使用3D加速，可能得使用&lt;a href=&#34;https://wiki.fex-emu.com/index.php/Development:Setting_up_Thunks&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ThunkLib&lt;/a&gt;。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;參考資料&#xA;    &lt;div id=&#34;參考資料&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8f%83%e8%80%83%e8%b3%87%e6%96%99&#34; aria-label=&#34;定位點&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/FEX-Emu/FEX&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;FEX-Emu/FEX: A fast usermode x86 and x86-64 emulator for Arm64 Linux - Github&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.fex-emu.com/index.php/Development:Setting_up_FEX&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Development:Setting up FEX - FEX-Emu Wiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://xdaforums.com/t/windows-gaming-on-linux-howto.4662644/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;How To Guide - Windows gaming on Linux - XDA&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=B3SOMWdFxBw&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;NicoD&amp;rsquo;s SBCs - FEX Emu - Another way to run x86/amd64 software on ARM64 - Youtube&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/posts/fex-emu-raspberry-pi/featured.webp" />
    </item>
    
  </channel>
</rss>
