時には立ち止まってみるのもいいよ

仕事の合間の息抜き。やってることは仕事と同じ。

Raspberry PI2 でPCゲームをリモートプレイするのだ

ここに記事を書くのは久しぶりだ。。

忙しくて書いてる暇がなかったからなんだけど、時間ができて速攻GTX960を買ってFF14がPS4からPC版に移行したのは我ながらアホだと思う。

ついでに言うとサーバもAlexからShinryuに移動しますた。

 

というわけで、最近のGeForceでしかできないGameStreamという機能を使ってみようというのが今回の試みである。

 

GameStreamってのは、要するにPS4 → PSVitaで言うところのリモートプレイのことですな。

GeForceドライバと一緒にインストールできる、GeForce Experience(GFE)っていうのを使って、PCのゲームを実行してレンダリングした画面をGeForce内蔵のH.264エンコーダでよその端末にストリーミング配信する、っていう機能である。もちろん、リモート端末からゲームコントローラやマウス・キーボードで操作できる。

 

もともとはnVidia謹製のSHIELDってゲーム端末向けの機能のはずなんだが、通信プロトコル自体はとても単純でリモート端末用にmoonlightっていうアプリが公開されている。AndroidiOSでも動くようだが、ここはあえてRaspberryPIで動かそうと!いうわけだ。いや、動かしてる人がいるのでオレもオレも!というわけだ。

かなり前からあったものなので知ってる人には何をいまさらってな感じだろうが、そんなことはどうでもよろしい。

 

moonlightをraspberrypiで動かしてる動画はこちら→

www.youtube.com

この当時はmoonlightじゃなくてlimelightって呼んでたらしい。

 

PC側の準備

GameStream + Moonlightを使用するには、まずPC側に

  • GeForce 650以上
  • GeForce Experience 2.2.1以降と対応ドライバ

が必要だ。

GFEを起動して「ゲーム一覧を更新」すると、PCにインストールされている&GFEが対応しているゲームを探し出してくる。GameStreamを使うには、単にインストールされているゲームをそのまま実行するのではなくて、GFEから起動する必要がある。

想像だが、GFEがゲームプロセスに介入してDirect3Dレンダリングパイプラインをフックしているのではないかと思われる。そんなことをすると普通はゲーム側のプロテクトに引っかかるので、ゲーム側にもGFEに対応させる何かの処理が入っているのかもしれない。

 

さて、めでたく目的のゲームが見つかった場合は、「ゲーム」タブに表示されて、PC側の準備は完了だ。

f:id:poiuy56:20150604004659p:plain

 

RaspberryPIの準備

moonlightはgithubからソースを入手して自分でコンパイルする。

のだが、どうも本家サイトのソースはStableなWheezyベースのRaspbianではなくてJessyベースの何かを使っているらしく、バージョン違いやら何やらでコンパイルができない。

んで、ここらへんを参考に、必要なパッケージたちをインストール。

$ sudo apt-get install cmake libopus-dev libexpat1-dev libjs-jquery libssl-dev libasound2-dev libudev-dev libavahi-client-dev libcurl4-openssl-dev

wget http://archive.raspbian.org/raspbian/pool/main/libe/libevdev/libevdev-dev_1.4.2%2bdfsg-1_armhf.deb
$ wget http://archive.raspbian.org/raspbian/pool/main/libe/libevdev/libevdev-tools_1.4.2%2bdfsg-1_armhf.deb
$ wget http://archive.raspbian.org/raspbian/pool/main/libe/libevdev/libevdev2_1.4.2%2bdfsg-1_armhf.deb
$ sudo dpkg -i libevdev*

次に、 ソースを取得。本家のirtimmerじゃなくて7hunderbugからmoonlight-raspbianブランチを持ってくる。。

$ git clone --depth=1 https://github.com/7hunderbug/moonlight-embedded/ -b moonlight-raspbian

$ cd moonlight-embedded

$ git submodule update --init

あとは、ビルドだ!

$ mkdir build

$ cd build

$ cmake ../

$ make

$ sudo make install

これでめでたく、/usr/local/bin/moonlightが生成される。

さぁ、使ってみるのだ!

GFEを使用しているPCのアドレスを192.168.0.5として、まずはペアリングを行う。

$ moonlight pair 192.168.0.5

Generating certificate...done

Please enter the following PIN on the target PC: 1234

みたいなのが出る。最初に証明書だか鍵だかを作成している様子で、カレントディレクトリにclient.p12とclient.pemというファイルが出来上がっている。以降、moonlightコマンドを実行する際にはこのファイルをカレントにおいて実行する必要があるようだ。

 

んで、ターゲットPCでPINコードを入れろと言われてるのでPCを見てみると、

f:id:poiuy56:20150604013432p:plain

おー。なんか出てるー。

ここにPINコードを入れればコンソールに"Paired"と出て、認証はOKだ。

あとは、ゲーム実行コマンド…

