Sep 23, 2008

Yellow Dog Linux on PS3 で GL Excess / Ruby


暇なので Yellow Dog Linux on PS3 を整備して遊んでいました。 以下に GL Excess / Ruby を動かすまでの作業をメモしておきます。
  • root で作業してください。
  • Yellow Dog Linux 6.0 は PS3 にインストール済みであるとします。
まずは /etc/X11/xorg.conf を編集。 GLX 拡張をロードするため、"Module" セクションに次のように追記します:
Section "Module"
       Load  "dbe"
       Load  "extmod"
       Load  "fbdevhw"
       Load  "freetype"
       Load  "type1"
       #Load   "dri"
       Load  "glx"  # ←この行を追記
EndSection
X Window が起動中の場合、編集終了後にを再起動を (Ctrl+Alt+Backspace)。まだ起動していないなら startx を。問題なく起動することを確認してください。
次に freeglut のインストール。パッケージ化されているのですぐに終了します:
[root@localhost ~] yum install freeglut
...
[root@localhost ~] yum install freeglut-devel
続いて Ruby 1.9.0-4 をビルド&インストール。すでに Ruby 1.8.5 がインストールされているので、ここでは Ruby 1.9 の関連プログラムが ruby19 や gem19 といった名前となるよう、--program-suffix で指定しています:
[root@localhost tmp] wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.9.0-4.tar.bz2
...
[root@localhost tmp] tar xvjf ruby-1.9.0-4.tar.bz2
...
[root@localhost tmp] cd ruby-1.9.0-4
...
[root@localhost ruby-1.9.0-4] ./configure --program-suffix=19
...
[root@localhost ruby-1.9.0-4] make && make install
ここまでで /usr/local/bin/ruby19 や /usr/local/bin/gem19 などが利用できるようになっています。 あとは ruby-opengl のインストール。ソースパッケージのダウンロード、ビルド、拡張ライブラリのインストールが自動的に実行されます:
[root@localhost ~] gem19 install ruby-opengl
GL Excess / Ruby を動かしてみます。一般ユーザーに戻って作業しても OK です。
[lt140@localhost tmp] wget http://sites.google.com/site/ltsevenscore/archives/glxsruby-20091223.7z
...
[lt140@localhost tmp] 7z x glxsruby-20091223.7z
...
[lt140@localhost tmp] cd glxsruby
...
[lt140@localhost glxsruby] ruby19 glxs.rb -s 9
写真は PS3 上の X Window で動く GL Excess / Ruby。 GPU Acceleration が効かないので遅いです。酔狂もいいところ。 ちなみにディスプレイは BRAVIA 。遊び道具をありがとうございます>ソニーグループ御中



Yellow Dog Linux 6.0 on PS3 : 設定等のメモ


ランレベルは 5 から 3 に変更

/etc/inittab を開いて、
id:5:initdefault:
となっている行を以下に変更する:
id:3:initdefault:

Fluxbox ウィンドウマネージャを導入

メインメモリ 256MB のマシンに Enlightenment, GNOME は厳しいので。
[root@localhost tmp] wget http://prdownloads.sourceforge.net/fluxbox/fluxbox-1.0.0.tar.bz2
...
[root@localhost tmp] tar xvjf fluxbox-1.0.0.tar.bz2
...
[root@localhost tmp] cd fluxbox-1.0.0
...
[root@localhost fluxbox-1.0.0] ./configure
...
[root@localhost fluxbox-1.0.0] make && make install
...
インストール終了後は ~/.Xclients に以下の 1 行を記述する:
/usr/local/bin/fluxbox
これで startx 直後に Fluxbox が起動される。

各種サービスを off に

サーバ用途として利用するつもりがないので、 sendmail などの不要なサービスを起動しないように設定:
[root@localhost ~] chkconfig --level 35 sendmail off
...
DHCP で取得した情報が上書きされてしまうように見えたので、 NetworkManager, NetworkManagerDispatcher も起動しないように設定。
[root@localhost ~] chkconfig --level 35 NetworkManager off
...
[root@localhost ~] chkconfig --level 35 NetworkManagerDispatcher off
...

ゲーム OS での再起動は ps3-boot-game-os

[root@localhost ~]$ /usr/sbin/ps3-boot-game-os