2012年09月21日

Raspberry Piオーバークロックの効果

物は試しですので、Raspberry Piのオーバークロックを体験してみました。

raspi-configを起動し、updateを選ぶとraspi-configがアップデートされてオーバークロックのメニューが出ます。
ノーマルの700MHzから、Turboモードの1GHzまで選択が可能です。

せっかくですので1GHz行ってみました。

長時間使えたわけではないのですが、確かにkrdcでリモートデスクトップを使ったり、PCSXのエミュレーションをしたりすると、高速になっているのを実感します。
もともと実用ぎりぎりレベルだったkrdcは、「まあ我慢すれば意外と使えそう」というレベルに到達。
PCSXはFrame Skipを1にすれば、フルスピードではないけれどもそれなりに遊べる感じになりました。


というようにご利益は確かにありますが、リスクもまたあります。

このオーバークロック状態で、sudo apt-get upgradeしていたら、なんと/bootの下に書き込んでいる最中にハングアップしてしまい、起動しなくなってしまいました。

修復をかけるのも面倒そうなので、9月18日リリース版のイメージをダウンロードし、新しいSDカードにクリーンインストールしましたが…追加のパッケージのインストール作業はやりなおしになります。

SDカードが飛んだのがオーバークロックのせいとは限りませんが、まあ注意するに越したことはないようです。
Debianパッケージの追加インストールくらいで済めばよいですが、オリジナルのコンテンツの場合はSDカードに置きっぱなしは危険です。
こまめにUSBメモリにバックアップするとか、いっそ/homeはファイルサーバ上に置いてNFSでマウントするほうが良いかもしれませんね。
posted by boochow at 01:42| Comment(0) | Raspberry Pi | このブログの読者になる | 更新情報をチェックする

2012年09月20日

raspbianの新版(2012-09-18版)はオーバークロックが可能に

raspbianの新しい版が公開されました。既にダウンロードページに掲載されています。

Introducing turbo mode: up to 50% more performance for free | Raspberry Pi

変更点として、raspi-configでオーバークロックの選択が可能になったそうです。

Comparing the new image with 1GHz turbo enabled, against the previous image at 700MHz, nbench reports 52% faster on integer, 64% faster on floating point and 55% faster on memory.

「新しいディスクイメージと1GHzターボの組み合わせを、以前のイメージと700MHzの組み合わせと比較すると、nbechで整数演算が52%高速化、浮動小数点演算が64%高速化、メモリアクセスが55%高速化している」だそうです。

700MHzから1GHzだと、確かに概ね5割増にはなりますね。
発熱がひどくなるのは間違いないですし、万一壊れたとき代品を入手するのに時間がかかりそうなのが心配ですが、画面から簡単に変更ができるのは便利ではあります。

そのほか、新イメージでは

・CPU温度、CPU周波数表示のガジェット
・USB割り込み周期の改善により、10%高速化
・WiFi設定GUIツールを標準搭載
・アナログ音声出力の音質改善
・SmartSimとPenguinsPuzzleをプリインストール

が変更点だそうです。
SmartSimは回路シミュレータのようです。

posted by boochow at 00:31| Comment(0) | Raspberry Pi | このブログの読者になる | 更新情報をチェックする

2012年09月16日

Raspberry PiのGPU等のデモ

DSC_5489.jpg

raspbianに入っている、Raspberry Piのハードウェアをデモンストレーションするためのサンプルソフトを動かしてみました。
場所は
/opt/vc/src/hello_pi
で、動画再生やグラフィックス等のデモが入っています。
本家のQuick start guideにも載っているのですが、今まで動かしたことがありませんでした。
さすがに専用に作っただけあって、Raspberry Piのハードウェアの能力を判りやすく示してくれます。

なお、「hello_triangle2」だけは1920x1200では動作せず、1280x800にしてみたら動作しました。
このデモはマウスの動きに合わせてマンデルブロ集合の絵を表示させるもので、なかなか面白いです。

