I. 機器選定とコア要件
私はバックエンド開発者です。以前レンタルしていたリモートサーバーは古く、性能が不足しており、セルフホスティングのニーズを満たさなくなっていました。そこで、明確なコア目標を持ってZimaboard 2 1664を購入しました。第一に、アプリケーションの展開、データ管理、リモート接続のために完全構成済みでバックアップ対応のセルフホスト型ホームサーバーを構築すること。第二に、コアサーバーの使用に影響を与えず、ハードウェアのアイドル性能を活用してプラグアンドプレイのレトロゲームコンソールに変換し、二重の機能を実現し、実用的な技術ニーズと日常の娯楽を両立させることです。
II. セルフホストサーバーのセットアップ手順
システム選択とインストール
機器を入手後、まずZimaboard 2に付属していたZimaOSを試しました。操作が簡単でリモートアクセスも便利でしたが、NASシステムの不変性が後のアプリケーション展開を大きく制限しました。使用習慣に基づき、最終的に旧サーバーと同じシステムで互換性の高いFedora Serverに切り替えました。インストール時はチュートリアルのUSBブートディスク作成ツールのみを置き換えました。Fedora Serverの組み込みローカルWebUIとターミナルを使い、SSH設定とセキュリティ強化前の初期ステップを簡単に完了。全体のインストールは非常にスムーズに進みました。
ストレージとバックアップ設定
サーバーの適切なデータバックアップを確保するため、予備のハードドライブ2台をBTRFSファイルシステムとしてフォーマットしました。このシステムはLinuxカーネルに統合されており、スナップショットをネイティブにサポートし、高い安定性を持ち、セルフホストサーバーのバックアップニーズに完璧にマッチします。また、サーバーの安定稼働のための信頼できるストレージ基盤も提供します。
コアサービスの展開
日常使用ニーズに応えるため、Dockerを使ってサーバー上に完全なセルフホストサービスを構築しました。個人の音声・映像資源を一元管理するメディアサーバーとしてJellyfin、いつでもどこでもファイルにリモートアクセスできるプライベートクラウドドライブ構築用のFilebrowser、作業や学習に便利なブックマークとノート管理用のKarakeepです。また、将来の友人とのオンライン娯楽や家族のPC・モバイル機器のサポートに備え、MinecraftとRustDeskサーバーの展開スペースも確保しました。
ネットワークと監視設定
リバースプロキシには通常使っているTraefikからGodoxyに切り替え、Tailscaleと組み合わせてローカルサーバーと元のリモートサーバー間の相互接続を実現し、ホームネットワークの露出を効果的に回避しました。さらに、Godoxyには組み込みの監視ダッシュボードがあり、サーバーのCPU、メモリ、温度、ディスクなどの状態をリアルタイムで確認でき、サーバー管理の効率が大幅に向上しました。

