<?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>Scrcpy on Ivon&#39;s Blog</title>
    <link>https://ivonblog.com/ja-jp/tags/scrcpy/</link>
    <description>Recent content in Scrcpy on Ivon&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja-jp</language>
    <managingEditor>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</managingEditor>
    <webMaster>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</webMaster>
    <copyright>Ivon&#39;s Blog（ivonblog.com）の記事はご自由に共有いただけます。引用の際は、記事のURLを明記してください。特に明記されていない限り、すべての記事CC BY-SA 4.0 表示-継承 4.0 国際 ライセンスの下で提供されています。商用利用をご希望の場合は、お問い合わせください。</copyright>
    <lastBuildDate>Sat, 07 Jun 2025 15:00:00 +0800</lastBuildDate><atom:link href="https://ivonblog.com/ja-jp/tags/scrcpy/index.xml" rel="self" type="application/rss+xml" />
    <follow_challenge>
      <feedId>56005902658351104</feedId>
      <userId>1132431067563556864</userId>
    </follow_challenge>
    
    
    <item>
      <title>LinuxでAndroid Studioエミュレーターをスマホゲーム用に使う考え方（Playストア＋Nvidia GPUアクセラレーション＋AVD単独実行）</title>
      <link>https://ivonblog.com/ja-jp/posts/linux-android-studio-avd-as-a-gaming-emulator/</link>
      <pubDate>Sat, 07 Jun 2025 15:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/linux-android-studio-avd-as-a-gaming-emulator/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Using AVD of Android Studio on Linux as a Android gaming emulator.&lt;/p&gt;&#xA;&lt;p&gt;Ubuntu LinuxシステムでAndroid StudioのAVDエミュレーターを使ってゲームを遊び、さらに重たいIDEを一緒に起動せずAVDエミュレーターだけを起動する設定方法を共有します。&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Using AVD of Android Studio on Linux as a Android gaming emulator.&lt;/p&gt;&#xA;&lt;p&gt;Ubuntu LinuxシステムでAndroid StudioのAVDエミュレーターを使ってゲームを遊び、さらに重たいIDEを一緒に起動せずAVDエミュレーターだけを起動する設定方法を共有します。&lt;/p&gt;&#xA;&lt;p&gt;Android StudioはGoogleが提供するIDEで、Linux、Windows、macOSをサポートし、Androidアプリ開発に使われます。ライセンスはプロプライエタリソフトウェアです。&lt;/p&gt;&#xA;&lt;p&gt;最大の特徴は、各バージョンのAndroidエミュレーター（Android Virtual Devices、以下AVD）を内蔵していることです。このエミュレーターでゲームは遊べるのでしょうか？理論上は可能です。Android Studioのエミュレーターはスマホ機種のエミュレート、内蔵GAPPS、GPUアクセラレーション、内蔵ARMトランスレーターlibndk、ウィンドウサイズの動的リサイズに対応しています。&lt;/p&gt;&#xA;&lt;p&gt;例：AVDエミュレーターを使ってLinuxでGoogle Playのウマ娘ゲームをプレイ&#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;title.webp&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/title.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;では、なぜAndroid StudioのAVDを使うのでしょう？Ivonは&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/android-emulators-for-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Linux Android Emulators&lt;/a&gt;を共有しました。その中でAndroid StudioのAVDは、Genymotion以外では、Linux上でNvidia GPUを正常に使ってAndroidスマホゲームを遊べる唯一のエミュレーターかもしれません。Google公式が提供している以上、公開前に多くのテストを経ているはずです。品質は信頼できるはずです。&lt;/p&gt;&#xA;&lt;p&gt;LinuxでAndroidスマホゲームを実行したい場合、Waydroidが比較的よく推薦される方案で、Steam Deckで使っている人もいます。ただしWindows上のBluestacksエミュレーターに近い使用体験を求めるなら、AVDの方が近いです。&lt;/p&gt;&#xA;&lt;p&gt;本来、&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/ubuntu-waydroid/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Waydroid&lt;/a&gt;の方がより良い方案のはずでした。完全にオープンソースコミュニティで維持され、Waydroid（LXCコンテナ）はAVDエミュレーター（QEMU/KVM仮想マシン）より性能が良いです。AVDエミュレーターはいつも少しもたつきます。&lt;/p&gt;&#xA;&lt;p&gt;実際にGeekbenchでベンチマークしたところ、同じIntel i5-10210U CPUで同じコア数を割り当てた場合、Waydroid（上）は確かにAVDエミュレーター（下）より性能が良く、Waydroidはほぼネイティブ速度でAndroidアプリを実行します。AVDには仮想化による性能損失があります。&#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://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/compare.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;しかしWaydroidの致命的な弱点は、IntelとAMD GPUしかサポートしていないことです。開発者によると、Nvidiaを一時的にサポートしていない理由は、NvidiaがオープンソースのAndroid側ドライバーを提供しておらず、Linux側のMesaドライバーにも問題があるためです。一方Googleは何らかのOpenGL ES変換の魔法を使い、Nvidiaドライバーを動かしています。&lt;/p&gt;&#xA;&lt;p&gt;AVDエミュレーターの中では、LinuxホストのNvidia GPUが正常に表示されているのを確認できます。AVDエミュレーターはIntel、AMD、NvidiaのいずれでもOpenGL ESへ変換できます。&#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://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/screenshot_20250606_154849.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;したがってNvidiaユーザーにとって、AVDはGPUアクセラレーション付きで実用可能な唯一のAndroidエミュレーター方案です。&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-%e4%bb%ae%e6%83%b3%e5%8c%96%e3%81%a8%e3%82%b0%e3%83%a9%e3%83%95%e3%82%a3%e3%83%83%e3%82%af%e3%83%89%e3%83%a9%e3%82%a4%e3%83%90%e3%83%bc%e3%82%92%e7%a2%ba%e8%aa%8d&#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;Android StudioはQEMU/KVMでエミュレーターを高速化するため、まずUbuntu PCで仮想化が有効か確認します。CPUが仮想化に対応しているか確認し、戻り値は0であってはいけません：&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 grep -E -c &lt;span class=&#34;s1&#34;&gt;&amp;#39;(vmx|svm)&amp;#39;&lt;/span&gt; /proc/cpuinfo&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;KVMカーネルモジュールが読み込まれているか確認します：&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 lsmod &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep kvm&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;Nvidiaグラフィックカードを使っている場合は、&lt;a href=&#34;https://ivonblog.com/posts/ubuntu-install-nvidia-drivers/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Nvidiaクローズドソースドライバーをインストール&lt;/a&gt;することを忘れないでください。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. Android Studioをインストール&#xA;    &lt;div id=&#34;2-android-studioをインストール&#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-android-studio%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Android Studioはx86_64アーキテクチャのLinux PCのみ対応しています。ディスク容量64GB以上、RAM 8GB以上、CPU 4コア以上をおすすめします。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://developer.android.com/studio&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;公式サイト&lt;/a&gt;からダウンロードします。Flatpak方式ではインストールしないでください。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;tarファイルを展開し、任意のディレクトリに置きます。私は個人的に&lt;code&gt;~/Applications&lt;/code&gt;に置いています&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;android-studio/bin/studio&lt;/code&gt;をダブルクリックしてAndroid Studioを起動し、初期化パッケージの完了を待ちます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;New Projectを押して適当なプロジェクトを作成します&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;左上のTools →  Create Desktop Entryを押すと、Linuxデスクトップアイコンを作成できます&#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_20250607_142315.webp&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/screenshot_20250607_142315.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. AVDエミュレーターを追加&#xA;    &lt;div id=&#34;3-avdエミュレーターを追加&#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-avd%e3%82%a8%e3%83%9f%e3%83%a5%e3%83%ac%e3%83%bc%e3%82%bf%e3%83%bc%e3%82%92%e8%bf%bd%e5%8a%a0&#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;左上 → Tools → Device Managerをクリック&#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_20250606_143929.webp&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/screenshot_20250606_143929.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;画面左側にダウンロード済みのエミュレーターが表示されるはずです。執筆時点ではAndroid 16のイメージです&#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_20250606_144035.webp&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/screenshot_20250606_144035.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;他のバージョンが必要な場合は＋をクリックし、Create New Virtual Deviceで追加します。たとえば私はPixel 9 Pro XLを選び、Android 16バージョンを設定し、Google Play内蔵イメージを選択しました。（注：この端末はパンチホール画面で、AVDエミュレーターもパンチホール画面を一緒にエミュレートします。完全な画面が欲しい場合は古い機種を選んでください。）&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Additional Settingsを押してエミュレーター性能を調整します。少なくとも64GBのストレージ、さらに4GB以上のRAMと4つのCPUコアを割り当てます。ただしGoogle Playを含むイメージは全速で使えないため、設定ファイルを手動で変更する必要があります。&#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_20250607_142737.webp&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/screenshot_20250607_142737.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ダウンロード後、Show on diskをクリックし、設定ファイル&lt;code&gt;config.ini&lt;/code&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_20250607_142815.webp&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/screenshot_20250607_142815.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;以下の内容を変更します（なければ自分で追加）&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;disk.dataPartition.size&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;64G &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;hw.audioInput&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;yes &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;hw.audioOutput&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;yes &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;hw.cpu.ncore&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;4&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# エミュレーターのコア数。PC性能に応じて調整&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hw.ramSize&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;6144&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# エミュレーターRAM&lt;/span&gt;&#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;PlayStore.enabled&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Google Playを強制有効化&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tag.display&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;Google Play&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tag.id&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;google_apis_playstore&#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;# エミュレーターにスマホ枠を表示したくない場合は以下3行を削除&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;skin.name&lt;span class=&#34;o&#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;skin.path&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&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;その後起動し、Googleアカウントにログインして初期化を完了し、シャットダウンします。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. IDEを起動せずAVDエミュレーターだけを起動&#xA;    &lt;div id=&#34;4-ideを起動せずavdエミュレーターだけを起動&#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-ide%e3%82%92%e8%b5%b7%e5%8b%95%e3%81%9b%e3%81%9aavd%e3%82%a8%e3%83%9f%e3%83%a5%e3%83%ac%e3%83%bc%e3%82%bf%e3%83%bc%e3%81%a0%e3%81%91%e3%82%92%e8%b5%b7%e5%8b%95&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Android Studioの問題は重すぎることです。IDE実行時は非常にリソースを食います。IDEを開かず、AVDだけを単独実行できます。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Android Studioの依存パッケージは&lt;code&gt;~/Android/&lt;/code&gt;に置かれます&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;エミュレーター一覧を表示します。例：&lt;code&gt;Pixel_9_Pro_XL&lt;/code&gt;&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;~/Android/Sdk/emulator/emulator -list-avds&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;IDEを開かずAVDだけを起動したい場合は、このコマンドで起動します：&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;~/Android/Sdk/emulator/emulator -avd &lt;span class=&#34;s2&#34;&gt;&amp;#34;模擬器機型&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;GPUが2つある場合は、&lt;a href=&#34;https://ivonblog.com/posts/linux-nvidia-prime/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Nvidia PRIME&lt;/a&gt;の方式で、エミュレーターのグラフィックアクセラレーションにNvidia GPUを指定できます。&lt;/p&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;これをLinuxデスクトップショートカットにして、Linuxアプリケーション一覧へ追加します&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;vim ~/.local/share/applications/emulator_pixel_9_pro_xl.desktop&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;以下のコマンドを入力します。Wayland下でAVDがおかしい場合は、&lt;code&gt;Exec=&lt;/code&gt;の後ろに環境変数&lt;code&gt;env WAYLAND_DISPLAY=&lt;/code&gt;を追加し、XWaylandで起動するようにします。&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;o&#34;&gt;[&lt;/span&gt;Desktop Entry&lt;span class=&#34;o&#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;&lt;span class=&#34;nv&#34;&gt;Categories&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;Development&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;IDE&lt;span class=&#34;p&#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;&lt;span class=&#34;nv&#34;&gt;Exec&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/home/user/Android/Sdk/emulator/emulator&amp;#34;&lt;/span&gt; -avd &lt;span class=&#34;s2&#34;&gt;&amp;#34;Pixel_9_Pro_XL&amp;#34;&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;nv&#34;&gt;Icon&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/home/user/Android/Sdk/skins/pixel_9_pro_xl/back.png&#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;Name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;Pixel &lt;span class=&#34;m&#34;&gt;9&lt;/span&gt; Pro Emulator&#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;NoDisplay&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;false&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;nv&#34;&gt;Type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;Application&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;&#xA;&lt;p&gt;これでLinuxデスクトップのショートカットをクリックしてAVDエミュレーターを起動できます。&#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_20250607_143901.webp&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/screenshot_20250607_143901.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;AVDエミュレーター右上の三点をクリックして設定を開き、Show window frame around deviceをクリックすると枠が表示され、AVDエミュレーターウィンドウをリサイズできます。&#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_20250607_144248.webp&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/screenshot_20250607_144248.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;5. QtScrcpyと組み合わせてキーマッピングを使う&#xA;    &lt;div id=&#34;5-qtscrcpyと組み合わせてキーマッピングを使う&#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-qtscrcpy%e3%81%a8%e7%b5%84%e3%81%bf%e5%90%88%e3%82%8f%e3%81%9b%e3%81%a6%e3%82%ad%e3%83%bc%e3%83%9e%e3%83%83%e3%83%94%e3%83%b3%e3%82%b0%e3%82%92%e4%bd%bf%e3%81%86&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;主な接続手段としてScrcpyに切り替えます。&lt;a href=&#34;https://ivonblog.com/posts/android-qtscrcpy-usage/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;QTScrcpy&lt;/a&gt;はキーマッピングに対応しており、キーボードでタッチ操作を制御できます。&lt;/p&gt;&#xA;&lt;p&gt;AVDエミュレーター起動コマンドに&lt;code&gt;-no-window -gpu host&lt;/code&gt;パラメータを追加すると、エミュレーターのウィンドウを出さず、GPUアクセラレーションを維持できます。&lt;/p&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;~/Android/Sdk/emulator/emulator -avd &lt;span class=&#34;s2&#34;&gt;&amp;#34;模擬器機型&amp;#34;&lt;/span&gt; -no-window -gpu host&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;次にADBで現在PC上のデバイスを一覧表示します&#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_20250607_140947.webp&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/screenshot_20250607_140947.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&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_20250607_141637.webp&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/screenshot_20250607_141637.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;6. 複数アプリを起動&#xA;    &lt;div id=&#34;6-複数アプリを起動&#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-%e8%a4%87%e6%95%b0%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e8%b5%b7%e5%8b%95&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;複数のAVDを同時実行する必要はありません。リソースを食いすぎます。&lt;/p&gt;&#xA;&lt;p&gt;Android 15の仮想デュアルディスプレイ機能を使えば十分です。&lt;/p&gt;&#xA;&lt;p&gt;AVDエミュレーターの設定 → Displayをクリックし、画面を1つ追加します。&#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_20250607_144619.webp&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/linux-android-studio-avd-as-a-gaming-emulator/images/screenshot_20250607_144619.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;追加された画面で他のアプリを実行できます。ただし大型ゲームを動かす場合は、エミュレーターに割り当てたRAMが十分かどうかも考慮する必要があります。サブ画面は画面方向に追従して回転しないようです。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;7. アプリがクラッシュする場合&#xA;    &lt;div id=&#34;7-アプリがクラッシュする場合&#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-%e3%82%a2%e3%83%97%e3%83%aa%e3%81%8c%e3%82%af%e3%83%a9%e3%83%83%e3%82%b7%e3%83%a5%e3%81%99%e3%82%8b%e5%a0%b4%e5%90%88&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;AVDにはlibndkが内蔵されており、ARM変換の問題でクラッシュすることがあります。&lt;/p&gt;&#xA;&lt;p&gt;できるだけx86_64アーキテクチャのAPKを探し、ARMトランスレーターのクラッシュによる可能性を減らしてください。&lt;/p&gt;&#xA;&lt;p&gt;ゲームがエミュレーターを検出してクラッシュしている可能性もあります。AVDはあくまで開発用エミュレーターです。ゲームがエミュレーター疑いで遊ばせてくれないなら、まあどうしようもありません～&lt;/p&gt;&#xA;&lt;p&gt;Play Integrity APIはハードウェア対応が必要なので、エミュレーター内で通過することは不可能です。&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://developer.android.com/studio/run/emulator-acceleration&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Configure hardware acceleration for the Android Emulator - Android Developers&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://stackoverflow.com/questions/42718973/run-avd-emulator-without-android-studio&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Run AVD Emulator without Android Studio - stackoverflow&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://stackoverflow.com/questions/71815181/how-can-i-get-google-play-to-work-on-android-emulator-in-android-studio-bumblebe&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;How Can I Get Google Play to Work on Android Emulator in Android Studio Bumblebee + - stackoverflow&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/ja-jp/posts/linux-android-studio-avd-as-a-gaming-emulator/featured.webp" />
    </item>
    
    <item>
      <title>ReDroidチュートリアル：DockerでAndroidシステムを動かし、x86 PCでARMスマホゲームを遊ぶ</title>
      <link>https://ivonblog.com/ja-jp/posts/redroid-android-docker/</link>
      <pubDate>Thu, 15 Aug 2024 21:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/redroid-android-docker/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;ReDroid (Remote anDroid) は自前で「クラウドスマホ」を構築する方案で、DockerでAndroidシステムコンテナを動かし、さらにScrcpyの画面ミラーリング機能でAndroidデスクトップへ接続します。&#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://static.ivonblog.com/posts/redroid-android-docker/images/FQXt3GC.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;    &gt;&lt;figcaption&gt;LinuxでReDroidを使ってFGOをプレイ&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;ReDroid (Remote anDroid) は自前で「クラウドスマホ」を構築する方案で、DockerでAndroidシステムコンテナを動かし、さらにScrcpyの画面ミラーリング機能でAndroidデスクトップへ接続します。&#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://static.ivonblog.com/posts/redroid-android-docker/images/FQXt3GC.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;    &gt;&lt;figcaption&gt;LinuxでReDroidを使ってFGOをプレイ&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;ReDroidもPC上で&lt;strong&gt;オープンソースソフトウェア&lt;/strong&gt;を使ってAndroidアプリを動かすソリューションです。クラウドスマホはさておき、多くのAndroidスマホゲームエミュレーターは&lt;strong&gt;クローズドソースソフトウェア&lt;/strong&gt;ですからね。それに比べ、ReDroidはARMトランスレーター以外はオープンソースです。さらに素晴らしいことに、ReDroidはGPUアクセラレーション＋ARMからx86へのトランスレーターに対応しているため、大多数のスマホ3Dゲームを遊べます。&lt;/p&gt;&#xA;&lt;p&gt;Linuxユーザーにとって、これは&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/android-emulators-for-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;WaydroidとAndroid-x86仮想マシン&lt;/a&gt;以外に、Linux PCでAndroidアプリを高効率に動かす方法でもあります。さらにWaydroidよりクラウドスマホ用途に向いています。&lt;a href=&#34;https://ivonblog.com/posts/scrcpy-app-remote-control-android-in-cloud/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Self-hosting Cloud Phone&lt;/a&gt;を参照してください&lt;/p&gt;&#xA;&lt;p&gt;この記事では、x86アーキテクチャのLinux PCでReDroidを使い、ARMアーキテクチャのスマホゲームを遊ぶ方法を扱います。最良の使用体験を得るため、ReDroidイメージにARMトランスレーター＋Googleサービスフレームワークを追加します。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. ReDroidシステム要件&#xA;    &lt;div id=&#34;1-redroidシステム要件&#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-redroid%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e8%a6%81%e4%bb%b6&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;任意のLinuxディストリビューションで使えるはずです。&lt;/p&gt;&#xA;&lt;p&gt;この記事ではx86アーキテクチャのPCでReDroidを動かす例を示します。ARMアーキテクチャのPCについては、Oracle ARMアーキテクチャサーバーでのデプロイ成功例を報告したネットユーザーがおり、私も&lt;a href=&#34;https://ivonblog.com/posts/redroid-on-raspberry-pi&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Raspberry Pi 5でReDroidを動かせる&lt;/a&gt;ことをテスト済みです。&lt;/p&gt;&#xA;&lt;p&gt;PCがx86アーキテクチャの場合、実行できるのはx86アーキテクチャのAndroidアプリだけです。しかし多くのスマホゲームはARMアーキテクチャ版しかないため、ReDroidにはlibndkまたはlibhoudiniのARMトランスレーターを入れる必要があります。&lt;/p&gt;&#xA;&lt;p&gt;スマホゲームを遊ぶなら、PCには少なくとも8GB以上のRAMをおすすめします。ARMをx86命令へ変換するとき、大量のRAMを消費することがあるためです。&lt;/p&gt;&#xA;&lt;p&gt;GPUアクセラレーションについては、IntelやAMDのGPUなど、Linux Mesaがサポートするドライバーの使用をおすすめします。3Dアクセラレーションがそのまま使えます。Nvidiaはおすすめしません。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Androidバージョンについて、Redroid作者が公開している&lt;code&gt;redroid:11.0.0-latest&lt;/code&gt;と&lt;code&gt;redroid:12.0.0-latest&lt;/code&gt;イメージにはGoogle開発のARMトランスレーターlibndkが内蔵されています。試したところAndroid 11だけが比較的安定しており、GAppsも使えたので、この記事ではAndroid 11のイメージを選びます。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. ReDroid前提依存項目をインストール&#xA;    &lt;div id=&#34;2-redroid前提依存項目をインストール&#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-redroid%e5%89%8d%e6%8f%90%e4%be%9d%e5%ad%98%e9%a0%85%e7%9b%ae%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;ReDroidの&lt;a href=&#34;https://github.com/remote-android/redroid-doc/blob/master/deploy/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Github&lt;/a&gt;には主要Linuxディストリビューション向けのインストール説明があります。私はUbuntuシステムを例にします。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;まずbinderカーネルモジュールを用意します。Ubuntu 24.04では以下のコマンドを実行し、必要なbinderカーネルモジュールをインストールします：&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 linux-modules-extra-&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;uname -r&lt;span class=&#34;sb&#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;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo modprobe binder_linux &lt;span class=&#34;nv&#34;&gt;devices&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;binder,hwbinder,vndbinder&amp;#34;&lt;/span&gt;&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;上記カーネルモジュールを起動時自動読み込みに追加します&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;binder_linux options binder_linux devices=&amp;#34;binder,hwbinder,vndbinder&amp;#34;&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo tee -a /etc/modules-load.d/redroid.conf&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;&#xA;&lt;p&gt;コンテナ実行用に&lt;a href=&#34;https://ivonblog.com/posts/install-docker-engine-on-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Docker&lt;/a&gt;をインストールします&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://developer.android.com/tools/releases/platform-tools?hl=zh-tw&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ADB&lt;/a&gt;ツールをインストールします&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;最後に&lt;a href=&#34;https://ivonblog.com/posts/scrcpy-usage&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Scrcpy&lt;/a&gt;をインストールします。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;キーマッピングを統合したグラフィカルなScrcpy UIが欲しい場合は、&lt;a href=&#34;https://ivonblog.com/posts/android-qtscrcpy-usage/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;QtScrcpy&lt;/a&gt;を入れてもよいです。Web版の&lt;a href=&#34;https://ivonblog.com/posts/ws-scrcpy/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ws-scrcpy&lt;/a&gt;も試せます。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. ReDroidイメージに事前にGAppsをインストール&#xA;    &lt;div id=&#34;3-redroidイメージに事前にgappsをインストール&#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-redroid%e3%82%a4%e3%83%a1%e3%83%bc%e3%82%b8%e3%81%ab%e4%ba%8b%e5%89%8d%e3%81%abgapps%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;ReDroid作者が公開しているイメージは素のAndroidで、GAppsはプリインストールされていません。&lt;a href=&#34;https://hub.docker.com/search?q=redroid&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Docker Hub&lt;/a&gt;で他人が事前にビルドしたReDroidイメージを探すこともできます。GApps内蔵のものなら自分でbuildする必要はありません。もちろん、リスクは自己責任です。&lt;/p&gt;&#xA;&lt;p&gt;ここでは&lt;a href=&#34;https://github.com/ayasa520/redroid-script&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ayasa520のRemote-Android Script&lt;/a&gt;を使い、ReDroidイメージを自動取得してGAppsを入れます。Android 11のイメージのみ対応です。&lt;/p&gt;&#xA;&lt;p&gt;このスクリプトはlibndk、libhoudini、Magisk、Widevine DRMなどのコンポーネントのインストールにも使えます。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Remote-Android Scriptリポジトリをクローンし、Python仮想環境を作成します&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 lzip python3 python3-venv python3-pip&#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;git clone https://github.com/ayasa520/redroid-script.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; redroid-script&#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;python3 -m venv venv&#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;venv/bin/pip install -r requirements.txt&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;Android 11のイメージを取得し、GAppsをインストールします&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;venv/bin/python3 redroid.py -a 11.0.0 -g&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;これでGApps入りイメージ&lt;code&gt;redroid/redroid:11.0.0_gapps&lt;/code&gt;が得られます。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. docker-composeでReDroidコンテナを起動&#xA;    &lt;div id=&#34;4-docker-composeでredroidコンテナを起動&#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-docker-compose%e3%81%a7redroid%e3%82%b3%e3%83%b3%e3%83%86%e3%83%8a%e3%82%92%e8%b5%b7%e5%8b%95&#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;この手順はNvidiaグラフィックカードの場合のみ必要です。IntelとAMDグラフィックカードのユーザーは次の手順へ直接進んでください。ReDroidのNvidiaグラフィックカード対応は良くありません。可能なら内蔵GPUで動かすことをおすすめします。どうしてもNvidiaを使うなら、ReDroid用の仮想マシンを作成します。NvidiaクローズドソースドライバーではReDroidにGPUアクセラレーションを使わせられないため、QEMU仮想マシンを動かし、その中にReDroidを入れてvirtio-gpuでハードウェアアクセラレーションを実現する必要があります。ただしこれは準仮想化技術なので性能損失は大きいです。仮想マシンを作らず、PCに内蔵GPUもない場合、ReDroidはソフトウェアレンダリングになります。ソフトウェアレンダリングの性能を受け入れられるなら、仮想マシンをインストールする必要はありません。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;details&gt;&#xA;&lt;summary&gt; ReDroid用仮想マシンを作成&lt;/summary&gt;&#xA;&lt;p&gt;QEMU ＋ Virt Managerをインストールし、&lt;a href=&#34;https://releases.ubuntu.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Ubuntu 24.04をダウンロード&lt;/a&gt;して、64GBのUbuntu仮想マシンを作成します&lt;/p&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;qemu-img create -f qcow2 ubuntu.qcow2 64GB&#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;qemu-system-x86_64 -boot d -cdrom &lt;span class=&#34;s2&#34;&gt;&amp;#34;ubuntu-22.04.1-desktop-amd64.iso&amp;#34;&lt;/span&gt; -enable-kvm -smp &lt;span class=&#34;m&#34;&gt;4&lt;/span&gt; -device intel-hda -device hda-duplex  -device virtio-vga-gl  -net nic -net user,hostfwd&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;tcp::5555-:5555 -cpu host  -m &lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt;  -display sdl,gl&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;on -hda ubuntu.qcow2&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;仮想マシンへ起動し、その後&lt;a href=&#34;https://ivonblog.com/posts/install-docker-engine-on-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Dockerをインストール&lt;/a&gt;します。&lt;/p&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;qemu-system-x86_64 -enable-kvm -smp &lt;span class=&#34;m&#34;&gt;4&lt;/span&gt; -device intel-hda -device hda-duplex  -device virtio-vga-gl  -net nic -net user,hostfwd&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;tcp::5555-:5555 -cpu host  -m &lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt;  -display sdl,gl&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;on -hda ubuntu.qcow2&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/details&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Androidデータ保存用ディレクトリを作成し、docker-composeを追加します&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;mkdir ~/redroid&#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; redroid&#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;vim docker-compose.yml&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;/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-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;services&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;redroid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;image&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;redroid/redroid:11.0.0_gapps&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# 先ほど作成したGApps入りReDroidイメージを使用&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;stdin_open&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;tty&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;privileged&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;ports&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;m&#34;&gt;127.0.0.1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5555&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5555&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# ADBポート。セキュリティ強化のためローカルlocalhostポートのみリッスン&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;volumes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;./redroid-11-data:/data&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# データは現在ディレクトリに保存&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;command&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;androidboot.redroid_width=720&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# スマホ解像度&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;androidboot.redroid_height=1280&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;androidboot.redroid_dpi=320&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;androidboot.redroid_fps=60&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;androidboot.redroid_gpu_mode=host&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# ホストGPUハードウェアアクセラレーションを有効化。hostはGPUアクセラレーション、guestはソフトウェアレンダリング&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;ro.product.cpu.abilist0=x86_64,arm64-v8a,x86,armeabi-v7a,armeabi&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# libndk関連設定&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;ro.product.cpu.abilist64=x86_64,arm64-v8a&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;ro.dalvik.vm.isa.arm=x86&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;ro.dalvik.vm.isa.arm64=x86_64&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;ro.enable.native.bridge.exec=1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;ro.dalvik.vm.native.bridge=libndk_translation.so&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#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;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;ro.ndk_translation.version=0.2.2&lt;/span&gt;&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;サービスを起動&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 docker compose up -d&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;ADBでローカルのReDroidへ接続します。ローカルなのでIPはlocalhostです。ReDroidをリモートにデプロイしている場合は、リモートホストのIPに変更します。&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;adb connect localhost:5555&#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;sudo docker ps&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo docker &lt;span class=&#34;nb&#34;&gt;exec&lt;/span&gt; &amp;lt;容器ID&amp;gt; logcat&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo docker logs &amp;lt;容器ID&amp;gt;&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;Scrcpyを実行し、Androidへ接続します：&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;scrcpy -s localhost:5555 --audio-codec&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;aac&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;&#xA;&lt;p&gt;これでAndroidデスクトップが見えます。&#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://static.ivonblog.com/posts/redroid-android-docker/images/rPc7feZ.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Google Playサービスが「デバイスは認証されていません」というエラーメッセージを出すことがあります。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;以下のコマンドでAndroidデバイスIDを取得し、&lt;a href=&#34;https://www.google.com/android/uncertified&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Googleサイトでデバイスを登録&lt;/a&gt;します。30分ほど待ってからRedroidコンテナを再起動すると、Google Playにログインできます。&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;adb -s localhost:5555 root&#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;adb -s localhost:5555 shell &lt;span class=&#34;s1&#34;&gt;&amp;#39;sqlite3 /data/data/com.google.android.gsf/databases/gservices.db \&#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;#34;select * from main where name = \&amp;#34;android_id\&amp;#34;;&amp;#34;&amp;#39;&lt;/span&gt;&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;&#xA;&lt;p&gt;ReDroidの3Dアクセラレーションが正常に動いているか確認するには、&lt;a href=&#34;https://www.aida64.com/downloads&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;AIDA64&lt;/a&gt;をインストールし、PCのGPU型番を認識できるか見ます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;セキュリティを強化したい場合は、ReDroidのdocker-composeネットワーク設定をローカルlocalhostポートのみリッスンするようにしてください（&lt;code&gt;ports: 127.0.0.1:5000:5000&lt;/code&gt;）。ReDroidを外部ネットワークからアクセス可能にする場合は、ファイアウォール設定に注意し、ADBの5000ポートを直接インターネットへ公開しないでください。重大なセキュリティリスクになります。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;5. ReDroidにAPKをインストールする方法&#xA;    &lt;div id=&#34;5-redroidにapkをインストールする方法&#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-redroid%e3%81%abapk%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;現在、libndkをインストールしていても、Android 11のPlayストアはARMアーキテクチャのアプリをダウンロードさせてくれません。APKPureのようなアプリストアと組み合わせてアプリをインストールしてください。&lt;/p&gt;&#xA;&lt;p&gt;コンテナ内部のブラウザでAPKをダウンロードする以外に、ADBでAPKをReDroidコンテナへインストールすることもできます。たとえば&lt;a href=&#34;https://www.apkmirror.com/apk/line-corporation/line/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ApkMirror&lt;/a&gt;からLineのAPKをダウンロードし、ADBでインストールします：&lt;/p&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;adb -s localhost:5555 install &lt;span class=&#34;s2&#34;&gt;&amp;#34;jp.naver.line.android.apk&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;ScrcpyはAPKをウィンドウへドラッグしてインストールできます。&lt;/p&gt;&#xA;&lt;p&gt;ADBの&lt;code&gt;pull&lt;/code&gt;と&lt;code&gt;push&lt;/code&gt;コマンドでファイルを転送することもできます。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;6. ReDroidを「起動・停止」する方法&#xA;    &lt;div id=&#34;6-redroidを起動停止する方法&#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-redroid%e3%82%92%e8%b5%b7%e5%8b%95%e5%81%9c%e6%ad%a2%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;ReDroidを停止したい場合、Scrcpyウィンドウを閉じた後、コンテナを停止します：&lt;/p&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; ~/redroid&#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 docker compose down&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;その後、このコマンドでReDroidを再び起動できます。ReDroidコンテナの&lt;code&gt;/data&lt;/code&gt;データは&lt;code&gt;~/redroid/redroid-11-data&lt;/code&gt;ディレクトリにあり、複数システムのファイルをバックアップするのに使えます。&lt;/p&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; ~/redroid&#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 docker compose up -d&#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;adb connect localhost:5555&#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;scrcpy -s localhost:5555 --audio-codec&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;aac&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. ReDroid多重起動の例&#xA;    &lt;div id=&#34;7-redroid多重起動の例&#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-redroid%e5%a4%9a%e9%87%8d%e8%b5%b7%e5%8b%95%e3%81%ae%e4%be%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/redroid-multiple-instances&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ReDroid Multiple Instances&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;#%e4%bb%98%e9%8c%b2&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;details&gt; &lt;summary&gt; ReDroidイメージへGAppsを手動インストール &lt;/summary&gt;&#xA;&lt;p&gt;ReDroid作者によると、Googleサービスフレームワークはプロプライエタリソフトウェアなので内蔵できません。したがって自分でインストールする必要があります。1つ目の方法はReDroidイメージの再コンパイル、2つ目はOpenGAppsの手動インストールです。&lt;/p&gt;&#xA;&lt;p&gt;1つ目の方法はおすすめしません。時間がかかるうえ、作者が提供するGAppsビルド手順には他のアプリが検出できない問題もあります。&lt;/p&gt;&#xA;&lt;p&gt;ここでは2つ目の方法、手動インストールを使います。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://opengapps.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;OpenGapps&lt;/a&gt;からx86_64アーキテクチャのAndroid 11 GAppsをダウンロードし、最小構成のpico版を選びます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;展開すると、以下のディレクトリが見えます&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;open_gapps-x86_64-11.0-pico-20220503&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── Core&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── GApps&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── META-INF&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── Optional&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;&#xA;&lt;p&gt;展開したディレクトリ&lt;code&gt;open_gapps-x86_64-11.0-pico-20220503&lt;/code&gt;の下に&lt;code&gt;system&lt;/code&gt;ディレクトリを追加します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;次に、&lt;code&gt;Core&lt;/code&gt;と&lt;code&gt;GApps&lt;/code&gt;ディレクトリ内の&lt;code&gt;.lz&lt;/code&gt;ファイルをすべて展開し、中のAPKディレクトリを対応するインストール先に従って&lt;code&gt;system&lt;/code&gt;ディレクトリへ置きます。たとえば&lt;code&gt;GApps/googletts-x86_64/nodpi/app/&lt;/code&gt;下の&lt;code&gt;GoogleTTS&lt;/code&gt;ディレクトリは&lt;code&gt;/system/app&lt;/code&gt;へ置きます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;配置後、&lt;code&gt;system&lt;/code&gt;下のディレクトリ構造はこのようになるはずです：&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;system&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── app&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── GoogleCalendarSyncAdapter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── GoogleCalendarSyncAdapter.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── GoogleContactsSyncAdapter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── GoogleContactsSyncAdapter.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── GoogleExtShared&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── GoogleExtShared.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   └── GoogleTTS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       └── GoogleTTS.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── etc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── default-permissions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   ├── default-permissions.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── opengapps-permissions-q.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── permissions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   ├── com.google.android.dialer.support.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   ├── com.google.android.maps.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   ├── com.google.android.media.effects.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   ├── privapp-permissions-google.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── split-permissions-google.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── preferred-apps&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── google.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   └── sysconfig&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       ├── dialer_experience.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       ├── google_build.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       ├── google_exclusives_enable.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       ├── google-hiddenapi-package-whitelist.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       └── google.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── framework&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── com.google.android.dialer.support.jar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── com.google.android.maps.jar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   └── com.google.android.media.effects.jar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── priv-app&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── AndroidAutoPrebuiltStub&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── AndroidAutoPrebuiltStub.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── AndroidMigratePrebuilt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── AndroidMigratePrebuilt.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── CarrierSetup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── CarrierSetup.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── ConfigUpdater&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── ConfigUpdater.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── GoogleBackupTransport&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── GoogleBackupTransport.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── GoogleExtServices&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── GoogleExtServices.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── GoogleFeedback&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── GoogleFeedback.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── GoogleOneTimeInitializer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── GoogleOneTimeInitializer.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── GooglePackageInstaller&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── GooglePackageInstaller.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── GooglePartnerSetup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── GooglePartnerSetup.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── GoogleRestore&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── GoogleRestore.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── GoogleServicesFramework&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── GoogleServicesFramework.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── Phonesky&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── Phonesky.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   ├── PrebuiltGmsCore&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   │   └── PrebuiltGmsCore.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   └── SetupWizard&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       └── SetupWizard.apk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;└── product&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    └── overlay&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        └── PlayStoreOverlay.apk&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;以下のコマンドでroot権限を取得します：&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;adb connect localhost:5555&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adb -s localhost:5555 root&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adb -s localhost:5555 remount&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adb -s localhost:5555 shell &lt;span class=&#34;s2&#34;&gt;&amp;#34;rm -rf system/priv-app/PackageInstaller&amp;#34;&lt;/span&gt;&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;次に&lt;code&gt;system&lt;/code&gt;ディレクトリをReDroidシステムへpushし、権限を付与します：&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;adb -s localhost:5555 push system /&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adb -s localhost:5555 shell &lt;span class=&#34;s2&#34;&gt;&amp;#34;pm grant com.google.android.gms android.permission.ACCESS_COARSE_LOCATION&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adb -s localhost:5555 shell &lt;span class=&#34;s2&#34;&gt;&amp;#34;pm grant com.google.android.gms android.permission.ACCESS_FINE_LOCATION&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adb -s localhost:5555 shell &lt;span class=&#34;s2&#34;&gt;&amp;#34;pm grant com.google.android.setupwizard android.permission.READ_PHONE_STATE&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adb -s localhost:5555 shell &lt;span class=&#34;s2&#34;&gt;&amp;#34;pm grant com.google.android.setupwizard android.permission.READ_CONTACTS&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adb reboot&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;ReDroidコンテナを再起動します：&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; ~/redroid&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo docker compose down&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo docker compose up -d&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;Scrcpyを起動&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;scrcpy -s localhost:5555 --audio-codec&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;raw&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;システム設定 → アプリを開き、右上からシステムアプリ表示を選択し、Google PlayサービスとPlayストアの権限をすべて有効にします。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/details&gt;&#xA;&lt;details&gt;&#xA;&lt;summary&gt; libndkを手動抽出してAndroidイメージをビルド &lt;/summary&gt;&#xA;&lt;p&gt;libndkはGoogleが開発したプロプライエタリソフトウェアで、Android Studioのエミュレーターに含まれています。&lt;a href=&#34;https://github.com/zhouziyang/libndk_translation&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ReDroid作者の指示&lt;/a&gt;によると、新しいAndroidエミュレーターからlibndkを手動で抽出し、ReDroidの素のシステムへ入れることができます。&lt;/p&gt;&#xA;&lt;p&gt;ここではAndroid 13を例にします。作者は必ず使えるとは保証していない点に注意してください。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Android Studioをインストールし、Android 13の仮想マシンを追加します&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ADBで接続&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;adb devices&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adb shell&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;su&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;libndkをパッケージ化&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;o&#34;&gt;{&lt;/span&gt; find /system -name arm* -type d&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; find /system -name *ndk_translation*&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; find /system/etc -name *arm*&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; tar -cf /sdcard/nb.tar -T -&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;libndk.soをパッケージ化&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;find system -type l &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; tar -cf /sdcard/so.tar -T -&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;ADBを終了し、上記ファイルをローカルへ転送します&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;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;&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;adb pull /sdcard/nb.tar .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adb pull /sdcard/so.tar .&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;libndk.soをlibndkの圧縮ファイルへ追加します&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;tar -xvf so.tar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;find system -type l &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; tar -rf libndk_translation.tar -T -&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;&lt;code&gt;DOCKERFILE&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;FROM redroid/redroid:13.0.0-latest&#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;ADD libndk_translation.tar /&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;libndk入りAndroid 13イメージのビルドを開始します。その後、このイメージ&lt;code&gt;redroid:13.0.0-libndk&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;docker build . -t redroid:13.0.0-libndk&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/details&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/remote-android/redroid-doc&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;redroid (Remote-Android) is a multi-arch, GPU enabled, Android in Cloud solution - Github&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://vocus.cc/article/645b3257fd8978000139c12f&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;App 自動化測試（三）ReDroid 安裝與基本使用 - Scott Hsiao&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.bilibili.com/read/cv19273886/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;在使用 NVIDIA 显卡时为 redroid 开启3d加速&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/remote-android/redroid-doc/issues/282&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;redroid nVidia GPU support #282&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://groups.google.com/g/android-rpi/c/xb2fwTQbUYw&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Install GApps Manually - Google Groups&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/ja-jp/posts/redroid-android-docker/featured.webp" />
    </item>
    
    <item>
      <title>LinuxにBliss OSをインストールする方法：GPUアクセラレーション対応Android-x86仮想マシンでスマホゲームを遊ぶ</title>
      <link>https://ivonblog.com/ja-jp/posts/bliss-os-qemu-installation/</link>
      <pubDate>Thu, 11 Jul 2024 15:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/bliss-os-qemu-installation/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;LinuxシステムでAndroidアプリを動かす方法について、Ivonは&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/android-emulators-for-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Linux Android Emulators&lt;/a&gt;の記事で複数の方案に触れました。本記事ではAndroid-x86の分岐である「Bliss OS」を紹介します。&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/boot.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;LinuxシステムでAndroidアプリを動かす方法について、Ivonは&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/android-emulators-for-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Linux Android Emulators&lt;/a&gt;の記事で複数の方案に触れました。本記事ではAndroid-x86の分岐である「Bliss OS」を紹介します。&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/boot.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Bliss OSはAndroid-x86の改良版と言えるもので、物理機にも仮想マシンにもインストールでき、Intel第10世代以降のGPUなど多くの新しいハードウェアに対応しています。Androidバージョンの更新も比較的速いです。&lt;/p&gt;&#xA;&lt;p&gt;Google Playストアを内蔵し、別途トランスレーターを入れなくても64ビットの3Dゲームを遊べます。これはかなり大きな進歩です。&lt;/p&gt;&#xA;&lt;p&gt;この記事では、LinuxにBliss OSのQEMU/KVM仮想マシンをインストールし、virglrendererで仮想マシンのGPUアクセラレーションを行い、スマホゲームを遊べるようにする方法を扱います。&lt;/p&gt;&#xA;&lt;p&gt;動画版のインストール手順はこちら：&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/XV3jl1ik16s&#34; allowfullscreen frameborder=&#34;0&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/iframe&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. なぜBliss OSを選ぶのか？&#xA;    &lt;div id=&#34;1-なぜbliss-osを選ぶのか&#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-%e3%81%aa%e3%81%9cbliss-os%e3%82%92%e9%81%b8%e3%81%b6%e3%81%ae%e3%81%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/bliss-os-introduction/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Bliss OS紹介&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Bliss OSはAndroid-x86をベースに開発されたAndroidシステムで、x86アーキテクチャのPCやタブレットでAndroidを動かすために設計されています。Android-x86を基礎に多くの実用ツールをプリロードし、活発なオープンソース更新モデルを維持しています。&lt;/p&gt;&#xA;&lt;p&gt;比較すればわかりますが、Android-x86公式サイトの最新バージョンはAndroid 9.0である一方、Bliss OSの最新テスト版はAndroid 13に到達しています。&lt;/p&gt;&#xA;&lt;p&gt;Androidバージョンが古いことは一見大きな問題ではなさそうですが、ARMトランスレーションでは大きな差になります。Android-x86 9.0はIntelの「liboudini」技術に依存し、x86アーキテクチャのAndroidシステム上でARMアーキテクチャのAPKを実行しますが、対応するのは&lt;strong&gt;32ビットARM-v7eabi&lt;/strong&gt;のAPKだけです。現在は&lt;strong&gt;64ビットARM-v8a&lt;/strong&gt;のAPKしか提供しない開発者が増えています。したがって、64ビットARMアーキテクチャのAPKと互換性を持たせるには、Android 11以降のlibhoudiniへ切り替える必要があります。&lt;/p&gt;&#xA;&lt;p&gt;Androidバージョンが新しく、より多くのPCハードウェアと互換性があるだけでなく、Bliss OSはAndroidをPCらしくする機能も追加しています。たとえば強制回転、キーマッピング、ゲームモード、タッチクリックのシミュレーション、KernelSU（より検出されにくいroot権限）などの実用機能があり、さらに従来のAndroid recoveryを「Gearlock」に置き換えています。&lt;/p&gt;&#xA;&lt;p&gt;ちなみに、Bliss OSの開発チームは&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/ubuntu-waydroid/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Waydroid&lt;/a&gt;も開発しているため、両者の機能には似ているところがあります。&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-%e4%bb%ae%e6%83%b3%e3%83%9e%e3%82%b7%e3%83%b3%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%ab%e5%bf%85%e8%a6%81%e3%81%aa%e3%82%bd%e3%83%95%e3%83%88%e3%82%a6%e3%82%a7%e3%82%a2%e3%81%a8%e3%83%8f%e3%83%bc%e3%83%89%e3%82%a6%e3%82%a7%e3%82%a2&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;私のシステム仕様：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CPU：Intel i5-10210U&lt;/li&gt;&#xA;&lt;li&gt;GPU：Intel® UHD Graphics 620&lt;/li&gt;&#xA;&lt;li&gt;Android-x86バージョン：11.0&lt;/li&gt;&#xA;&lt;li&gt;QEMUバージョン：8.1.1&lt;/li&gt;&#xA;&lt;li&gt;virglrendererバージョン：0.10.4&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;CPUの仮想化が有効で、KVMカーネルモジュールが読み込まれていることを確認してください。&lt;/p&gt;&#xA;&lt;p&gt;Linuxシステムに&lt;code&gt;QEMU&lt;/code&gt;、&lt;code&gt;Libvirt&lt;/code&gt;、&lt;code&gt;Virt Manager&lt;/code&gt;パッケージをインストールしてください。Ubuntuは&lt;a href=&#34;https://ivonblog.com/posts/ubuntu-virt-manager/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;この記事&lt;/a&gt;を参考にインストールします。Arch Linuxは&lt;a href=&#34;https://ivonblog.com/posts/archlinux-qemu-virt-manager/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;この記事&lt;/a&gt;を参考にしてください。&lt;/p&gt;&#xA;&lt;p&gt;次に互換性のあるグラフィックカードを用意します。&lt;a href=&#34;https://ivonblog.com/posts/linux-qemu-virglrenderer/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;virglrenderer&lt;/a&gt;は準仮想化GPU技術で、QEMU/KVM仮想マシンがGPUパススルーなしで3Dハードウェアアクセラレーションを得られます。&lt;/p&gt;&#xA;&lt;p&gt;virglrendererにはIntelとAMDのグラフィックカードをおすすめします。Nvidiaクローズドソースドライバーのvirglrendererはあまり安定していません。&lt;/p&gt;&#xA;&lt;p&gt;GPUパススルーをやる場合、NvidiaはAndroid側ドライバーに問題があるため、IntelまたはAMD GPUを使う必要があります。&lt;/p&gt;&#xA;&lt;p&gt;Nvidiaグラフィックカードの場合、ハードウェアアクセラレーションを諦め、Bliss OSのNo HW Accelerationモードで起動することをおすすめします。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. Bliss OSシステムのインストール開始、ディスク分割&#xA;    &lt;div id=&#34;3-bliss-osシステムのインストール開始ディスク分割&#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-bliss-os%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e9%96%8b%e5%a7%8b%e3%83%87%e3%82%a3%e3%82%b9%e3%82%af%e5%88%86%e5%89%b2&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Bliss OS公式サイトは各種バージョンのISOを提供しており、インストール方法はおおむね同じです。&lt;/p&gt;&#xA;&lt;p&gt;Bliss OS 14（Android 11）とBliss OS 15（Android 12L）はIntel libhoudiniでARMアーキテクチャのAPKを変換します。それ以降のバージョンではGoogle libndkに切り替わっています。&lt;/p&gt;&#xA;&lt;p&gt;ここではBliss OS 15を例にします。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://blissos.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;公式サイト&lt;/a&gt;または&lt;a href=&#34;https://sourceforge.net/projects/blissos-x86/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;SourceForge&lt;/a&gt;からISOをダウンロードし、GApps内蔵版 (Bliss OS 15.9.x (x86_64-v2) with GApps) を選びます。その後、ファイル破損を防ぐため&lt;a href=&#34;https://ivonblog.com/posts/windows-verify-file-checksum&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ファイルの完全性を確認&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;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20240711_211332.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Virt Managerを開き、新規仮想マシンを作成し、ISOを選択します。システムはAndroid-x86を選びます&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_102044.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;8GB RAM、4コアCPUの割り当てをおすすめします。ARM命令変換が大量のRAMを消費することがあるため、RAMは多いほど良いです。&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_102216.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;少なくとも64GBの仮想ディスクを割り当てます&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_102345.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&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;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_102434.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;チップセットタイプはQ35、ファームウェアはUEFI (OVMF_CODE.fd) を選択します&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_102514.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ディスクをVirtIOに設定します&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_102620.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;CDROMをSATAに変更します&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_102717.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;起動デバイスをすべてチェックし、CDROMを一番上に置きます&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_102958.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Spiceのリッスンタイプをなしに設定し、OpenGLにチェックを入れ、デバイスでIntelグラフィックカードを選択します&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_102800.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ビデオカードをVirtIOに設定し、3Dアクセラレーションにチェックを入れます。ここでの3DアクセラレーションはVirGLで実現しています。&lt;a href=&#34;https://ivonblog.com/posts/linux-qemu-virglrenderer/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Linux virtio-gpu virglrenderer for QEMU/KVM&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;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_102909.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;システムのインストール開始をクリックします&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;キーボードでBliss OS Installationを選択します&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_103037.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Enterを押し、&lt;code&gt;Create/Modify Partition&lt;/code&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;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_103116.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;GPTパーティションテーブルを使用することを確認します&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_103824.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;キーボードで操作します：左右キーで&lt;code&gt;New&lt;/code&gt;へ移動し、Enterを押し、&lt;code&gt;+512M&lt;/code&gt;を入力し、さらに&lt;code&gt;ef00&lt;/code&gt;を入力してパーティションタイプをEFIに変更します。パーティション名を&lt;code&gt;efi&lt;/code&gt;に設定し、最初のパーティションをEFIパーティションにします。&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_103326.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;キーボードでFree Spaceへ移動し、Enterを押して&lt;code&gt;New&lt;/code&gt;を選び、すべてEnterで進め、パーティション名に&lt;code&gt;android&lt;/code&gt;を入力し、2つ目のパーティションをLinuxシステムパーティションにします。（アライメントの都合で3つのパーティションが出ることがありますが、気にしなくてよいです）&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_103545.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;キーボードで&lt;code&gt;Write&lt;/code&gt;へ移動し、Enterで変更を書き込みます。その後&lt;code&gt;Quit&lt;/code&gt;へ移動して終了します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;分割済みのディスク&lt;code&gt;vda2&lt;/code&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;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_103633.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;システムをExt4でフォーマットします&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_103716.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;EFI/GRUBをインストールし、フォーマットします&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_103737.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;インストール後、Virt Managerの強制シャットダウンボタンをクリックします。ハードウェア一覧からCDROMを削除します&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_104126.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;以後の起動では最初の選択肢を選ぶと、デフォルトでvirglrendererアクセラレーションのシステムが読み込まれます。ハードウェアアクセラレーションなしの選択肢をテストする場合は、QEMUビデオカードをQXLに変更し、起動時にVM Options → VBox/VMWare - No HW Accelerationを選択して起動してください。&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_104229.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Bliss OSはGoogle Playストアを内蔵しており、デバイス認証なしで直接Googleアカウントにログインできます。&lt;/p&gt;&#xA;&lt;p&gt;ARMトランスレーターはデフォルトで有効なので、手動インストールは不要です。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. Bliss OSの画面解像度を変更する方法&#xA;    &lt;div id=&#34;4-bliss-osの画面解像度を変更する方法&#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-bliss-os%e3%81%ae%e7%94%bb%e9%9d%a2%e8%a7%a3%e5%83%8f%e5%ba%a6%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95&#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;起動メニューでVM Options → Debug QEMU/KVM VirGLを選び、Android shellに入ります&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20240711_153151.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;blikid&lt;/code&gt;コマンドでEFIディスクパーティションを確認します。通常は&lt;code&gt;/dev/sda1&lt;/code&gt;です&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;EFIパーティションをマウントします&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;mount /dev/sda1 /mnt&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;&lt;code&gt;android.cfg&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;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; /mnt/efi/boot&#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;vi android.cfg&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;まず&lt;code&gt;linux $kd/kernel&lt;/code&gt;の行を見つけ、最後に&lt;code&gt;video=1920*1080&lt;/code&gt;を追加します。次に&lt;code&gt;set gfxmode=&lt;/code&gt;の行を見つけ、解像度を変更します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;再起動&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;umount /dev/sda1&#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;reboot -f&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;別の解像度変更方法として、&lt;a href=&#34;https://ivonblog.com/posts/android-secondscreen/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;SecondScreen&lt;/a&gt;をインストールして強制調整する方法もあります。&lt;/p&gt;&#xA;&lt;p&gt;解像度変更後にマウスが同期できない場合は、2本目のマウスを用意し、Virt ManagerのUSBリダイレクト機能でパススルーする必要があります。&lt;/p&gt;&#xA;&lt;p&gt;Virt ManagerのウィンドウはBliss OS仮想マシンの解像度変化に反応できないようで、画面が依然としてぼやけて見えます。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;5. Bliss OS使用テクニック&#xA;    &lt;div id=&#34;5-bliss-os使用テクニック&#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-bliss-os%e4%bd%bf%e7%94%a8%e3%83%86%e3%82%af%e3%83%8b%e3%83%83%e3%82%af&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Bliss OSはデフォルトでBoringdroidのデスクトップモードを有効にしており、システム下部にタスクバーが常駐します。&lt;/p&gt;&#xA;&lt;p&gt;全画面で実行したいアプリがある場合は、システム設定 → Boringdroid → Set full screen appで選択できます。&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_110817.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Bliss OSには「Set Orientation」アプリがプリインストールされており、画面を強制回転できます。ただしこれは古すぎるので、私は&lt;a href=&#34;https://ivonblog.com/posts/android-force-rotate-screen-apps/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;OHMAE Ryosuke&amp;rsquo;s Force Rotation Screen&lt;/a&gt;の方が使いやすいと思います。&lt;/p&gt;&#xA;&lt;p&gt;スクリーンショットはプルダウンメニューから撮影します。画面録画については、virglrendererで録ると色がおかしくなるため、PC側の&lt;a href=&#34;https://ivonblog.com/posts/setup-obs-studio-on-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;OBS Studio&lt;/a&gt;で仮想マシンウィンドウをキャプチャすることをおすすめします。&lt;/p&gt;&#xA;&lt;p&gt;ネイティブAndroidのマルチウィンドウ対応はあまり良くありません。どうしても使うなら、開発者向けオプションで「自由形式ウィンドウ」を有効にできます。&lt;/p&gt;&#xA;&lt;p&gt;Bliss OSはKernelSUと&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/how-to-use-termux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux&lt;/a&gt;を内蔵しています。Root権限は全域で有効ではなく、個別アプリに対してマウントする必要があります。&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_105539.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;仮想マシンのADB接続は&lt;a href=&#34;https://www.reddit.com/r/BlissOS/comments/tkddmn/adbovertcp_failed_to_authenticate/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Reddit記事&lt;/a&gt;を参考にして無線接続しました。ADB ShellでRoot権限を有効にするには、KernelSUを開いて「com.android.shell」に権限を付与すればよいです。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;6. 実際にBliss OSでゲームを遊ぶ&#xA;    &lt;div id=&#34;6-実際にbliss-osでゲームを遊ぶ&#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-%e5%ae%9f%e9%9a%9b%e3%81%abbliss-os%e3%81%a7%e3%82%b2%e3%83%bc%e3%83%a0%e3%82%92%e9%81%8a%e3%81%b6&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;ゲームのインストールは、x86アーキテクチャをネイティブサポートするバージョンをおすすめします。Google Playが自動でフィルタしてくれるはずです。ARMアーキテクチャのAPKをインストールすると、システムは変換のために追加リソースを消費します。&lt;/p&gt;&#xA;&lt;p&gt;ゲームがエミュレーターを検出しなければ起動するはずですが、一部のゲームでは動画再生に問題があります。おそらくvirglrendererのbugです。起動メニューのDebuggingメニューで&lt;code&gt;hwcomposer.drm&lt;/code&gt;方式を使って起動してみてください。&lt;/p&gt;&#xA;&lt;p&gt;ゲームでマウスクリックが反応しない場合は、システム設定 → Blissify → Force Mouse Click as touchで、マウスクリックイベントを強制的にタッチクリックへ変換できます。このオプションを有効にするとマウスホイールが無効になる点に注意してください。&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_092527.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Bliss OSは「ゲームモード」を内蔵しており、システム設定 → Blissify → Gaming Modeで有効化できます。ユーザーがゲームアプリを開くと通知が自動で無効化され、スクリーンショットに便利なフローティングボタンが表示されます。&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_093522.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;一部のゲームはキーマッピングがないと操作できません。KernelSUを開いてXtMapperにRoot権限を付与できます。次にXtMapperを開き、サービスを有効化し、アプリを選択してキー割り当てを設定します。&#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://static.ivonblog.com/posts/bliss-os-qemu-installation/images/Screenshot_20231001_110952.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;また、&lt;a href=&#34;https://ivonblog.com/posts/android-qtscrcpy-usage/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;QtScrcpy&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;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/bliss-os-qemu-installation/images/CI61HuD.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;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Bliss OSトランスレーターの実力をテストするため、以下のゲームはすべてARM-v8アーキテクチャのAPKでテストしました。Google Playがインストールさせてくれない場合は、自分でAPKを探してください。&lt;/p&gt;&#xA;&lt;p&gt;《Fruit Ninja》、《Temple Run 2》は正常に動作します。&lt;/p&gt;&#xA;&lt;p&gt;次は《原神》です。Waydroidでは動くので、理論上Bliss OSでもいけるはずですが&amp;hellip; virglrendererがあまり安定せず、原神v4.1.0はシェーダーコンパイル時にクラッシュします。&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/84w8dIkHouU?si=TAVwbFKRDRYyUa9x&#34; allowfullscreen frameborder=&#34;0&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/iframe&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;もう一つの大型ゲーム《Tower of Fantasy》は、スクリプトなしで正常にゲームへ入れました。&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://t.me/Team_Bliss_Community&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Bliss OS的Telegram群組&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://docs.blissos.org/installation/install-in-a-virtual-machine/install-in-qemu/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Bliss OS: How to install Bliss OS on Qemu&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://docs.blissos.org/knowledgebase/troubleshooting/edit-grub-from-bliss-install/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;How to edit grub from your Bliss OS install&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://android.stackexchange.com/questions/249223/how-can-i-set-my-android-x86-uefi-installation-resolution-to-19201080-in-my-vm&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;How can I set my android x86 UEFI installation resolution to 1920*1080 in my VM? - Android Enthusiasts Stack Exchange&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/ja-jp/posts/bliss-os-qemu-installation/featured.webp" />
    </item>
    
  </channel>
</rss>
