まとめ
RaspberryPi Zero 2 Wでは性能的にかなり厳しいです。あきらめましょう。
なぜこんなことをしたのか
現在参加しているプロジェクトでRaspberryPi Zero 2 Wを使っているのですが、GUIアプリほしいという話になり、GUi作れるのが自分しかいなかったためです。
検証準備
早速、どんなことをしたのかを以下に書いていきます。
環境は以下の通りです。
- Avalonia UI 11.0.10
- .Net 8.0.2 (Arm64)
- RaspberryPi OS Lite (2024-03-15版)
- Composite出力の720 x 480モニタ
- 16GB microSD
また使用したコードはGithubで公開しています。
映像出力するために、Lite版にGUI機能を追加するという形式をとりました。
またデスクトップを開いただけでswap領域すら食いつくしたので、swap領域をデフォルトの100から1024にしました。
以下GUI機能追加についての参考サイトです。
さらに、.NETはarm64
バージョンを使用するのでパッケージマネージャが使えません。手動インストールです。
ちなみにZero 2 wでコンパイルするのは厳しかった(ビルドが永遠に終わらない)のでVisual Studioからlinux-arm64
でコンパイルしたのをRaspberryPiにコピーしました。
検証
デスクトップ画面すら起動させたくなかったので、startx {起動したいアプリのパス}
でGUIを起動させました。
アプリの起動自体は30秒ほどで終わりましたが、アプリの動作で困難を極めます。
さらに、ボタンを押したらテキストが変わる程度のアプリでもボタンを押した後の動作が極めて不安定でした(処理落ちして永遠にアプリの動作が復帰しない)。