III. レトロゲームコンソール改造:オンデマンド起動/停止、サーバー干渉なし
改造の3つのコア原則
ゲーム機能とサーバー機能が干渉しないように、私は3つのコア原則を設定しました。①システムリソース消費を避け軽量なサーバー運用を確保するため、フルデスクトップ環境はインストールしない。②ゲーム機能はオンデマンドで起動・停止し、未使用時は関連プロセスをすべて自動終了してハードウェア性能の無駄を防ぐ。③操作は簡単にし、技術的知識のないルームメイトでも私の助けなしに独立して使えるようにする。
コアアイデアとツールの組み合わせ
改造全体のコアアイデアは複雑ではありません。ネイティブLinuxツールとオープンソースのゲームソフトを活用し、HDMIの抜き差しで自動的にゲームサービスの起動・停止を実現しました。テレビのHDMIケーブルを差し込むとゲームのグラフィカルインターフェースが自動起動し、HDMIケーブルを抜くと即座にゲームプロセスがすべて終了し、純粋なサーバー状態に戻ります。完全自動化で手動操作は不要です。選んだツールは役割が明確で、すべて成熟したオープンソース製品で設定も簡単です:
- udevルール + カスタムShellスクリプト:HDMIケーブルの抜き差しを検知し、対応するサービスの起動・停止コマンドをトリガーする役割。
- systemdサービス:ゲームセッションの秩序ある起動と正常終了を管理し、プロセス残留がサーバーに影響しないようにする。
- Gamescope:軽量なWayland合成器でゲーム画面のスケーリングを最適化し、古いゲームを1080Pテレビ解像度に完璧に適応させる。
- ES-DE + Retroarch:ES-DEはゲームライブラリのフロントエンドとして、コンソールカテゴリ別のゲーム管理や自動でゲームカバーや説明を取得。Retroarchは多様なレトロゲームコンソールエミュレーターを扱い、ゲームコントローラーの自動設定も行い非常に使いやすい。
実践的な設定手順
1. 権限設定:ゲームサービスを実行する通常ユーザーをinput、video、audio、seatなどのユーザーグループに追加し、Waylandセッションが正常に作成できるようにseatサービスを有効化し、ゲーム機能の権限を準備。
2. 検知とトリガー設定:udevルールファイルを作成し、HDMIの抜き差し検知条件を定義してカスタムシェルスクリプトをトリガー。スクリプトにはHDMI接続状態を判定するロジックを含め、HDMI接続状況に応じてユーザーレベルのsystemdゲームサービスを自動起動・停止させる。
3. ゲームサービス設定:ユーザーレベルのsystemdサービスファイルを作成し、GamescopeでES-DEを起動するコアコマンドを定義。異常なゲームプロセス残留を防ぐため「正常終了+強制終了」の二重ロジックを設定。
4. 依存関係のインストール:Intel統合グラフィックス、ゲームパッドドライバー、Gamescope、Retroarch、ES-DEなどの必要なハードウェアドライバーとソフトウェアを一括インストールし、ハード・ソフトの完全な互換性を確保。
5. 設定の有効化:udevルールをリロードし… systemdサービスをインストールして、レトロゲームコンソールの改造は完了。ゲーム機能の起動・停止は完全に自動化されました。
IV. 最適化とデバッグ:ゲーム体験とサーバー安定性の両立
専用のゲーム体験最適化
よりスムーズなレトロゲーム体験を実現するため、Wii/NGCゲーム向けに特別な最適化を行いました。Retroarch経由でDolphinエミュレーターを動かすのをやめ、Libretroレイヤーの性能オーバーヘッドを減らすために独立起動に切り替え。Dolphinの設定ファイルを調整してゲームのアスペクト比とレンダリングロジックを最適化。Gamescopeの起動パラメータを更新し、FSRスケーリングを有効にして1080pテレビで最適な画質を実現。テストではGPU使用率が70~80%に収まり、室温20℃環境で最高温度は55℃のみ。公式ファンで冷却性能は十分で、過熱によるサーバーへの影響なく快適にプレイできました。

実践的なデバッグ手法
改造過程で、簡単かつ効率的なデバッグ手法もまとめました。これらは改造中の問題解決だけでなく、Retroarch管理外のエミュレーターにも対応可能です。journalctlコマンドでudevイベントログをリアルタイムに確認し、HDMI状態変化イベントを手動でトリガーしてルールの有効性をテスト。udevルールを一時的に外し、SSHで接続してゲームプログラムを手動起動し、コントローラー設定を個別に調整。デバッグ後はルールを復元して自動運用モードに戻す。操作はシンプルで効率的です。
V. 最終結果:二重機能でハードウェアの潜在能力を最大限に活用
一連のセットアップと改造を経て、私のZimaboard 2はサーバーとレトロゲームコンソールの二重機能を完璧に実現しました。日常使用では低消費電力で安定したセルフホストサーバーとして、アプリケーション展開、データバックアップ、リモートアクセスなどのコアタスクを静かに処理します。性能は Intel N150 チップが日常の作業負荷にぴったりです。アイドル時にはテレビのHDMIケーブルを差し込むだけでゲームインターフェースが自動起動し、PS1やWiiなどのクラシックなレトロゲームを楽しめ、ローカルマルチプレイもサポート。HDMIケーブルを抜くと即座にゲームプロセスが終了し、純粋なサーバーモードに戻るため、両者の干渉はありません。


このZimaboard 2のセットアップと改造により、ハードウェアの潜在能力を存分に引き出し、Linuxシステムの柔軟性とオープンソース技術の魅力を改めて体感できました。小さな開発ボードは決して単一のニーズに限定されるものではなく、自分の使用シナリオと組み合わせて挑戦と実験を恐れなければ、より大きな価値を解き放つことができます。
コミュニティに参加して、さらに役立つコンテンツを手に入れよう!
IceWhale Discordコミュニティへようこそ!より詳細なセットアップチュートリアル、ユーザー事例、製品アップデートを随時公開し、デジタル世界を簡単にナビゲートし、あらゆる情熱にぴったりのハードウェアプラットフォームを見つけるお手伝いをします。

