Dreaming in Greater Boston

M1 MacBook上にUbuntu+RetroArchを入れる

1 はじめに

年末の休みを使ってMacBook Pro15インチ上にUbuntuを入れ、更にRetroArchをセットアップし てみました。これまでRedHat系ばかりでしたが、Ubuntuはどうでしょうか。

2 環境構築

2.1 Ubuntuインストール

2.1.1 Ubuntu最新LTM版のダウンロード

  • ubuntu ARM downloadなどで検索してARM版のisoイメージを探します。現在の最新安定版は20.04.01 LTSのようです。ARMはなぜかデスクトップ版が無いのでサーバー版を選びます。ubuntu-24.04.1-live-server-arm64.iso

2.1.2 VM作成

  • UTM > + > Virtualize > Linux > Boot ISO Image > Browse…
    • 今回はUse Apple Virtualizationを外したままにしました。Apple Virtualizationが原因でRetroArchで音が出なくなるという書き込みを見た気がします。
  • ISOイメージ選択 > Continue > (メモリサイズ4GB、ドライブも64GBのまま) > Save

2.1.3 Ubuntuインストール

  • Run VM > Try or Install Ubuntu Server > (wait) > English
  • > Continue without updating > (keyboard) Done
  • > (Ubuntu Server) Done > (Network) Done > (Proxy) Done
  • > (Mirror) Done > (Use an entire disk) Done > (file system summary) Done
  • > Continue > your name, server name, username, passwordいれる > Done
  • > Continue > check Install OpenSSH server > Done > (server snaps) Done
  • > Begin Installation > (wait) > (Installation complete!)
  • > UTMウインドウからeject ISO > Reboot Now

2.1.4 デスクトップ版インストール

サーバー版なのでGUIではなくCUIのログインコンソールで立ち上がってきます。ここを参考にGUIを入れたりします。先人がいてよかった。ありがとうございます。

  • リンク先のページを見ながら、まずは未使用ストレージ領域を使用できるようにします。
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
  • デスクトップ版のインストール
sudo apt install ubuntu-desktop
(ひたすら待つ)
poweroff
  • boot VM > (割と待つ) > GUI画面からログイン
  • ブート高速化の おまじない をやっておきます。
sudo vim /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service 
  • ExecStart=/lib/systemd/systemd-networkd-wait-online の行を探して、 --timeout=5 を追記します。
ExecStart=/lib/systemd/systemd-networkd-wait-online --timeout=5 
  • このあたりでpoweoffし、VMのクローンを取っておきましょう。

2.1.5 ネットワーク変更

なぜか、最初から変更しておくと、途中で黒画面のままブートしなかったり、ログインできなかったりする(気がする)ので、VMクローンを取った後にやります。

  • right-click vm > Edit > Network > Newtwork Mode: Bridged (Advanced) > Save
    • デフォルトのままだとIPは192.168.64.xxとなり、外にsshできません。。。
  • 無事にブートしてGUIログインできたら、オプションでIPを固定します。

2.1.6 ssh keyのインポート

MacBookからUbuntuに、パスワード認証無しでsshで入れるように、ssh keyをVMにインポートします。これをやっておくと、trampモードを使って、ホストのMacからVM上のファイルをemacsでシームレスに編集できるようになります。

  • まずは、VM上で sshd が動いていることを確認します。
ssh localhost
exit
  • 次にホストであるMacBookからVMにsshできることを確認します。最初はパスワードを聞かれます。
ssh <user>@<VM IP>
  • ホストからsshキーをインポートします。<id_rsa>はプライベートキーを指定します。
ssh-copy-id -i <id_rsa> <user>@<VM IP>
  • 無事に、パスワード認証無しで ssh できることを確認します。
ssh <user>@<VM IP>

2.1.7 OSを最新にする

sudo apt update
sudo apt upgrade
poweroff
  • VMのクローンを取ってブート

2.2 RetroArchインストール

RetroArch公式サイトのLinuxインストール のページにUbuntuでのインストール手順が書いてあるので、そのままコピペして実行します。

sudo add-apt-repository ppa:libretro/stable && sudo apt-get update && sudo aptget install retroarch

長々と走ってインストール完了します。

2.2.1 Coreインストール

ここで、RetroArch上からCoreをダウンロードしようとすると何も起きません。それもそのはず、ARM64向けのcoresは用意されていないからなのでした。そこで、aarch64 core retroarchで検索すると、ビルド済みのcoreが(たくさん)置いてある ありがたいページ がヒットするので、こちらのaarch64ディレクトリからcoreをダウンロードします。

これをunzipしたものを /usr/lib/aarch64-linux-gnu/libretro/ にコピーします。注意点として、なぜかここ以外のディレクトリからcoreをロードしようとしても失敗します。

sudo cp <core>_libretro.so /usr/lib/aarch64-linux-gnu/libretro/

2.2.2 動作確認

あとは、合法的/自己責任で入手したROMをロードして実行するだけ。うまく動きましたか? ちゃんと音は出たでしょうか。

3 Ubuntuの感想

全般的に気が利いていて使い勝手が良いように思います。以下、RockyLinux9.4との比較になりますが。。

  • GUIの色使いは若干押し付けがましい
  • 文字やアイコンがクリスピーで読みやすい
  • フルスクリーンにしても単に拡大するのでなく、解像度の変化で追従する
  • スリープから復帰したときに時計が合っている(chrony.confを変更しなくても)
  • ネット上に情報がより多い

4 おわりに

以前、一度Ubuntuを試したときはGUIの色使いのクセが嫌で使用を断念しましたが、なかなか使い勝手がよいことがわかりました。特に画面のクリスピーさは使っていて気持ちが良いです。

RetroArchについてはあまり書くことがありませんが、ゲームパッドとHDMI出力の購入を検討しています 笑。どうせ、ゲームする時間は無いのですけどね。

Rocky Linuxではどうしても音が出ない問題が解決できずにRetroArchの使用を断念しましたが、今度、Apple Virtualizationを無効にして試してみたいと思います。dnf updateでOSが起動しなくなる問題は解決したのかなぁ。