最近使い道のないRasberry Piをどうしようか迷っていたところ、これでレトロゲームを遊べるんじゃないかと思って調べてみると、RetroPieというものをインストールすればできるようになるとのこと。
ただ、その導入で一日費やすほどどん詰まりになってしまったので、発生した問題と解決方法をまとめておきます。
目次
作業環境。
今回の機種は、Raspberry Pi 3 Model B Rev 1.2を使用しています。
また、すでにRaspbian OSをインストール済みであったため、RetroPieを追加でインストールする形を取りました。
起動時にコンソールが出る&音が出ない。

RetroPieインストール後にラズパイを再起動すると、上記写真のようなコンソール画面に飛んでしまいます。
1 2 3 4 |
lvl0: Error creating SDL window! Could not create GLES window surface) lvl0: Renderer failed to initialize! lvl0: Window failed to initialize! |
本来なら、Emulation Stationというゲーム選択画面に、すぐ飛ばないといけないはずです。
ひとまず「exit」と入力してエンターを押すことで抜け出せるのですが、これではいちいち面倒です。
そもそもエラーくさいのが出ているので、どこかに影響を与えていそうです。

また、ゲームを起動したときにもエラーが出ます。
1 |
lvl0: VolumeControl::init() = Failed to find mixer elements! |
このエラー文が上の写真のように一行だけのときもあれば、何行も出てくるときもあります。
そして何行であろうが、このあとゲームが起動するのですが、どのゲームでも音が全く鳴らない状態です。
音量設定を行っても、勝手に0に戻る状態です。
どちらのエラーも、同じエラー文で検索すれば報告例はいろいろ見つかるのですが、私の環境の場合だと、いずれのサイトを参考にしても、全く解決になりませんでした。
よって結局、RetroPieを初めからインストールし直すしかありませんでした。
といっても同じことを繰り返すのではなく、上記サイトを参考に、RetroPieがすでに導入済みのRaspbian OSのイメージを使って、OSの再インストールを行うことにしました。
すると、起動時のエラーも音のエラーも発生しなくなり、無事に解決となりました。
なお、RetroPie組み込み済みのRasbpian OSだと、いつものGUIデスクトップが起動できないことが判明したので、上のリンクの手順に従ってデスクトップをインストールしてみたのですが、その場合もRetroPieで音が鳴らなくなってしまいました。
よって、RetroPieを組み込んだらデスクトップは諦めたほうがよさそうです。
VNCで接続しても画面が出ない。
Cannot currently show the desktop
WindowsからGUI上で遠隔操作したかったのですが、RetroPie起動中にVNC接続しても、上記のエラーが出てしまい、ラズパイの画面が見えません。
How to play with RetroPie through VNC? : RetroPie
これに関してはraspi-configから有効にできるVNCを使うのではなく、上記redditにあるコードを実行して、dispmanx_vncserverというのを使えばOKでした。
(標準のVNCはあらかじめ無効にしておくこと。)
追記
もっと楽ちんで遅延も少しは軽減される良い方法がありましたが、こちらは取り消し線を入れた状態で残しておきます。
VNCがすぐに途切れる。
RFB protocol error: bad xrle data
いざVNCでRetroPieの画面が見えるようになっても、切断と接続をひたすら繰り返しており、まともに操作できません。
“bad xrle data” · Issue #22 · hanzelpeter/dispmanx_vnc
VNC Viewerというアプリを使っている場合、プロパティからPicture QualityをAutomatic以外にすればOKでした。
追記。
こちらもVNCの設定手順を変えることで途切れなくはなったので、打ち消し線の状態にしておきます。
VNCで接続しても画面が出ない。(改訂)
Cannot currently show the desktop
WindowsからGUI上で遠隔操作したかったのですが、RetroPie起動中にVNC接続しても、上記のエラーが出てしまい、ラズパイの画面が見えません。
こちらの手順に従って、ラズパイ標準のVNCのコンフィグファイルに、追記を行うだけでOKでした。
/root/.vnc/config.d/vncserver-x11
ファイルの場所。拡張子のないテキストファイルです。
SSHからのテキストファイル編集が苦手なら、FTPから好きなエディタを使って編集してもOK。
1 2 3 4 |
Authentication=VncAuth CaptureTech=raspi ExperimentalRaspiCapture=1 ServerPreferredEncoding=JPEG |
編集後、ラズパイを再起動すれば反映されます。
画面が乱れる。
PCモニターに接続しているときは問題なかったのですが、準備を終えていざ居間のテレビに差し直してみると、なんか緑がかったノイズが画面全体を覆ってしまっています。
原因として、raspi-configにおいての解像度設定があっていないため、

もともとDMTの1920×1080を選んでいたのですが、居間のテレビはそれよりも解像度が小さく、なおかつテレビの場合はDMTではなくCEAを選ばないといけません。
よって、CEAの1280×720に切り替えることで、ノイズがなくなりました。
余談ですが、もう10年も前の古いテレビなので、解像度は1366×768という半端なサイズです。
そのためなのか、周囲に黒帯が出てしまうのが気になるところ。
そもそも、テレビ番組を見る際もチューナーを通じてHDMI出力で見ているため、テレビに”テレビ”としての機能はいらないんですよね…。
32型で、なおかつ”テレビ”としての機能がない1920×1080のモニター、安く売ってないですか?
SSHからEmulationStationを再起動するコマンド。
ただゲームを入れ替えたあとなど、時間のかかるrebootをするほどでもないときに。
1 |
sudo systemctl restart autologin@tty1.service |
その他カスタムについて。
他のことも混じっているのですが、日記の方に書いちゃったので、とりあえずリンクしておきます。
テーマのカスタムの方法とか。