$ moonlight stream -app "Final Fantasy XIV: A Realm Reborn" 192.168.0.5

おおおおおお。でたー

ってスマホ会社に忘れてきたから写真とれねーーーww

 

デフォルトでは720pで、速度的には何の問題もないのだが、解像度を720にしてしまうとFF14のUI配置が崩れてしまうので1080に変更。

1080ではさすがに60fpsでは間に合わないらしく、2秒くらい遅延が発生して却下。30fpsだとなんとか使える感じ。

(※) READMEにはデフォルトが30fpsと書いてあるけど、明示的に30fpsを指定すると遅延が減った。そして720のときより明らかにフレームレートが落ちてる。ので、デフォルトは60fpsなんじゃないかなと。。まぁ、720でも1080でも30fpsなら使い物になります。

 

これ用にUSBのゲームコントローラもう一個買ってこようかな。。

 

ということで、GTX650以上&RasPI持ってる人はおためしあれ~

 

 

 

 

Chromecast 買ったった。

たまたまSofmapによったときに見つけて思わず衝動買い。。

 

f:id:poiuy56:20140604102817j:plain

 

これで\4,200かぁ。。ACアダプタと延長コードがなければ\3,000くらいにできそうですな。。

 

さぁ、Setupだ。会社で。。

 

ん? HDMI入力のあるモニターがないぞ。。

なんてな。ふふふ。そんなこともあろうかと、HDMI→ DVI変換ケーブルを用意しておいたのだ。はっはっはっ。

 

f:id:poiuy56:20140604105008j:plain

ダメじゃん。オスじゃん。積んだ。終了。

 

素直に自宅のリビングにつなぐか。。。

 

PSP出荷完了(生産終了とは違うのか?)

PSPが六月で出荷完了だそうな。。(これとか)

 

なんか、感慨深いな。

 

  • 初代 → CFW入れて遊んだ。モンハンやってた頃が一番使ってたな。ボタンがつぶれたのを交換したり。
  • 3000 → 「めっちゃ軽っ」って思ったのを覚えてる。いちばんやったのはGodEaterかなぁ。Divaかも。
  • 3000 その2 → 奥さんに買った。稼働率低い。
  • 3000 その3 → 娘に買った。テイルズ専用w

自分は既にVitaに移行してるけど、娘あたりが「おねだり大作戦」に便乗してくるかも。

いいけど。←

 

で、思ったんだが、UMD Passport対応少なすぎません??そして、Passport対応でも高すぎじゃない???既にソフトを持ってるんだから、タダとは言わないけどせめて千円以下にして欲しいなあ。。

 

Windows8.1 アプリ検索 簡単版

前回の記事でごちゃごちゃ書いたんですが、、

 

結局、

  • スタートメニューを開く
  • 検索したい文字を打つ

だけでできました。。orz

 

スタートメニューには検索入力するようなテキストボックスが表示されてないのですが、キーを打つと勝手にチャーム領域に検索ボックスが出てきてちゃんとインクリメンタル検索できますた。。

 

f:id:poiuy56:20140518161631p:plain

 

「すべての場所」からの検索になるので若干遅いけど、こっちのほうがそりゃ簡単ですわ。。

スタートメニューだけじゃなくて、アプリビュー側でも文字を打つだけでいけます。(Alt+D押さんでいい。)

 

Windows 8.1 はよくできてるね!!

 

Windows8.1 アプリ検索

Windows8.1ネタ。

 

個人的にWindows7のときに重宝していたのが、スタートメニューを押してアプリを検索する機能。

f:id:poiuy56:20140516154655p:plain

 

ここに、"calc" で計算機とか、"mspaint" でペイントとか起動できるので、キーボード派の人は結構使ってるんじゃないかと。

 

ところがWindows8.1はスタートメニューがいないので、当然検索できん!

 

と思っていたら機能自体は「アプリビュー」というところにあった。

スタート画面から下に降りたところの、「すべてのアプリ」が表示される画面の右上。

 

ということで、忘れないようにメモ。

※ 追記:んなことしなくてももっと簡単にできた。→こっち

 

ウインドウズキーで直接「アプリビュー」を開く。

スタートメニューって普通のPCでは要らんよなぁ。。

 

f:id:poiuy56:20140516155013p:plainタスクバーのプロパティを開いて、、

「スタート画面への移動時にアプリビューを自動的に表示する」をチェック。

 

f:id:poiuy56:20140516155056p:plain

「アプリビューからの検索時にアプリだけでなくすべての場所を検索する」と、検索に時間がかかりそうなので自分はチェックを外した。

 

アプリビューが開いたら、Explorerと同じくAlt+Dで検索ウインドウへフォーカスが映るので、あとはご自由に。

 

一発で開けると良いんだけどなぁ。。

なんかソフトを入れたら出来るみたいだけど。そういうのは余り入れたくない。。

 

 

WIndows8.1でエクスペリエンスの点数を知りたい。