というわけで、私のようにまだこれらのデモを動かしたことがない方は、一度動かしてみることをお勧めします。

posted by boochow at 01:53| Comment(0) | Raspberry Pi | このブログの読者になる | 更新情報をチェックする

2012年09月14日

Raspberry PiでPlayStationエミュレータを動かす

DSC_5488.jpg

RPiでプレステのエミュレータを動かしている記事を見かけたので、試してみました。

Better PlayStation Emulation on the Raspberry Pi | Shea Silverman's Blog

Windows用のエミュレータのPCSXをARM Linuxに移植したもののようです。

上記のページにあるリンクから、pcsx_rearmed.zipをダウンロードします。
これをUSBメモリか何かでRPi上に持って行き、解凍します。
また、実行ファイルのExecuteビットが消えてしまっているので、chmodします。

 unzip -x pcsx_rearmed.zip
cd pcsx_rearmed/
chmod +x ./pcsx
起動は
./pcsx
ですが、現状では、サウンド出力がうまく動かないようです。
そこで、サウンドのプラグインをNULLに設定します。

起動後、メニューからOptions→[BIOS/Plugins]と選択し、SPU Pluginのところでカーソルキー左右で「spunull.so」を指定してください。

あとは、PlayStation用ソフトのCDROMイメージ(ISOファイルなど)を指定すればゲームを起動できます。
エミュレータのキー操作は、初期状態では
・v, c    … Select, Start
・カーソル  … 上下左右
・d, s, z, x … コントローラ右側の4つのボタン
・w, e, r, t … L1,L2,R1,R2
となっています。

昔は、この手のエミュレータはPlayStationのBIOSのイメージファイルが必要だったものですが、このエミュレータは互換BIOSが入っていて、大抵のゲームは動くようです(一部のゲームは正規のBIOSが必要とのこと)。


エミュレーション能力ですが、RPiの性能から想像していたよりも結構速くて、少し驚きました。
フルスピードとは行きませんが、そこそこ遊べる程度の速度で動いてくれます。
PlayStationはCPUは確かMIPSの33MHzくらいでしたので、700MHzのARMでエミュレートはできないことはないかもしれませんが、グラフィックのほうはRPiのGPUの3D機能も使っているのかもしれません。


音が出ないのは残念ですが、問題はRPiのサウンドドライバとの組み合わせにあるようです。
手持ちの古いUSB Audioアダプタを接続してみたところ、遅延やブツ切れはひどいものの、音はちゃんと出ました。

USBサウンドアダプタのドライバは自動認識されますが、先に認識されているRPi側のデバイスが優先されてしまいますので、
sudo modprobe -r snd_bcm2835
で強制的にデバイスを外してUSB Audioのほうを使わせます。


ちなみに、このエミュレータは画像・音関係はSDLを使っているらしく、X Windowなしでも動作します。
ただし、コンソールから起動してエラーになると、コンソールが使えなくなってしまう可能性が高いので、動作が確認できるまではX Window上で動かすことをお勧めします。

posted by boochow at 01:59| Comment(0) | Raspberry Pi | このブログの読者になる | 更新情報をチェックする

2012年09月10日

Raspberry PiをWindowsのシンクライアントにしてみる

RPiは、RAMも少ないしCPUも弱いので、まともなWebブラウザひとつ使うのも結構辛い感じですが、VNCクライアントとしてWindowsを使うならばどうか? と思って試してみました。

VNCは、ネットワーク越しに画面とキーボードやマウスの入力を送受信することで、他のコンピュータを操作するツールです。
Windowsのリモートデスクトップが汎用の仕組みになったようなものです。
RPiは画面表示に専念することになりますので、RAMが少ないことはあまり問題ならないと思われます。

raspbianで利用できるVNCクライアントとしては、xtightvncviewer、gtkvncviewer、gvncviewerなどがあります。
VNCクライアントとしての動作自体には大きな違いはありませんが、GtkなどのGUIツールキットを使ったソフトは、関連ライブラリを読み込むためか、起動はちょっと重たい感じがします。

