Nvidia-xrun
nvidia-xrun はディスクリートの NVIDIA グラフィックを使って別個に X を起動するユーティリティです。少し複雑な手続きを踏みますが (Linux ドライバーの観点から) GPU を完全に活用できます。
目次
インストール
以下のパッケージをインストールしてください:
- nvidia
- bbswitch
- nvidia-xrunAUR または nvidia-xrun-gitAUR
- openbox などのウィンドウマネージャ (nvidia-xrun で直接アプリケーションを実行すると Steam など一部のアプリケーションが上手く動かないため、ウィンドウマネージャを使うことを推奨します)。
設定
適切なバス ID を設定
AUR から nvidia-xrun をインストールした場合、バス ID は /etc/X11/nvidia-xorg.conf
に設定されるため、このセクションはスキップしてかまいません。
GitHub リポジトリから nvidia-xrun をダウンロードした場合はバス ID の設定が必要です。
ディスプレイデバイスのバス ID を確認してください:
$ lspci | grep NVIDIA
大抵はバス ID は 1:0:0
になります。1:0:0
以外の場合は以下のように /etc/X11/nvidia-xorg.conf.d/30-nvidia.conf
を作成して適切なバス ID を設定してください:
/etc/X11/nvidia-xorg.conf.d/30-nvidia.conf
Section "Device" Identifier "nvidia" Driver "nvidia" BusID "PCI:2:0:0" EndSection
また、同じファイルで nvidia の設定を調整することもできます:
/etc/X11/nvidia-xorg.conf.d/30-nvidia.conf
Section "Screen" Identifier "nvidia" Device "nvidia" # Option "AllowEmptyInitialConfiguration" "Yes" # Option "UseDisplayDevice" "none" EndSection
ウィンドウマネージャの自動起動
~/.nvidia-xinitrc
を作成して、使用したいウィンドウマネージャの起動コマンドを記述してください:
openbox-session
上記のように設定することでアプリを指定しなくても以下のコマンドで起動できるようになります:
nvidia-xrun
bbswitch を使って NVIDIA カードを管理
NVIDIA のカードが不要なときは、bbswitch を使ってオフにできます。nvidia-xrun は自動的にウィンドウマネージャを起動して NVIDIA カードを立ち上げます。
起動時に bbswitch モジュールをロード:
# echo 'bbswitch ' > /etc/modules-load.d/bbswitch
起動時は nvidia モジュールを無効化:
# echo 'options bbswitch load_state=0 unload_state=1' > /etc/modprobe.d/bbswitch.conf
再起動後、NVIDIA カードはオフになります。bbswitch の状態を問い合わせるには:
$ cat /proc/acpi/bbswitch
強制的にカードのオンオフを切り替えるには:
# tee /proc/acpi/bbswitch <<<OFF # tee /proc/acpi/bbswitch <<<ON
bbswitch について詳しくは Bumblebee-Project/bbswitch を参照してください。
使用方法
別の tty に切り替えて、ログインしたら nvidia-xrun [app]
を実行してください。
トラブルシューティング
Steam を直接 nvidia-xrun で起動しても正しく動作しません。openbox などのウィンドウマネージャを使ってください。