前回買ったX240がWindows8.1なんだけど、Win7とかのシステムプロパティにあった「Windows エクスペリエンス インデックス」(WEI)が表示されていないことに気がついた。

 

ちょろっと調べたところ、

  • Windows8.1でWEIの画面は無くなったらしい
  • でも評価を実行するコマンド自体は残ってるらしい

ということで、覚え書きシリーズ。

 

WINSATコマンド

winsat.exeってのが、計測するツールだそうだ。

なんか、ぐぐったら、常識っぽいな。orz

 

いや、オレはまた忘れるから書いておく!

 

コマンドプロンプトを開いて、

C:\WINDOWS\system32> winsat

エラー: このプログラムの実行方法を参照するには -? または -help を使用してください

 

最初からヘルプを出せ。

 

気を取り直して。

C:\WINDOWS\system32> winsat -?

(なんかいっぱい。読む気が失せる。)

 

簡潔にまとめてくれ。

 

仕方なく上の方までスクロールして戻ってみたら、やはり先頭にその答えはあった。

C:\WINDOWS\system32> winsat -?

Windows システム評価ツール

コマンド ライン使用法:

  WINSAT <assessment_name> [switches]

 

評価の名前は指定する必要がありますが、スイッチは省略可能です。

Vista に既に組み込まれている有効な評価には、以下の物があります:

 

  formal  すべての評価を実行します。

これだ。ヘルプについていいたいことはあるが、まぁいい。

実行だ。 

C:\WINDOWS\system32> winsat formal

(計測中。。なんかいっぱいログが出る。)

(読む気は毛頭無い。)

(ん?結果はどこに出るんだ?)

(ログ出力オプションとかいらんのかな。。と今になって気づく。)

  :

合計実行時間 00:02:52.58

おわた。

 

ながーい標準出力を目視するも、スコアがいくつなのかワカラン。。。

 

しょーがないので、読む気の無かったWINSATのヘルプに戻ってみると、いろんな説明文のちょうど真ん中らへんに、

すべての正式な評価では、データ(xmlファイル)が

%WINDIR%\performance\winsat\datastore に保存されます。

って書いてあった。

 

わかりにくいわ!

 

 とにかく。。

 

f:id:poiuy56:20140501201802p:plain

 

 

でた。

  • System 5
  • Memory 7.4
  • Cpu 7.4
  • Graphics 5
  • Gaming 5.2
  • Disk 5.9

グラとHDDが遅いのは予想通り。CPUもうちょっと頑張って欲しかったな。。

 

Win8.1プレインストール機でスコアみたいよーと言う人はお試しを。

 

Thinkpad X240のFnキーってなん?

X240。

買ったった\(^O^)/

 

仕事用なんで、特に楽しいアプリとか無いんだけど、なんか新しい機械ってワクワクするよねー。

 

f:id:poiuy56:20140430120633j:plain

 

CPU: Core i7 4600U

Mem: 8GB

OS: Windows 8.1Pro (x64)

Display: Full HD 10点マルチタッチ

5年使うつもりで奮発しました!(5年は無理かなぁ。。)

 

快適です。が、キーボードが、、、

 ディスプレーの欠けも無かったし、サックリ動いて良い感じ。

キーボードも思ったより打ちやすい。X1 Carbon と迷って、あっちはキーボードの配列が気に入らなかったので止めたんだけど、たぶんこっちで正解だな。

 

ん?

 

Fnキーが効かんな。。。

 

と思ったら、Fnキーロックってのがあるのね。。(ノートPC買うの久しぶりすぎ。。)

 

でもこれ、

  • FnLock ON のとき、F1~F12が使える。EndキーはFn押しながら。
  • FnLock OFFのとき、ボリュームとかの機能キーが使える。Endキーは直でおk。

っていう仕様なんだけど、わかりにくく無いっすか?オレだけ?

 

f:id:poiuy56:20140501192301p:plain

 

昔は、ボリュームとかはFn押しながらF1みたいな感じだったので

  • 「Fnがロックされてる」=「F1だけ押せばミュート」

っていうイメージが(勝手に)あるんだけど、実は逆。

え? 一般常識ですか? そーですか。

 

とりあえずF1~F12だけならFnLockしとけば良い。が、問題はEndキー。

FnLockしてると、「Fn押しながらInsertキー」=Endキーになってるのだよ。

 

Thinkpad使うビジネスマン的には、InsertとEndだったら絶対Endの方が使うでしょーよ!機能キーよりもF1~F12キー使うでしょうよ!なんで逆に組み合わせるかなぁ。。

 

どうやらちょっと前のThinkpad(型番忘れた)では、BIOSメニューで「F1~F12をLegacyタイプにする」っていうスイッチがあって、それを使えばF1~F12をFnなしで使えるようになったらしいが、X240にはそんなメニューはありまへん!!

 

 

はぁ。

 

 

いいです。慣れの問題です。知ってます。

これからじっくり慣れていきます。