皆さんはじめまして!
本記事を担当させていただきます、カノンと申します。
Fascoderとしてはデバッグを担当しておりますが、実生活が多忙だったりゲームが忙しかったりであまり活動できていませんでしたが、今年こそはしっかりFascoderとして活動に参加していきたい所存であります。
さて今回はとある特定の環境でマインクラフトを遊ぶ際にGPUを指定する方法についてご紹介したいと思います。
前提と対象の環境
先程”特定の環境”と書きましたが, この特定の環境とはズバリ
ゲーミングノート
です。
実はゲーミングノートってモニターが組み込まれていたりバッテリーの持続時間を延ばすためだったりのために、Intelの内蔵グラフィックスとGPUをWindowsがうまいこと切り替えながら動作するように作られています。
そのため、Linuxをインストールして使おうとする場合には少々面倒な手順を踏まなければなりません。
今回の記事ではこの”面倒な手順”を乗り越えてゲーミングノートにLinux環境を構築出来た人が、
マイクラで影mod等を使用する際に重要となってくるdGPUの設定
について解説していきます。
“面倒な手順”の部分についてはまた記事化する…かもしれません。
Manjaroだとインストールと設定がかなり楽ちんなのでオススメだヨ
解説にあたって、今回使用する環境は
IntelのCPU(core i7 7700HQ),
NvidiaのGPU(GeForce GTX1050,以下dGPUと呼称),
を搭載したゲーミングノートでManjaro Linux 20.2(Gnome Editon)を使用しております。
またドライバは”prime”と呼ばれるIntelとNvidiaの機能をハイブリッドに使えるものを使用しております。
primeではなくbumblebeeを使用されている方はこの解説の通りでは正しく動作しませんのでご注意ください。
また、ArchLinuxへのマインクラフトのインストールは,以前Hayaoさんが紹介されていましたので,インストール方法が知りたい方はこちらを参照してください。
・Arch LinuxでMinecraftをプレイしよう
https://blog.fascode.net/2020/11/22/arch-minecraft/
インストールしたばかりだと…
解説にあたって,このManjaroLinuxにインストールしたばかりのマイクラがどういう状態なのかを紹介しておきます。
マイクラのインストール完了!さて遊ぶぞーと意気込み 作った世界に入ったものの,
なんか重くない? JVM引数からRAM割当量を変えても
あまり変わりませんね… ここでデバッグ表示右上に注目してみましょう。
先程書いたようにこのPCにはGTX1050が搭載されていますが, この表示にはdGPUとしてGTX1050の表記はおろかNvidiaの表記がありません。
つまり
マイクラがdGPUで動作していない
ということです。
前置きが長くなりましたがこれからマイクラがdGPUで動作するように設定するための解説に入ります。
マイクラがdGPUを認識するには
このPCにはprimeドライバがインストールされているため 普段の用途にはIntelの内蔵グラフィックスが使われます。
このprimeの機能であるとあるコマンドを使うことで, OpenGLなどのマシンパワーを使う作業にdGPUを割り当てることができます。
そのコマンドがこちら
prime-run <任意のソフト名,コマンド>
このprime-runというコマンドを使うことでdGPUでの動作が可能になります。
早速マイクラのランチャーを呼び出してみましょう
prime-run minecraft-launcher
開いたランチャーからマイクラを起動,デバッグ表示を確認してみると…
<画像6,設定後のデバッグ表示表示>
おめでとうございます。
これでマイクラがdGPUを認識しました。
起動を簡単にしよう
上の項で紹介した方法を取れば,マイクラをdGPUで動作させることができます。
しかし,いちいちゲームを遊ぶためにコマンドを入力するのは面倒ですし,ターミナルのウィンドウが邪魔だと感じる方も多いでしょう。
そこで,普通にマイクラを起動しても”prime-run”が適用されるように設定してしまいましょう。
シェルスクリプトを活用
マイクラのゲーム自体はJavaのランタイムです。 ということはJavaのランタイムを何かしらの方法でprime-run出来ればマイクラをdGPUで動作させることができます。
そこで下記のようなシェルスクリプト(名前はprime-java.shとします)を用意しました。
#!/bin/bash
echo "use PRIME DRIVERS"
prime-run java "$@"
このファイルはどこに置いても構いません。 今回は~/Documents/Scripts/に配置することにします。念の為に実行可能バフを付けておきましょう。
これをランチャーの起動構成タブから設定できる”JAVAのパスの指定”で指定することで,JavaのランタイムがdGPUで動作するようになります。
先程と同じようにマイクラがdGPUで動作すれば成功です。
影modもしっかり動くようになりました。
お疲れ様でした。
最後に
如何でしたか?(定型文)
今回はManjaroLinuxでの解説になりましたが、他のLinuxディストリビューションでもPrimeドライバをインストールしてdGPUを利用できる構成になっていれば同様の作業でマイクラをより快適に遊べるようになるかもしれません。
もし同じ問題を抱えている方がいらっしゃいましたら是非試してみてください。
参考にしたページ
・Configure Graphics Cards – Manjaro wiki https://wiki.manjaro.org/index.php?title=Configure_Graphics_Cards#nvidia-prime
・How I made Minecraft work with discrete GPU (PRIME) – Reddit https://www.reddit.com/r/linux_gaming/comments/90w9og/how_i_made_minecraft_work_with_discrete_gpu_prime/
コメント