[SWITCH] Homebrewが使用可能なRAMの量に関して - 多分RetroArchユーザーは知っておく方が良い

2018/10/21 14:12 Switch 5
(※この記事は専門的な内容の記事では無く、単にこういう事実があると伝えたいがために書いた記事です。)



記事執筆現在、SwitchでHomebrewを起動するには、CFW状態でSwitchを起動してシステムアプレット(例えばアルバム)から
hbmenuを起動してhbmenu上でHomebrewを選択して起動する、という事をやっています。
NSPとしてHomebrewが公開されていれば、それをインストールしてホーム画面からアプリとしてHomebrewを起動可能です。

結論から書きます。アプレットからHomebrewを起動した場合、そのHomebrewが使用出来るRAMは442MBまでです。
対してアプリとして起動出来れば、そのHomebrewが使用出来るRAMは3.2GBになります。
私としてはこれを気にする必要がありそうな人間は現状RetroArchユーザーくらいだと思ったために、記事のタイトル
にはRetroArchという名を入れました。ただこれでRetroArchのパフォーマンスが大幅に向上するとは言い切れません。
使用出来るRAMが増えてパフォーマンスが向上するというのは、RAMがボトルネックになっている場合のみです。
エミュ(RetroArchのコア)の完成度やSwitchのCPU或いはGPUの性能が原因の低速動作は、改善されません。

この記事は書くかどうか悩んだんですが、GBAtempでnatinusala氏が立てたスレを見て、書く事にしました。
Use Atmosphère to access FULL RAM with homebrews WITHOUT NSP
NSPでhbmenuやHomebrewをインストール出来ればそれはアプリとして起動するので使用可能なRAMは3.2GBになりますが、
NSPをインストールしたくない人もいるために、そうした人向けのチュートリアルが書かれたスレです。
この記事を書こうと思った理由は3つで、1つ目が最初に書いたように、こういう事実があると伝えたいためです。
2つ目が、natinusala氏はデジタル(eショップ)で購入してインストールしたゲームが必要と書かれていますがそれは誤りで、
カートリッジのゲームでも出来るからです。3つ目が、natinusala氏が「マリオ64を20FPSで出来ない人がいる」という事を
書いているためです。遅いやん、と思いますが、使用出来るRAMが442MBだともっと遅いんでしょう。多分。
使えるRAMが増える事で動作が改善されるゲームがある事を知らなかったので、そう考えるとこの記事を書くことにした
一番の理由は3つ目です。




で、この記事で手順も書くわけですが、HomebrewのNSPをインストールしても良い方はそうしてください。
それが一番手っ取り早いです。そうすればHomebrewはアプリとして起動し、使用出来るRAMは3.2GBです。
hbmenuのNSPをインストールすれば、そのhbmenuから起動したHomebrewで使用出来るRAMは3.2GBです。
https://gbatemp.net/threads/homebrew-menu-loader-legal-nsp.518433/
RetroArchは記事執筆時点では、stableはnspでnightlyはnroとして公開されているようです。
https://buildbot.libretro.com/stable/1.7.5/nintendo/switch/libnx/
https://buildbot.libretro.com/nightly/nintendo/switch/libnx/

この記事で書く手順はNSPをインストールしたくない人向けの、Atmosphereでの手順です。
記事執筆時点ではReiNXやSX OSでは出来ないっぽいです。
よって、NSPをインストールしてもいいReiNXユーザーやSX OSユーザーはそうしてください。

手順の前に、使用可能なRAMの量はどこで確認出来るのかを書いておきます。
RetroArchの「Information → System Information → Memory in byte/mega/giga」で確認可能です。
その項目はシステム全体のメモリ使用量を表示する項目で、通常は「使用量/全体」の形で表示されます。
Switchの場合、使用量の部分はアプリ(この場合はRetroArch)が確保している分(=使用可能な分)が表示されます。
アプレットとしての起動だと442MBまでのサイズが表示され、アプリとしての起動だと3.2GBと表示されます。
全体の部分はバグなのか仕様なのか私には分からないんですが、SwitchのRAMは4GBのはずなのに6GBと表示されます。
アプレットとして起動した場合は全体の部分には844MBと表示されます

Switch_RetroArch_RAM_20181021.png



●用意するもの
・Atmosphere 0.7~ (SDFilesSwitch v10以降)
・カートリッジのゲーム or DL版 (体験版も可)

CFWの起動方法は分かっているものとして手順を書きます。

事前に、用意したゲームのタイトルIDを把握しておいてください。
把握していない場合は、多分Checkpoint上で確認するのが一番手っ取り早いと思います。
https://github.com/FlagBrew/Checkpoint/releases

●手順
1、SDFilesSwitchをDL,解凍してmicroSDカードにコピー

2、"sd:/atmosphere/loader.ini" をテキストエディタで開く

3、loader.iniのhbl_tid行を、用意したゲームのタイトルIDで書き換える

4、loader.iniのoverride_keyを好きに変更する
この項目はhbmenuやLayeredFSを有効/無効状態でゲームを起動するためのトグルボタンの設定です。
! を付けると、そのボタンを押した状態でゲームを起動するとhbmenuやLayeredFSが無効になります。
! を付けなければ、そのボタンを押した状態でゲームを起動するとhbmenuやLayeredFSが有効になります。
一般的には !R が使われます。私が好きなのは !A です。トグル判定はゲーム起動時の暗転の際に行われるため、
その際にA押下がキープされていればhbmenuやLayeredFSが無効になります。
Aは決定ボタンですから、!Aにすると指一本でゲームの起動とhbmenu/LayeredFSの有効/無効が出来るわけです。

