2018/02/25 EmulationStationのバイナリの差し替え先を修正しました。すでにこの記事を元に差し替えを行った方は以下のエントリを参照して下さい。
eagle0wl.hatenadiary.jp
最新版のEmulationStationを日本語対応させた
既存のEmulationStationは2バイト文字を一切考慮しないワードラップなので、簡易的に実装したことがある。
eagle0wl.hatenadiary.jp
本ブログのコメントで最新版が出ていると教えてもらったので、GitHubをチェックして差分を取ってみたが自分が書いたコード以外に変更点はなかった。もう一度よく見てみたら、なんと大本のバージョンをベースにしていたのであった。
つまり、オリジナルのEmulationStation(Aloshi版)があって、私はこれをベースにして変更を加えていた。Aloshi版は2年以上更新されていない。一方で、このAloshi版をforkしたEmulationStation(RetroPie版)は随時更新され続けている。私はAloshi版ばかり見ており、このRetroPie版をずーっと見落としていたのであった。やられた!
だって、RetroPieのリンク先、emulationstation.orgを見ると、Aloshi版でビルドしているんですよ。でもRetroPieのwikiを見るとAloshi版をベースに云々という記載があった。まあ当然か…。
http://www.emulationstation.org/gettingstarted.htmlwww.emulationstation.org
ということで、最新版のEmulationStationに日本語対応の折り返し処理を実装した。ただし日本語固有の禁則処理は未実装、ラベル("Publisher:", "Developer:", "Released:" など)も日本語にはしていない。pull requestしたいので、折り返し処理のmuch better版のみにして、ローカライズは今は行わないことにした。
日本語対応版EmulationStationに差し替える
以下の作業は、メニューから "QUIT EMULATIONSTATION" を選択して、EmulationStationを終了させてコンソールが表示されていることを確認してから行うこと。
バイナリ版を直接ダウンロードする方法と、ソースからビルドする方法を用意した。どちらか好きな方を選んでほしい。
バイナリ版を直接ダウンロードする(推奨)
単に使いたい場合はこちらの手順を推奨(Raspberry Pi専用)。
wgetでバイナリを直接ダウンロードする。
$ cd ~/ $ wget https://github.com/eagle0wl/EmulationStation/releases/download/v2.6.2-mod/emulationstation $ chmod +x emulationstation
元のEmulationStationをリネームしてビルドした版に置き換える。
$ sudo mv /opt/retropie/supplementary/emulationstation/emulationstation /opt/retropie/supplementary/emulationstation/emulationstation.master $ sudo mv emulationstation /opt/retropie/supplementary/emulationstation/
再起動する。
$ sudo reboot
※元のEmulationStationに戻したい場合は以下の処理を行う。
$ sudo rm /opt/retropie/supplementary/emulationstation/emulationstation $ sudo mv /opt/retropie/supplementary/emulationstation/emulationstation.master /opt/retropie/supplementary/emulationstation/emulationstation
ソースからビルドする
ビルドのための下準備
$ sudo nano /boot/config.txt
gpu_mem=32
この1行を置き換えるか追記する。これを怠ると "out of memory" が出てEmulationStationのビルドに失敗する場合があるが、RPi2Bではこの追記を行わなくてもビルドできた。
ビルドに必要なライブラリをapt-getする。RetroPieのイメージを使った場合、最初から全部入っているはずなので新規インストールは発生しない(と思う)が、一応やっておく。
$ sudo apt-get install -y libudev-dev libasound2-dev libdbus-1-dev libraspberrypi0 libraspberrypi-bin libraspberrypi-dev $ sudo apt-get install -y libboost-system-dev libboost-filesystem-dev libboost-date-time-dev libboost-locale-dev libfreeimage-dev libfreetype6-dev libeigen3-dev libcurl4-openssl-dev libasound2-dev cmake g++-4.7
作業用フォルダを作ってからgit cloneする。
$ cd ~/ $ mkdir Dev $ cd Dev $ git clone https://github.com/eagle0wl/EmulationStation.git $ cd EmulationStation $ git submodule update --init (中略) Submodule path 'external/pugixml': checked out 'd2deb420bc70369faa12785df2b5dd4d390e523d' $ sudo cmake .
EmulationStationのビルドを行う。RPi2Bでは1時間かかった。
$ sudo make (中略) [100%] Built target emulationstation
ビルドに成功すると上記のメッセージが出る。
EmulationStationのバイナリが生成されたので、元のEmulationStationをリネームしてビルドした版をコピーする。
$ sudo mv /opt/retropie/supplementary/emulationstation/emulationstation /opt/retropie/supplementary/emulationstation/emulationstation.master $ sudo mv emulationstation /opt/retropie/supplementary/emulationstation/
再起動する。
$ sudo reboot
※元のEmulationStationに戻したい場合は以下の処理を行う。
$ sudo rm /opt/retropie/supplementary/emulationstation/emulationstation $ sudo mv /opt/retropie/supplementary/emulationstation/emulationstation.master /opt/retropie/supplementary/emulationstation/emulationstation
既知の問題
carbon-mod のパス指定ミスを発見した。後で直す。
2018/02/25 直しました
他にももう少し見直す必要がありそうだ。ひとまずこんな所で。