Raspberry PI 2 に Windows 10 をインストールするのだ。(正式版)
まず初めに言っておきましょう。
Raspberry PI 2 にインストールできるのは、
Windows 10 IoT Core
であって、普通のWindows 10ではありません!!
インストールするまでよくわかってなかったので、とりあえず先に言っといたほうがいいかなと。
何が違うんや、というと、
Windows 10 IoT Coreは、それ単体ではなんにもできません!
ということで、全然違います。IEなんてありません。というかアプリは何も入っていません。動作環境というかプラットフォームがWindows(みたいなの)なだけです。
前置きが長くなりましたが、インストール手順を。
インストールするときには普通のWindowsが必要。10じゃなくても可。
実はInsiderPreviewのときとかは、RaspberryPI2の起動ディスクを作るためにWindows10が必要だったのですが、これはSDカードに書き込むコマンドがWindows10にしか入っていなかったためです。
Windows10の正式リリースと同時に、RaspberryPI用のツールも更新されて、SDカードへの書き込みツールが同梱されるようになりましたので、書き込み側はWindows8.1でも可能です。(7では試してません)
RaspberryPIの起動SDへイメージを書き込むには、
Windows IoT - Setup your Raspberry Pi 2
からWindows 10 IoT Core toolsをダウンロードしてインストールします。
ISOファイルがダウンロードできますが、中身はアプリのセットアップが1本だけですので、それを実行します。
このツールは、VisualStudio2015で作ったRasPI2用のアプリをデバッグするのにも必要になるものです。
インストールが済んだら、「Windows IoT Image Helper」というツールを起動します。
実行すると、SDカードのデバイスと、書き込むイメージファイルを選択するGUIが出てきます。
SDカードは8GB以上のものが必要です。
イメージファイルは、"flash.ffu"というファイルがツールをインストールしたときにProgram Files下にコピーされていますので、それを指定します。
あとは、「Flash」ボタンを押せばコマンドプロンプトが開いて書き込みが始まります。数分経つと終了です。特に何のメッセージも出ません!漢らしい。
RasPI2で実行
起動中。。
起動したらさぞもっさりしたWindows10のスタートメニューが出てくるんだろうと思ってwktkしてたら、
なんかボクの知ってるWindowsじゃない、感。
で、セットアップは言語選択のみで「Next」。
どうやらこれが立ち上がった状態らしい。。
まぁ結局のところは冒頭に書いた通りで、写真の「デバイス情報」のほかには
基本設定は言語選択のみ。Wi-Fiってのがちょっと気になったんですが手持ちのUSB Wi-Fiモジュールはどれも認識しませんでした。。。有線LANは使えるようで、「デバイス情報」からDHCPで割り当てられたIPアドレスが取得できていました。
チュートリアルは、これ自体がVisualStudio 2015 でビルドされたアプリケーションのようで、ソースも取得できるようです。
が、開発環境にWindows10とVisualStudio 2015 が必要なんですよね。。敷居が高いなぁと思うのはボクだけでしょうか。。
# 追記:開発用OSはWindows8.1でいけました。
また時間ができたらアプリの一つも書いてみたいところです。
Raspberry PI2でPCゲームをリモートプレイ その2
前回、Gamepadについて何も書かなかった、というか、H.264の映像配信が見られたところで満足して実際にゲームをしてなかったので、続きを。
やろうとしてるのはFF14なのでまぁキーボードとマウスでもできる、っちゃぁできるんだが、ゲームはやっぱりコントローラでやりたい、というのが個人的な心情である。
で、moonlightでUSBゲームパッドを使う方法について、まとめ。
使用したコントローラはLogicool Gamepad F310 というやつで、まぁヨドバシあたりで安価で購入できるやつだ。これをRaspberryPIにつなぐと、あっさり認識はする。
$ lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 046d:c21d Logitech, Inc. F310 Gamepad [XInput Mode]
Bus 001 Device 005: ID 099a:7202 Zippy Technology Corp.
4番目のやつですな。/dev/inputを見てみると、event0, event1, event2と3つ出来上がっている。。キーボードとマウスと、Gamepadなのだが、どれがどれに該当するのか確認する方法がよくわからん。。
で、どうせキャラクターデバイスだからcatしてGamepadいじればなんか出るんじゃないの?と思ったら、そのとおりでした。
$ cat /dev/input/event0
どうやらevent0がパッドでevent1がキーボード、event2がマウスらしい。
が、これって認識した順番のような気がするのであまりあてにならんなぁ。。ちゃんと一意に確認する方法だれかおしえてください(他力本願)
とりあえずGamepadがちゃんと入力できそうなのは分かったので、パッドのボタンマッピングを設定する必要がある。moonlightでactionにmapを指定すると、マッピングファイルを出力することができる。言われたボタンを押す(倒す)とデバイスのイベントコードをファイルに書き出す仕組みのようだ。
$ moonlight map f310.map
Move Left Stick Right
Move Left Stick Up
Press Left Stick Button
Move Right Stick Right
Move Right Stick Up
Press Right Stick Button
Press D-Pad Right
Press D-Pad Down
Press Button X (1)
Press Button A (2)
Press Button B (3)
Press Button Y (4)
Press Back Button
Press Start Button
Press Special Button
Press Left Trigger
Press Right Trigger
Press Left Bumper
Press Right Bumper
Playstation系のパッドに慣れているので「Left Triggerってなんや?」ってなったけど、パッドを見たら「LT」ってかいてたのですぐわかった。
コマンドの最後に指定したf310.mapが、出力されたmapファイル。これをstreamで指定すればOKだ。
カレントディレクトリに、前回と同様認証用の鍵ファイルなどを置いておくことを忘れずに。。
$ ls
client.p12 client.pem f310.map key.pem uniqueid.dat
$ moonlight stream -1080 -30fps -app "Final Fantasy XIV: A Realm Reborn" -mapping f310.map 192.168.0.5
こんな感じ~。左のモニターがPCで右がRaspberryPIだす。
モニターを並べるとさすがにちょっと遅延があるのがわかるが、実際に操作してる限りではPS4/VITAのリモートプレイより快適な気がする。
ではでは~
Raspberry Pi2 Model B ボード&ケースセット (Standard, Clear)
- 出版社/メーカー: TechShare
- メディア: エレクトロニクス
- この商品を含むブログ (3件) を見る
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っていうアプリが公開されている。AndroidやiOSでも動くようだが、ここはあえてRaspberryPIで動かそうと!いうわけだ。いや、動かしてる人がいるのでオレもオレも!というわけだ。
かなり前からあったものなので知ってる人には何をいまさらってな感じだろうが、そんなことはどうでもよろしい。
moonlightをraspberrypiで動かしてる動画はこちら→
この当時はmoonlightじゃなくてlimelightって呼んでたらしい。
PC側の準備
GameStream + Moonlightを使用するには、まずPC側に
が必要だ。
GFEを起動して「ゲーム一覧を更新」すると、PCにインストールされている&GFEが対応しているゲームを探し出してくる。GameStreamを使うには、単にインストールされているゲームをそのまま実行するのではなくて、GFEから起動する必要がある。
想像だが、GFEがゲームプロセスに介入してDirect3Dのレンダリング・パイプラインをフックしているのではないかと思われる。そんなことをすると普通はゲーム側のプロテクトに引っかかるので、ゲーム側にもGFEに対応させる何かの処理が入っているのかもしれない。
さて、めでたく目的のゲームが見つかった場合は、「ゲーム」タブに表示されて、PC側の準備は完了だ。
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を見てみると、
おー。なんか出てるー。
ここに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持ってる人はおためしあれ~
PSP出荷完了(生産終了とは違うのか?)
なんか、感慨深いな。
- 初代 → CFW入れて遊んだ。モンハンやってた頃が一番使ってたな。ボタンがつぶれたのを交換したり。
- 3000 → 「めっちゃ軽っ」って思ったのを覚えてる。いちばんやったのはGodEaterかなぁ。Divaかも。
- 3000 その2 → 奥さんに買った。稼働率低い。
- 3000 その3 → 娘に買った。テイルズ専用w
自分は既にVitaに移行してるけど、娘あたりが「おねだり大作戦」に便乗してくるかも。
いいけど。←
で、思ったんだが、UMD Passport対応少なすぎません??そして、Passport対応でも高すぎじゃない???既にソフトを持ってるんだから、タダとは言わないけどせめて千円以下にして欲しいなあ。。
Windows8.1 アプリ検索 簡単版
前回の記事でごちゃごちゃ書いたんですが、、
結局、
- スタートメニューを開く
- 検索したい文字を打つ
だけでできました。。orz
スタートメニューには検索入力するようなテキストボックスが表示されてないのですが、キーを打つと勝手にチャーム領域に検索ボックスが出てきてちゃんとインクリメンタル検索できますた。。
「すべての場所」からの検索になるので若干遅いけど、こっちのほうがそりゃ簡単ですわ。。
スタートメニューだけじゃなくて、アプリビュー側でも文字を打つだけでいけます。(Alt+D押さんでいい。)
Windows 8.1 はよくできてるね!!
Windows8.1 アプリ検索
Windows8.1ネタ。
個人的にWindows7のときに重宝していたのが、スタートメニューを押してアプリを検索する機能。
ここに、"calc" で計算機とか、"mspaint" でペイントとか起動できるので、キーボード派の人は結構使ってるんじゃないかと。
ところがWindows8.1はスタートメニューがいないので、当然検索できん!
と思っていたら機能自体は「アプリビュー」というところにあった。
スタート画面から下に降りたところの、「すべてのアプリ」が表示される画面の右上。
ということで、忘れないようにメモ。
※ 追記:んなことしなくてももっと簡単にできた。→こっち
ウインドウズキーで直接「アプリビュー」を開く。
スタートメニューって普通のPCでは要らんよなぁ。。
タスクバーのプロパティを開いて、、
「スタート画面への移動時にアプリビューを自動的に表示する」をチェック。
「アプリビューからの検索時にアプリだけでなくすべての場所を検索する」と、検索に時間がかかりそうなので自分はチェックを外した。
アプリビューが開いたら、Explorerと同じくAlt+Dで検索ウインドウへフォーカスが映るので、あとはご自由に。
一発で開けると良いんだけどなぁ。。
なんかソフトを入れたら出来るみたいだけど。そういうのは余り入れたくない。。