5-1、(任意) "sd:/atmosphere/titles/" に010000000000100Dフォルダを作成
5-2、(任意) そこにhbl.nspをコピーし、そのhbl.nspをexefs.nspにリネーム
これを行う事でこれまでと同じようにアルバムからhbmenuが起動可能になります。
loader.iniでゲームを指定してしまうとアルバムからhbmenuが起動出来なくなるので、困惑する人もいるでしょう。
これをやるかどうかは人によって変わると思うので任意としています。

6、hekate v4.2以降或いはfusee-primary.binでAtmosphere(hekate上では"CFW")を起動

7、loader.iniで指定したゲームからhbmenuが起動するかどうかを確認

8、(任意) そのhbmenuからRetroArch(nro版)を起動して以下の項目で3.2GBとなっているのを確認する
( Information → System Information → Memory in byte/mega/giga)




kood

▼コメント


重たくて読み込みすぐ逝く実機は嫌 2019/09/09 13:59
こちらに書いて良いのか迷いましたがすみません サターン本体また壊れました
セガサターンのエミュが重くてもいいのでまともに動くゲーム機(hack含み)を探しています(ハンダ付け苦手です)
switchならlakkaレトロアーチでしょうか? Yabause
こちらが(PC ケータイを除いて)一番でしょうか?
まだswitch購入検討段階です
管理人 kood 2019/09/09 20:21
>>重たくて読み込みすぐ逝く実機は嫌 さん
PC/スマホ/タブレットを除いて一番かどうかは分かりませんが、Switchならサターンはそこそこ動きます。(個人的な見解です)
SwitchではUbuntuやAndroidも起動可能ですが、サターンエミュが目的ならlakkaかCFWが手軽で良いと思います。
lakkaの方はYabause/YabaSanshiro/Kronosが使用出来、CPUを最大2091MHzまでOC可能です。CFW上で動作するRetroArchでは
現状サターンエミュはYabauseのみで、CFWではCPUを最大1785MHzまでOC可能です。パフォーマンスは基本的にはlakkaの方が
優れていますが、lakkaはスリープが機能しないといった問題もあるため、CFWでRetroArchを使う人も多いです。

現時点では、ハック出来るSwitchは限られています。全てのSwitchでCFWやlakkaが使えるわけではありません。
それらを使用するには、2018年夏頃まで出荷されていた非対策機か、FW4.1.0以下の機体(対策機含む) が必要です。
非対策機はFWバージョン関係なくハック可能です。対策機は理論上はFW7.0.1以下でハック可能だとされていますが、現時点で
ハック可能なのはFW4.1.0までです。購入を検討されているなら、とりあえず非対策機(未対策機)についてググってみてください。
重たくて読み込みすぐ逝く実機は嫌 2019/09/10 11:05
お返事貰えて嬉しいです switch買いたくなりました
もうひとつ良いでしょうか? switchとPS4ではどちらがエミュの動作として性能が良いでしょうか
(わずかに違うくらいであればコントローラー関係が気になります)
何も知らないとps系Xbox PC系の方が一見使いやすそうですが
やはり より多く使いやすいのコントローラーで使えると嬉しいです
(購入の際は機種番号 FWには十分気を付けます)
管理人 kood 2019/09/11 01:56
>>重たくて読み込みすぐ逝く実機は嫌 さん
断然Switchの方が良いですね。もちろん本体のスペックだとPS4の方が優れていますが、PS4はハックの動きが活発ではなく、
Yabauseはあるにはありますが、最適化が全く進んでおらず、動作はかなり重いです。
一方Switchはハックがかなり活発で、RetroArch自体も各コアもかなりSwitchに最適化されてきているので動作は良いです。

コントローラーは、CFWならJoyConとプロコンが、lakkaならJoyConだけが使用出来ます。lakkaではJoyConをSwitch本体に
接続しておく必要が有ります。コントローラーは慣れやキーコンフィグの事があるので人によって感想は変わると思います。
CFWであれば、同じネットワーク内にあるPCに接続したゲームパッドをSwitchのプロコンとして認識させるhid-mitmが使用
出来ますが、少し不安定です。lakkaは、lakka自体にはBluetoothの機能が実装されていますが、Switch用lakkaは現時点では
それにバグがありBluetoothが使用出来ません。もしそれが修正されたらlakkaでBluetoothのコントローラーが使用出来ます。
重たくて読み込みすぐ逝く実機は嫌 2019/09/11 12:23
PS4hack事情も知ることが出来て聞いておいて良かったです PS4よほどなことがない限り今以上の状態にならなさそうですね switchのCFWやlakkaがもう少し進んだなら CFW用 Bluetooth用のコントローラー対応表みたいなものがあると嬉しいです (最新CFW事情検索下手ですみません) 
switch良いですね hackが進んでいる方が より多くの悩みが簡単に解決出来ちゃいますからね
お返事頂き誠にありがとうございます


▼コメントを投稿












※「英数字90%以上」のコメントを規制中です。コメントを投稿する際は日本語でお願いします。
※確認ボタンを押すと投稿確認フォームに移ります。投稿確認フォームの送信ボタンを押してください。
※確認フォームにある「メールアドレス」に入力された内容は管理人のみ確認可能です。空欄で構いません。
※確認フォームにある「タイトル」「パスワード」は当ブログでは使用していません。空欄で構いません。
※確認フォームにある「URL」は名前のリンクとして機能します。空欄で構いません。
※確認フォームには非公開コメントのチェック項目がありますが、非公開コメントは受け付けていません。
メールフォームより連絡頂ければメールにてお返事致します。