まず普通のVNCクライアントとして、TightVNCを使ってWindowsを操作してみます。
これはX Window上で動作するソフトで、
sudo apt-get install xtightvncviewer
でインストールします。

操作される側のPCには、VNCサーバをインストールする必要があります。
実は、意外にパフォーマンスに影響が大きいのは、Windows側にインストールするVNCサーバです。

VNCサーバは、UltraVNCRealVNCを試してみましたが、どちらかというとRealVNCのほうが良さそうな感じです。
画面の広い範囲を書き換えるのは遅いのですが、文章を書いたりする場合には反応が早いと感じました。

TightVNCの起動は
vncviewer
です。

起動するとサーバのIPアドレスを聞かれますので、WindowsマシンのIPアドレスを入力します。
パスワードはWindowsのログオンパスワードです。

使ってみた感じ、テキストで書き物をする程度ならば、まあ使えなくはないかと思います。
ウインドウを切り替えるような、大幅な画面書き換えはかなり遅いですが、テキスト編集程度であれば我慢できる速度です。
動画などは、もちろん紙芝居状態になります。


このほか、krdcというソフトもあります。
これはVNCのほかに、WindowsのRemote Desktop Protocolにも対応しています。

Remote Desktopで試してみたところ、反応はVNCよりも良好で、画面の更新が早く感じられます。
また、X Windowのクリップボードの内容をWindows側へペーストすることが出来るのも便利です。
RDPでは音声をクライアント側(RPi側)から出力させることもできるのですが、さすがに処理が追いつかないのか、ノイズだらけで使い物になりませんでした。

大量のライブラリがリンクされているため、インストールにかなり時間がかかりますが、リモートでWindowsに接続させたいなら、試してみる価値はあるソフトだと思います。


以上のソフトはX Windowの中の1つのウインドウの中でVNCが動作することになりますが、X Windowを立ち上げず、画面全体をVNC専用にしてしまう方法もあります。

それには、DirectFBで動作するdirectvncを使います。

X Windowを使わないからといって、大幅に高速になるわけではありませんが、起動に手間がかからず、お手軽ではあります。

directvncを使用する場合は、DirectFBの設定が必要な場合があります。
DirectFBの画面解像度は/etc/fb.modesに設定があり、この中から選択できますが、私が使っている1920×1200という設定が入っていませんでした。

コンソール自体が1920×1200で動作していますので、この状態をfb.modesに追記します。
fbset
を実行すると
mode "1920x1200"
geometry 1920 1200 1920 1200 16
timings 0 0 0 0 0 0 0
rgba 5/11,6/5,5/0,0/16
endmode

という出力が得られますが、これを/etc/fb.modesに追記してやればOKです。
簡単には
sudo fbset >> /etc/fb.modes

となります。

そして、このモードを使用するようにDirectFB用の設定ファイルを書きます。
設定ファイルは$HOME/.directbrcです。

私は以下のように設定しました。

mode=1920x1200
depth=16
hardware
vsync-none

ただしハードウェアアクセラレーションは効いてないような気がします。

以上の設定に加えて、さらに/dev/tty0の読み書きができるようにする必要があります。

sudo chmod go+rw /dev/tty0

これでようやく起動できます。

directvnc ipaddr -p password -m xxx -b 16

xxxのところは、存在しないファイルを指定してください。
本来はキーボードマッピングを記述したファイルを指定する箇所ですが、何も指定しないとエラーになってしまうので、ダミーで指定しています。


この記事はWindowsにRDP接続したRaspbery Piで書いてみました。
なかなかしんどいところもありますが、全く無理と言うわけでもない…と思いました。

posted by boochow at 00:28| Comment(0) | Raspberry Pi | このブログの読者になる | 更新情報をチェックする
人気記事