「NVIDIA」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
(同期)
 
(5人の利用者による、間の78版が非表示)
1行目: 1行目:
 
[[Category:グラフィック]]
 
[[Category:グラフィック]]
 
[[Category:X サーバー]]
 
[[Category:X サーバー]]
[[cs:NVIDIA]]
 
 
[[de:Nvidia]]
 
[[de:Nvidia]]
 
[[en:NVIDIA]]
 
[[en:NVIDIA]]
 
[[es:NVIDIA]]
 
[[es:NVIDIA]]
  +
[[pt:NVIDIA]]
[[fa:اِن‌ویدیا]]
 
[[fr:Nvidia]]
 
[[it:NVIDIA]]
 
[[nl:NVIDIA]]
 
 
[[ru:NVIDIA]]
 
[[ru:NVIDIA]]
[[tr:Nvidia]]
 
 
[[zh-hans:NVIDIA]]
 
[[zh-hans:NVIDIA]]
 
{{Related articles start}}
 
{{Related articles start}}
{{Related|NVIDIA/Tips and tricks}}
+
{{Related|NVIDIA/ヒントとテクニック}}
 
{{Related|NVIDIA/トラブルシューティング}}
 
{{Related|NVIDIA/トラブルシューティング}}
 
{{Related|Nouveau}}
 
{{Related|Nouveau}}
{{Related|Bumblebee}}
 
 
{{Related|NVIDIA Optimus}}
 
{{Related|NVIDIA Optimus}}
  +
{{Related|PRIME}}
  +
{{Related|Bumblebee}}
  +
{{Related|nvidia-xrun}}
 
{{Related|Xorg}}
 
{{Related|Xorg}}
  +
{{Related|Vulkan}}
 
{{Related articles end}}
 
{{Related articles end}}
   
この記事は[http://www.nvidia.com NVIDIA] の''プロプライエタリ''なグラフィックカードドライバのインストールと設定をカバーしています。オープンソースのドライバについての情報に関しては、[[Nouveau]] を見てください。NVIDIA Optimus技術が利用できるラッップを使っている場合は [[NVIDIA Optimus]] を見て下さい。
+
この記事はプロプライエタリな [https://www.nvidia.com NVIDIA] グラフィックカードドライバをカバーしています。オープンソースのドライバに関しては、[[Nouveau]] を見てください。Intel/NVIDIA のハイブリッドグクスを搭載しているノーパソコンを使っている場合は、代わりに [[NVIDIA Optimus]] を見て下さい。
   
 
== インストール ==
 
== インストール ==
   
{{Tip|NVIDIA ドライバをインストールするときは NVIDIA のサイトで提供されているパッケージよりも [[pacman]] を使った方が基本的に有益です。なぜなら、そうすることで、システムをアップデートした際にドライバもアップデートすることができるからです。}}
+
{{Warning|NVIDIA のウェブサイトで提供されているパッケージを通して NVIDIA ドライバをインストールすることは避けてください。[[pacman]] 経由インストールれば、システムをアップデートした際にドライバもアップデートすることができす。}}
{{Warning|ドライバーのバージョンを混合させると動作しません。最新のブランチと、古いブランチの32ビット libGL パッケージを使用することはできません。}}
 
   
  +
{{Note|ハイブリッドグラフィックカードのあるシステム上でデュアルブートする場合は、Windows またはサードパーティのアプリで ''Eco mode'' を有効化すると NVIDIA のディスクリート GPU が非アクティブ化され、検出されなくなります。}}
以下は、標準の {{Pkg|linux}} または {{Pkg|linux-lts}} パッケージを使っている人向けの指示です。カスタムカーネルを使っている場合のセットアップは、[[#カスタムカーネル|次のサブセクション]]まで読み飛ばしてください。
 
   
1. あなたの使ているグラフィックカードが何かわからない場合、次を実行することで確認してください:
+
#使用しているグラフィックカードがわからない場合、次を実行して確認してください: {{bc|$ lspci -k {{!}} grep -A 2 -E "(VGA{{!}}3D)"}}
  +
#あなたのカードに合うドライバのバージョンを調べてください:
:{{bc|<nowiki>$ lspci -k | grep -A 2 -E "(VGA|3D)"</nowiki>}}
 
  +
#* NVIDIA の[https://www.nvidia.com/Download/index.aspx ドライバダウンロードサイト]に行き、ドロップダウンリストを使用する。
  +
#* [https://nouveau.freedesktop.org/wiki/CodeNames/ Nouveau wiki のコードネームのページ]や [https://gitlab.freedesktop.org/nouveau/wiki/-/blob/master/sources/CodeNames.mdwn Nouveau の GitLab] から (あなたのカードの) コードネーム (例: NV50、NVC0 など) を探し、その次に NVIDIA の[https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/ レガシーなカードのリスト]から (あなたのカードの) 名前を探します。あなたのカードがレガシーなカードのリストに載っていない場合、最新のドライバを使用できます。
  +
#あなたのカードに合う適切なドライバーをインストールしてください:{{Note|{{Pkg|dkms}} をインストールする際は、[[Dynamic Kernel Module Support#インストール]] を読んでください。}}
  +
#* [https://nouveau.freedesktop.org/CodeNames.html#NV110 Maxwell (NV110/GM''XXX'')] シリーズ及びそれより新しいカードの場合、{{Pkg|nvidia}} パッケージ ({{Pkg|linux}} カーネル用) か {{Pkg|nvidia-lts}} パッケージ ({{Pkg|linux-lts}} カーネル用) か {{Pkg|nvidia-dkms}} パッケージ (その他すべてのカーネル用) を[[インストール]]してください。
  +
#** これらのパッケージでうまく行かない場合は、{{AUR|nvidia-beta}} にあなたの環境をサポートするより新しいドライバーが含まれているかもしれません。
  +
#* [https://nouveau.freedesktop.org/CodeNames.html#NV160 Turing (NV160/TU''XXX'')] シリーズ及びそれより新しいカードの場合は、{{Pkg|nvidia-open}} をインストールすることで {{Pkg|linux}} カーネル用のオープンソースなカーネルドライバーを使用することもできます (その他のカーネルでは {{Pkg|nvidia-open-dkms}} を使用してください)。
  +
#** 今現在、このパッケージは[http://us.download.nvidia.com/XFree86/Linux-x86_64/550.54.14/README/kernel_open.html ベータ品質]なので、問題があるかもしれません。[https://github.com/NVIDIA/open-gpu-kernel-modules/issues/282 nvidia-open issue #282] により、{{Pkg|nvidia-open}} は AMD 統合 GPU を搭載しているシステムでは動作しないかもしれません。
  +
#* [https://nouveau.freedesktop.org/CodeNames.html#NVE0 Kepler (NVE0/GK''XXX'')] シリーズのカードの場合、{{AUR|nvidia-470xx-dkms}} パッケージを[[インストール]]してください。{{Note|470xx 及びそれ以前のドライバは、[https://edc.intel.com/content/www/us/en/design/ipla/software-development-platforms/client/platforms/alder-lake-desktop/12th-generation-intel-core-processors-datasheet-volume-1-of-2/007/indirect-branch-tracking/ Indirect Branch Tracking] との互換性が無いため、[https://newsroom.intel.com/editorials/intel-cet-answers-call-protect-common-malware-threats/#gs.mg8nm2 第11世代及びそれ以降]の Intel CPU を搭載しているシステムで Linux 5.18 (及びそれ以降) において機能しない場合があります。Indirect Branch Tracking は、[[ブートローダー]]から {{ic|1=ibt=off}} [[カーネルパラメータ]]を設定することにより、無効化することができます。ただし、このセキュリティ機能は[https://lwn.net/Articles/889475/ エクスプロイト手法の一種を緩和する]役割があるので注意してください。}}
  +
#* 更に古いカードの場合は [[#サポートがないドライバー]] を見てください。
  +
#32ビットアプリケーションのサポートが必要な場合は、対応する ''lib32'' パッケージも [[multilib]] リポジトリからインストールしてください (例: {{Pkg|lib32-nvidia-utils}})。
  +
#{{ic|/etc/mkinitcpio.conf}} 内の {{ic|HOOKS}} 配列から {{ic|kms}} を削除し、その後 [[Initramfs を再生成する|initramfs を再生成]]してください。こうすることで、initramfs に {{ic|nouveau}} モジュールが含まれないようにして、カーネルがこのモジュールを初期ブート中に読み込めないようにします。
  +
#再起動してください。{{Pkg|nvidia-utils}} パッケージには {{ic|nouveau}} モジュールをブラックリスト化するファイルが含まれているため、再起動が必須です。
   
  +
ドライバーをインストールしたら、[[#Xorg 設定]] または [[#Wayland]] へと進んでください。
2. NVIDIA の [http://www.nvidia.com/Download/index.aspx ドライバーダウンロードサイト] を見てあなたのカードに適切なドライバーのバージョンを確認して下さい。また、NVIDIA の [http://www.nvidia.com/object/IO_32667.html レガシーなカードリスト] や [https://nouveau.freedesktop.org/wiki/CodeNames/ Nouveau wiki のコードネームのページ] も使って下さい。
 
   
3. あなたのカドに合わせて適切なドライバーをインストールしてください:
+
=== サポトがドライバー ===
:* GeForce 400 シリーズとそれよりも新しいカード [NVCx 以降] の場合は、[[公式リポジトリ]]にある {{Pkg|nvidia}} または {{Pkg|nvidia-lts}} パッケージをインストールしてください。
 
:* 2006年から2010年の GeForce 8000/9000 と 100-300 シリーズのカード [NV5x, NV8x, NV9x, NVAx]、ION の場合は、[[公式リポジトリ]]にある {{Pkg|nvidia-340xx}} または {{Pkg|nvidia-340xx-lts}} パッケージをインストールしてください。
 
:* 2004年から2006年の GeForce 6000/7000 シリーズのカード [NV4x と NV6x] の場合は、[[公式リポジトリ]]にある {{Pkg|nvidia-304xx}} または {{Pkg|nvidia-304xx-lts}} パッケージをインストールしてください。
 
:* さらに古いカードの場合は、[[#サポートがないドライバー|サポートがないドライバー]]を見て下さい。
 
:* 一番最新の GPU モデルを使う場合、安定版のドライバーでは新しく導入された機能をサポートしていないために、[[Arch User Repository]] から {{AUR|nvidia-beta}} をインストールする必要があるかもしれません。
 
4. マシンが64ビット環境で32ビットの OpenGL サポートが必要な場合は、[[multilib]] リポジトリから相当する ''lib32'' パッケージもインストールしてください (例: {{Pkg|lib32-nvidia-utils}}, {{Pkg|lib32-nvidia-340xx-utils}}, {{Pkg|lib32-nvidia-304xx-utils}})。
 
   
  +
さらに古いカードを使用している場合、NVIDIA はもはやあなたのカード用のドライバを積極的にサポートしていません。これはつまり、[https://nvidia.custhelp.com/app/answers/detail/a_id/3142/ 最新バージョンの Xorg を公式にはサポートしていないこと]を意味しています。なので、最新の Xorg を古いカードでもサポートしている [[nouveau]] ドライバーを使うほうが楽かもしれません。
5. 再起動してください。{{Pkg|nvidia}} パッケージには ''nouveau'' モジュールをブラックリスト化するファイルが含まれているため、再起動が必須になります。
 
   
  +
しかし、NVIDIA のレガシーなドライバは依然として利用可能であり、より高い 3D パフォーマンス/安定性をもたらすかもしれません。
ドライバーをインストールしたら、続けて[[#設定|設定]]へと進んでください。
 
   
  +
* [https://nouveau.freedesktop.org/CodeNames.html#NVC0 Fermi (NVC0/GF1''XX'')] シリーズのカードの場合、{{AUR|nvidia-390xx-dkms}} パッケージを[[インストール]]してください。
=== サポートがないドライバー ===
 
  +
* [https://nouveau.freedesktop.org/CodeNames.html#NV50 Tesla (NV50/G80-90-GT2''XX'')] シリーズのカードの場合、{{AUR|nvidia-340xx-dkms}} パッケージを[[インストール]]してください。
  +
* [https://nouveau.freedesktop.org/CodeNames.html#NV40 Curie (NV40/G70)] シリーズ及びそれより古いカードの場合、Arch Linux 用のパッケージはもはや存在しません。
   
  +
=== カスタムカーネル ===
GeForce 5 FX シリーズ以前のカードを使っている場合、Nvidia はあなたの使っているカードのドライバーのサポートを既に打ち切っています。それらのドライバーは[http://nvidia.custhelp.com/app/answers/detail/a_id/3142/ 最新バージョンの Xorg をサポートしません]。最新の Xorg を古いカードでもサポートしている、[[nouveau]] ドライバーを使うほうが楽だということになります。
 
   
  +
使用中のカーネルで {{ic|1=CONFIG_DRM_SIMPLEDRM=y}} となっていることを確認してください。そして、{{ic|CONFIG_DEBUG_INFO_BTF}} を使用している場合、[[PKGBUILD]] で以下が必要です (カーネル 5.16 以降):
しかしながら、Nvidia のドライバーの方が 3D のパフォーマンスや安定性では上だということもあるでしょう。Nvidia のドライバーを使いたい場合は、[[Arch User Repository]] からインストールすることできます (古いバージョンの Xorg も一緒に):
 
   
  +
install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids
* GeForce 5 FX シリーズのカード [NV30-NV36] の場合は、{{AUR|nvidia-173xx-dkms}} パッケージをインストールしてください。最後にサポートされた Xorg のバージョンは 1.15 です。
 
* GeForce 2/3/4 MX/Ti シリーズのカード [NV11, NV17-NV28] の場合は、{{AUR|nvidia-96xx-dkms}} パッケージをインストールしてください。最後にサポートされた Xorg のバージョンは 1.12 です。
 
   
  +
=== DRM カーネルモード設定 ===
{{Tip|レガシーな nvidia-96xx-dkms と nvidia-173xx-dkms ドライバーは非公式の [http://pkgbuild.com/~bgyorgy/city.html <nowiki>[city] リポジトリ</nowiki>] からもインストールできます (ここからインストールする時は依存関係の制限をスキップしないことを強く推奨します)。}}
 
   
  +
NVIDIA は [[カーネルモード設定#KMS の遅延開始|KMS の自動遅延読み込み]]をサポートしていないため、Wayland コンポジタを正しく動作させたり、[[Xorg#Rootless Xorg|Rootless Xorg]] を利用できるようにするには DRM ([[Wikipedia:Direct Rendering Manager|Direct Rendering Manager]]) [[カーネルモード設定]]を有効化する必要があります。
=== カスタムカーネル ===
 
   
カスタムカーネルを使ってい場合Nvidia カーネルモジュールのコンイルは [[DKMS]] で自動化できます
+
DRM カーネルモード設定有効化すには{{ic|nvidia_drm}} モジュールに対して {{ic|1=modeset=1}} [[カーネルモジュールパラメータ]]を設定してください
  +
  +
{{ic|1=nvidia_drm.modeset=1}} が適切に設定されていることをブート後に確認するには、以下のコマンドを実行してください:
  +
  +
# cat /sys/module/nvidia_drm/parameters/modeset
  +
  +
正しく設定されていれば、このコマンドは {{ic|N}} ではなく {{ic|Y}} と出力するはずです。
  +
  +
加えて、ドライバのバージョン 545 及びそれ以降においては、実験的な {{ic|1=nvidia_drm.fbdev=1}} パラメータを使用することもできます。このパラメータにより、{{ic|simpledrm}} においては動作しない {{ic|efifb}} や {{ic|vesafb}} を使用せずに、NVIDIA ドライバ自身のフレームバッファデバイスを使用するようになります。
  +
  +
バージョン 545 より前の NVIDIA ドライバを使用している場合や、{{ic|1=nvidia_drm.fbdev=1}} パラメータを使用しない場合、{{ic|simpledrm}} を無効化するために {{ic|1=nvidia_drm.modeset=1}} オプションを[[カーネルパラメータ]]によって設定する必要があります [https://github.com/archlinux/linux/commit/7bfc7b32d0e0b486d3e66d843ca2f3fe514860a9] (詳細は {{Bug|73720}} を参照)。
  +
  +
{{Note|
  +
* {{ic|1=nvidia_drm.fbdev=1}} には、バージョン 550 以降のドライバでしか修正されないであろう既知の問題があります。詳細は [[:en:Talk:NVIDIA#Framebuffer consoles experimental support]] を参照してください。
  +
* バージョン 470 より前の NVIDIA ドライバ (例: {{AUR|nvidia-390xx-dkms}}) は Xwayland のハードウェアアクセラレーションをサポートしていません。よって、非 Wayland ネイティブなアプリケーションは Wayland セッションでパフォーマンスが劣化します。
  +
}}
   
  +
==== 早期ロード ====
{{Pkg|nvidia-dkms}} パッケージ (あるいは {{Pkg|nvidia-340xx-dkms}} など特定のブランチのパッケージ) をインストールしてください。DKMS の [[Pacman#フック|Pacman フック]]によって Nvidia やカーネルのアップデートがされた後に Nvidia モジュールが再ビルドされます。
 
   
  +
基本的な機能については先のカーネルパラメータを追加するだけで十分でしょう。可能な限り早い時にロードさせたい場合や、スタートアップ時に問題 ({{ic|nvidia}} カーネルモジュールが[[ディスプレイマネージャ]]のあとにロードされてしまうなど) が発生する場合には、{{ic|nvidia}}、{{ic|nvidia_modeset}}、{{ic|nvidia_uvm}} そして {{ic|nvidia_drm}} を initramfs に追加することができます。
=== Pure Video HD ===
 
   
  +
===== mkinitcpio =====
[[VDPAU]] によるハードウェアビデオアクセラレーションを使うには第2世代の [[wikipedia:Nvidia PureVideo#Table of GPUs containing a PureVideo SIP block|PureVideo HD]] が載っているビデオカードが必要です。
 
   
  +
[[mkinitcpio]] initramfs を使う場合、[[mkinitcpio#MODULES]] に従ってモジュールを追加してください。
=== DRM カーネルモードセッティング ===
 
   
  +
モジュールを initramfs に追加した場合、{{Pkg|nvidia}} ドライバーがアップデートされるたびに [[mkinitcpio]] を実行することを忘れないようにしてください。この手順を自動化する方法については [[#Pacman フック]]をご覧ください。
{{Warning|カーネル 4.10 と {{pkg|nvidia}} 378.13-3 では KMS を有効にするとクラッシュが発生するようです [https://www.reddit.com/r/archlinux/comments/5yskgn/recurring_freezes_after_upgrade_to_4101_with/]。}}
 
   
  +
===== Booster =====
{{Note|1=NVIDIA ドライバーはカーネルに組み込まれている {{ic|vesafb}} モジュールのための {{ic|fbdev}} ドライバーを提供しません。しかしながら、EFI 環境の場合、カーネルに組み込まれている {{ic|efifb}} モジュールが高解像度な nvidia コンソールに対応しています [http://forums.fedoraforum.org/showthread.php?t=306271]。GRUB で高解像度のコンソールを使うという方法もあります。[[NVIDIA/Tips and tricks#ターミナルの解像度を修正する]]や [https://www.reddit.com/r/archlinux/comments/4gwukx/nvidia_drivers_and_high_resolution_tty_possible/] を見てください。}}
 
   
  +
[[Booster]] を使う場合、[[Booster#モジュールの早期ロード]]をご覧ください。
{{Pkg|nvidia}} 364.16 から DRM [[Kernel Mode Setting]] のサポートが追加されました。この機能を有効にするには、{{ic|1=nvidia-drm.modeset=1}} [[カーネルパラメータ]]を追加してください。そして [[initramfs#MODULES]] に {{ic|nvidia}}, {{ic|nvidia_modeset}}, {{ic|nvidia_uvm}}, {{ic|nvidia_drm}} を追加してください。
 
   
  +
===== Pacman フック =====
{{Warning|ドライバーがアップデートされるたびに毎回 mkinitcpio を実行する必要があります。自動化する方法は [[#Pacman フック]]を見てください。}}
 
   
  +
{{Note|カスタムの pacman フックが必要になるのは、ビルド済みのカーネルモジュールが同梱されているパッケージに対してのみです。{{ic|*-dkms}} パッケージは、更新時に ''mkinitcpio'' が自動的に実行されるので、このようなカスタムの pacman フックは必要ありません。}}
==== Pacman フック ====
 
   
nvidia をアップグレードした後に initramfs をアップデートすることを忘れないように、以下のような pacman フックを利用することができます:
+
NVIDIA ドライバをアップグレードした後に [[initramfs]] をアップデートすることを忘れないように、以下のような [[pacman フック]]を利用することができます:
   
{{hc|/etc/pacman.d/hooks/nvidia.hook|2=[Trigger]
+
{{hc|/etc/pacman.d/hooks/nvidia.hook|2=
  +
[Trigger]
 
Operation=Install
 
Operation=Install
 
Operation=Upgrade
 
Operation=Upgrade
 
Operation=Remove
 
Operation=Remove
 
Type=Package
 
Type=Package
  +
# インストールした NVIDIA のパッケージをあんコメントしてください
 
Target=nvidia
 
Target=nvidia
  +
#Target=nvidia-open
  +
#Target=nvidia-lts
  +
Target=linux
  +
# 異なるカーネルを使用する場合、上の「linux」の部分を変更してください
   
 
[Action]
 
[Action]
  +
Description=Update NVIDIA module in initcpio
 
Depends=mkinitcpio
 
Depends=mkinitcpio
 
When=PostTransaction
 
When=PostTransaction
  +
NeedsTargets
Exec=/usr/bin/mkinitcpio -p linux}}
 
  +
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux*) exit 0; esac; done; /usr/bin/mkinitcpio -P'
  +
}}
   
  +
{{Note|上記の {{ic|Exec}} の行が複雑なのは {{ic|nvidia}} と {{ic|linux}} の両方がアップデートされた場合に ''mkinitcpio'' が何度も実行されるのを防ぐためです。このことが気にならないのであれば、{{ic|1=Target=linux}} と {{ic|NeedsTargets}} の行を削除して、{{ic|Exec}} の行は {{ic|1=Exec=/usr/bin/mkinitcpio -P}} のように単純化させることができます。}}
=== XvMC によるビデオデコードのハードウェアアクセラレーション ===
 
   
  +
=== ビデオデコードのハードウェアアクセラレーション ===
GeForce4, GeForce 5 FX, GeForce 6, GeForce 7 シリーズのカードでは [[XvMC]] による MPEG-1 と MPEG-2 ビデオのデコードのアクセラレーションがサポートされています。使用するには、以下の内容で、新しいファイル {{ic|/etc/X11/XvMCConfig}} を作成してください:
 
libXvMCNVIDIA_dynamic.so.1
 
   
  +
VDPAU によるビデオデコードのアクセラレーションは GeForce 8 シリーズ及びそれ以降のカードでサポートされています。NVDEC によるビデオデコードのアクセラレーションは Fermi (~400 シリーズ) 及びそれ以降のカードでサポートされています。詳しくは [[ハードウェアビデオアクセラレーション]] をご覧ください。
設定方法は[[XvMC#サポートしているソフトウェア|サポートしているソフトウェア]]を参照。
 
   
  +
=== NVENC によるビデオエンコードのハードウェアアクセラレーション ===
== 設定 ==
 
   
  +
NVENC は {{ic|nvidia_uvm}} モジュールと、関連するデバイスノードが {{ic|/dev}} 下に作成されることを要求します。
おそらく、ドライバをインストールした後に Xorg サーバーの設定ファイルを作成する必要はありません。[[Xorg#起動|テスト]]を実行することで Xorg サーバーが設定ファイルなしで問題なく機能するかどうか調べられます。しかし、様々な設定を調節するために設定ファイル ({{ic|/etc/X11/xorg.conf}} よりも {{ic|/etc/X11/xorg.conf.d/20-nvidia.conf}} が好ましい) を作成することが要求されるかもしれません。この設定は NVIDIA の Xorg 設定ツールで生成することが可能で、あるいは、手動でも作成できます。手動で作成する場合、([[Xorg]] サーバーに基本的なオプションだけを与えるという) 最小設定だけを行うこともできますし、逆に、Xorg によって自動検知されたり事前に設定されたオプションを無視する設定を多数含めてもかまいません。
 
   
  +
最新のドライバーパッケージは、自動的にデバイスノードを作成する [[udev ルール]]を提供するので、追加の操作は必要ありません。
=== 最小設定 ===
 
   
  +
古いドライバ (例えば、{{AUR|nvidia-340xx-dkms}}) を使用している場合、デバイスノードを作成する必要があります。{{ic|nvidia-modprobe}} ユーティリティを実行するとデバイスノードが自動的に作成されます。{{ic|/etc/udev/rules.d/70-nvidia.rules}} を作成して {{ic|nvidia-modprobe}} を自動的に実行させることができます:
{{ic|20-nvidia.conf}} (もしくは廃止された {{ic|xorg.conf}}) の基本的な設定ブロックは以下のようになります:
 
  +
  +
{{hc|/etc/udev/rules.d/70-nvidia.rules|2=
  +
ACTION=="add", DEVPATH=="/bus/pci/drivers/nvidia", RUN+="/usr/bin/nvidia-modprobe -c 0 -u"
  +
}}
  +
  +
== Xorg 設定 ==
  +
  +
プロプライエタリな NVIDIA グラフィックドライバは Xorg サーバの設定ファイルを必要としません。[[Xorg#起動|X を起動]]してみて、Xorg サーバが設定ファイル無しで正しく機能するかを確認することができます。しか、様々な設定を調整するために設定ファイル ({{ic|/etc/X11/xorg.conf}} よりも {{ic|/etc/X11/xorg.conf.d/20-nvidia.conf}} を優先して使用してください) を作成する必要があるかもしれません。この設定は、NVIDIA Xorg 設定ツールによって生成することができますし、手動で作成することもできます。手動で作成した場合、([[Xorg]] サーバに基本的なオプションのみを与えると言う意味で) 最小の設定にすることができますし、あるいは、Xorg の自動検出されたオプションや事前設定されたオプションをバイパスできる設定を含めることもできます。
  +
  +
{{Tip|その他の設定オプションは、[[NVIDIA/トラブルシューティング]] を見てください。}}
  +
  +
=== 自動設定 ===
  +
  +
NVIDIA のパッケージには、Xorg サーバの設定ファイル ({{ic|xorg.conf}}) を作成するための自動設定ツールが含まれています。次のコマンドで実行できます:
  +
  +
# nvidia-xconfig
  +
  +
このコマンドは {{ic|/etc/X11/xorg.conf}} を自動検出し、現在のハードウェアに応じてそのファイルを作成 (すでに存在する場合は編集) します。
  +
  +
DRI のインスタンスがある場合は、コメントアウトされているか確認してください:
  +
  +
# Load "dri"
  +
  +
デフォルトの深度、水平同期、垂直リフレッシュ、そして解像度が問題ないか {{ic|/etc/X11/xorg.conf}} を二重にチェックしてください。
  +
  +
=== nvidia-settings ===
  +
  +
{{Pkg|nvidia-settings}} は CLI または GUI を使って様々なオプションを設定することができるツールです。何もオプションをつけずに {{ic|nvidia-settings}} を実行すると GUI が起動します。CLI のオプションについては {{man|1|nvidia-settings}} を見てください。
  +
  +
{{Pkg|nvidia-settings}} の CLI/GUI は非 root なユーザとして実行でき、''nvidia-settings Configuration'' タブにある ''Save Current Configuration'' オプションで設定を {{ic|~/.nvidia-settings-rc}} に保存できます。
  +
  +
現在のユーザで {{ic|~/.nvidia-settings-rc}} をロードするには:
  +
  +
$ nvidia-settings --load-config-only
  +
  +
起動時に毎回このコマンドを実行させるには[[自動起動]]を見てください。
  +
  +
{{Note|
  +
* {{ic|nvidia-settings}} から変更を加えると [[Xorg]] が起動しなくなったりクラッシュするようになったりすることがあります。生成された {{ic|~/.nvidia-settings-rc}} と [[Xorg]] のファイルの両方/片方を調整するか削除することで普通に起動できるようになるはずです。
  +
* [[Cinnamon]] デスクトップは {{ic|nvidia-settings}} を通して作成された設定を上書きしてしまうことがあります。[[Cinnamon#Cinnamon が xorg.conf 内の設定を上書きしてしまう|Cinnamon の起動時の挙動を変更して、設定を上書きしないようにする]]ことができます。}}
  +
  +
=== 手動設定 ===
  +
  +
設定ファイルを編集することで、([[#自動設定|自動的に]]、または [[#NVIDIA settings|nvidia-settings]]によって有効化できない) いくつかの微調整をすることができます。変更を適用する前に Xorg サーバーを再起動する必要があります。
  +
  +
その他の詳細やオプションについては [https://download.nvidia.com/XFree86/Linux-x86_64/545.29.06/README/ NVIDIA Accelerated Linux Graphics Driver README and Installation Guide] をご覧ください。
  +
  +
==== 最小設定 ====
  +
  +
{{ic|20-nvidia.conf}} (もしくは非推奨の {{ic|xorg.conf}}) の基本的な設定ブロックは以下のようになります:
   
 
{{hc|/etc/X11/xorg.conf.d/20-nvidia.conf|
 
{{hc|/etc/X11/xorg.conf.d/20-nvidia.conf|
 
Section "Device"
 
Section "Device"
Identifier "Nvidia Card"
+
Identifier "NVIDIA Card"
 
Driver "nvidia"
 
Driver "nvidia"
 
VendorName "NVIDIA Corporation"
 
VendorName "NVIDIA Corporation"
Option "NoLogo" "true"
+
BoardName "GeForce GTX 1050 Ti"
#Option "UseEDID" "false"
 
#Option "ConnectedMonitor" "DFP"
 
# ...
 
 
EndSection
 
EndSection
 
}}
 
}}
   
  +
==== 起動時のロゴを無効化 ====
{{Tip|nouveau からアップグレードする場合は {{ic|/etc/mkinitcpio.conf}} から {{ic|nouveau}} を削除してください。}}
 
   
  +
{{ic|Device}} セクション内に {{ic|"NoLogo"}} オプションを追加してください:
=== 自動設定 ===
 
   
  +
Option "NoLogo" "1"
NVIDIA のパッケージには Xorg サーバーの設定ファイル ({{ic|xorg.conf}}) を作成するための自動設定ツールが含まれています。次のコマンドで実行できます:
 
# nvidia-xconfig
 
   
  +
==== モニター検出をオーバーライド ====
このコマンドは現在のハードウェアを自動検知して {{ic|/etc/X11/xorg.conf}} の設定を作成(既に存在する場合は編集)します。
 
   
  +
{{ic|Device}} セクション内の {{ic|"ConnectedMonitor"}} オプションにより、 X サーバーが起動した時にモニター検出をオーバーライドできます。これにより、起動時間を大幅に減らせるかもしれません。利用可能なオプション: アナログ接続用の {{ic|"CRT"}}、デジタルモニター用の {{ic|"DFP"}}、テレビ用の {{ic|"TV"}}。
DRI のインスタンスがある場合は、コメントアウトされているか確認してください:
 
# Load "dri"
 
デフォルトの depth, horizontal sync, vertical refresh, resolutions が問題ないか {{ic|/etc/X11/xorg.conf}} を再確認してください。
 
   
  +
以下の行は起動時のチェックをバイパスし、モニターを DFP として認識することを NVIDIA ドライバーに強制します:
{{Warning|Xorg-server 1.8 ではまだ正しく動作しない可能性があります。}}
 
   
  +
Option "ConnectedMonitor" "DFP"
=== NVIDIA Settings ===
 
   
  +
{{Note|たとえディスプレイが薄型パネルであろうと、アナログ15ピン VGA 接続に対しては "CRT" を使用してください。"DFP" は DVI や HDMI、DisplayPort のデジタル接続のみを意図しています。}}
{{Pkg|nvidia-settings}} は CLI または GUI を使って様々なオプションを設定することができるツールです。何もオプションをつけずに {{ic|nvidia-settings}} を実行すると GUI が起動します。CLI のオプションについては {{ic|nvidia-settings(1)}} を見てください。
 
   
  +
==== 輝度調整を有効化 ====
通常ユーザーで GUI を起動した場合、設定を {{ic|~/.nvidia-settings-rc}} に保存できます。保存した設定は {{ic|$ nvidia-settings --load-config-only}} でロードできます ([[xinitrc]] などに記述することで自動的にロードできます)。もしくは、設定ファイルを {{ic|/etc/X11/xorg.conf.d/20-nvidia.conf}} に移動すれば自動的にロードさせることができます。
 
  +
  +
{{Out of date|時代遅れの可能性あり[https://lists.archlinux.org/archives/list/aur-requests@lists.archlinux.org/thread/GXJG7D3ALUQKOE2DT4XCL4UXQUFDDSEC/]。上流のパッケージも古いようです。}}
  +
  +
以下をカーネルパラメータに追加してください:
  +
  +
nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1
  +
  +
あるいは、以下を {{ic|Device}} セクション内に追加してください:
  +
  +
Option "RegistryDwords" "EnableBrightnessControl=1"
  +
  +
もし、この設定で輝度調整がまだ機能しない場合は、{{AUR|nvidia-bl-dkms}} をインストールしてみてください。
  +
  +
{{Note|{{AUR|nvidia-bl-dkms}} をインストールすることにより、バックライト輝度調整用の {{ic|/sys/class/backlight/nvidia_backlight/}} インターフェイスが提供されます。しかし、システムが {{ic|/sys/class/backlight/acpi_video0/}} に対してバックライト制御の変更を発行し続けるかもしれません。この場合の1つの解決策は、例えば、''inotifywait'' を使用して {{ic|acpi_video0/brightness}} の変更を監視し、それを変換して {{ic|nvidia_backlight/brightness}} に対して書き込むことです。[[バックライト#sysfs を変更しても明るさが変更されない]] をご覧ください。}}
  +
  +
==== SLI を有効化 ====
  +
  +
{{Warning|GTX 10xx シリーズ (1080、1070、1060 など) 以降は 2-way SLI のみがサポートされます。3-way や 4-way SLI は CUDA/OpenCL アプリケーションに対しては機能するかもしれませんが、すべての OpenGL アプリケーションに対してはたいてい機能しないでしょう。}}
  +
  +
NVIDIA ドライバーの [https://download.nvidia.com/XFree86/Linux-x86_64/545.29.06/README/xconfigoptions.html README] 付録 B によると: ''このオプションは、サポートされている構成で SLI レンダリングの設定を制御します。'' "サポートされている構成"とは SLI 認定マザーボードと、2基または3基の SLI 認定 GeForce GPU を搭載しているコンピュータのことです。
  +
  +
{{ic|lspci}} を使って1つ目の GPU の PCI Bus ID を調べてください:
  +
  +
{{hc|# lspci {{!}} grep -E "VGA{{!}}3D controller"|
  +
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09)
  +
03:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
  +
04:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
  +
08:00.0 3D controller: NVIDIA Corporation GM108GLM [Quadro K620M / Quadro M500M] (rev a2)
  +
}}
  +
  +
調べた BusID (前述の例では 3) を {{ic|Device}} セクション内に追加してください:
  +
  +
BusID "PCI:3:0:0"
  +
  +
{{Note|フォーマットが重要です。BusID の値は {{ic|"PCI:<BusID>:0:0"}} のように指定されなければなりません。}}
  +
  +
希望する SLI レンダリングモードの値を {{ic|Screen}} セクション内に追加してください:
  +
  +
Option "SLI" "AA"
  +
  +
以下の表は利用可能なレンダリングモードです。
  +
  +
{| class="wikitable"
  +
! 値 !! 挙動
  +
|-
  +
| 0, no, off, false, Single || レンダリング時にただ1つの GPU を使う。
  +
|-
  +
| 1, yes, on, true, Auto || SLI を有効化し、ドライバーが自動的に適切なレンダリングモードを選択することを許可する。
  +
|-
  +
| AFR || SLI を有効化し、Alternate Frame Rendering モードを使う。
  +
|-
  +
| SFR || SLI を有効化し、Split Frame Rendering モードを使う。
  +
|-
  +
| AA || SLI を有効化し、SLI アンチエイリアシングを使う。この値を Full-Scene アンチエイリアシングと一緒に使うと視覚品質が向上します。
  +
|}
  +
  +
あるいは、''nvidia-xconfig'' ユーティリティを使って、これらの変更を {{ic|xorg.conf}} に追加できます:
  +
  +
# nvidia-xconfig --busid=PCI:3:0:0 --sli=AA
  +
  +
SLI モードが有効化されていることをシェルから確認するには:
  +
  +
{{hc|$ nvidia-settings -q all {{!}} grep SLIMode|
  +
Attribute 'SLIMode' (arch:0.0): AA
  +
'SLIMode' is a string attribute.
  +
'SLIMode' is a read-only attribute.
  +
'SLIMode' can use the following target types: X Screen.
  +
}}
  +
  +
{{Warning|SLI を有効化した後に xorg を起動するとシステムがフリーズしたり、応答しなくなったりするかもしれません。再起動する前にディスプレイマネージャーを無効化することをおすすめします。}}
  +
  +
以上の設定で機能しない場合は、{{ic|nvidia-settings}} で得られる PCI Bus ID を使用する必要があるかもしれません。
  +
  +
{{hc|$ nvidia-settings -q all {{!}} grep -i pcibus|
  +
Attribute 'PCIBus' (host:0[gpu:0]): 101.
  +
'PCIBus' is an integer attribute.
  +
'PCIBus' is a read-only attribute.
  +
'PCIBus' can use the following target types: GPU, SDI Input Device.
  +
Attribute 'PCIBus' (host:0[gpu:1]): 23.
  +
'PCIBus' is an integer attribute.
  +
'PCIBus' is a read-only attribute.
  +
'PCIBus' can use the following target types: GPU, SDI Input Device.
  +
}}
  +
  +
そして、xorg.d 内の PrimaryGPU オプションをコメントアウトしてください:
  +
  +
{{hc|/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf|
  +
...
  +
  +
Section "OutputClass"
  +
...
  +
# Option "PrimaryGPU" "yes"
  +
...
  +
}}
   
  +
この設定でグラフィカルブートの問題も解決できるかもしれません。
{{Tip|X サーバーが起動時にクラッシュする場合、おそらく GUI によって生成された設定に問題が存在します。生成されたファイルを削除して再起動してみてください。}}
 
   
 
=== マルチモニター ===
 
=== マルチモニター ===
   
マルチモニターに関する一般的な情報は[[マルチディスプレイ]]を見て下さい。
+
一般的な情報は [[マルチディスプレイ]] を見て下さい。
   
 
==== NVIDIA Settings を使う ====
 
==== NVIDIA Settings を使う ====
   
[[#NVIDIA Settings|nvidia-settings]] ツールを使ってマルチモニターを設定できます。
+
[[#nvidia-settings|nvidia-settings]] ツールを使ってマルチモニターを設定できます。
   
 
CLI で設定する場合、まずは以下を実行して {{ic|CurrentMetaMode}} を確認してください:
 
CLI で設定する場合、まずは以下を実行して {{ic|CurrentMetaMode}} を確認してください:
217行目: 382行目:
   
 
画面を2つ表示するのではなく1つの大きな画面を表示したい場合、{{ic|TwinView}} 引数を {{ic|1}} に設定してください。コンポジットを使いたい場合、このオプションを使用する必要があります。TwinView は全てのモニターが同一のカードに接続されている場合にのみ機能します。
 
画面を2つ表示するのではなく1つの大きな画面を表示したい場合、{{ic|TwinView}} 引数を {{ic|1}} に設定してください。コンポジットを使いたい場合、このオプションを使用する必要があります。TwinView は全てのモニターが同一のカードに接続されている場合にのみ機能します。
  +
 
Option "TwinView" "1"
 
Option "TwinView" "1"
   
  +
設定例:
設定例 [ftp://download.nvidia.com/XFree86/Linux-x86/355.11/README/configtwinview.html]:
 
  +
 
{{hc|/etc/X11/xorg.conf.d/10-monitor.conf|
 
{{hc|/etc/X11/xorg.conf.d/10-monitor.conf|
 
Section "ServerLayout"
 
Section "ServerLayout"
260行目: 427行目:
 
EndSection
 
EndSection
 
}}
 
}}
  +
  +
[https://download.nvidia.com/XFree86/Linux-x86_64/545.29.06/README/configtwinview.html Device オプション情報]。
   
 
SLI に対応しているカードが複数枚存在する場合、別々のカードに接続された複数のモニターを使うことができます (例: 2枚のカードが SLI で、各々のカードにモニターが1台ずつ接続)。SLI モザイクモードと "MetaModes" オプションで有効になります。以下は上記と同じように設定する例で、[[GNOME]] が完璧に動作します:
 
SLI に対応しているカードが複数枚存在する場合、別々のカードに接続された複数のモニターを使うことができます (例: 2枚のカードが SLI で、各々のカードにモニターが1台ずつ接続)。SLI モザイクモードと "MetaModes" オプションで有効になります。以下は上記と同じように設定する例で、[[GNOME]] が完璧に動作します:
  +
 
{{hc|/etc/X11/xorg.conf.d/10-monitor.conf|
 
{{hc|/etc/X11/xorg.conf.d/10-monitor.conf|
 
Section "Device"
 
Section "Device"
315行目: 485行目:
 
Screen 0 "Right Screen" 0 0
 
Screen 0 "Right Screen" 0 0
 
Option "Xinerama" "0"
 
Option "Xinerama" "0"
EndSection}}
+
EndSection
  +
}}
 
===== xrandr による手動の CLI 設定 =====
 
 
上手くいかない場合、ウィンドウマネージャの[[自動起動]]から {{Pkg|xorg-xrandr}} を利用する方法があります。
 
 
{{ic|xrandr}} の例:
 
 
xrandr --output DVI-I-0 --auto --primary --left-of DVI-I-1
 
 
もしくは:
 
 
xrandr --output DVI-I-1 --pos 1440x0 --mode 1440x900 --rate 75.0
 
 
コマンドの意味:
 
 
* {{ic|--output}} はオプションを設定するモニターを指定します。
 
* {{ic|DVI-I-1}} はセカンドモニターの名前です。
 
* {{ic|--pos}} はセカンドモニターの相対位置です。
 
* {{ic|--mode}} はセカンドモニターの解像度です。
 
* {{ic|--rate}} はリフレッシュレート (Hz) です。
 
   
 
===== TwinView を使って垂直同期 =====
 
===== TwinView を使って垂直同期 =====
   
TwinView と垂直同期 (''nvidia-settings'' の "Sync to VBlank" オプション) を使っている場合、モニターの大きさが異なっていると片方の画面だけが同期されます。''nvidia-settings'' にはどちらの画面を同期させるか設定するオプション ("Sync to this display device" オプション) が存在しますが、必ずしも機能するとはいいがたいです。起動時に以下の環境変数を追加することで解決します (例: {{ic|/etc/profile}} に追加):
+
TwinView と垂直同期 ('''nvidia-settings''' の "Sync to VBlank" オプション) を使っている場合、モニターの大きさが異なっていると片方の画面だけが同期されます。'''nvidia-settings''' にはどちらの画面を同期させるか設定するオプション ("Sync to this display device" オプション) が存在しますが、必ずしも機能するとはいいがたいです。起動時に以下の環境変数を追加することで解決します (例: {{ic|/etc/profile}} に追加):
   
 
export __GL_SYNC_TO_VBLANK=1
 
export __GL_SYNC_TO_VBLANK=1
345行目: 496行目:
 
export VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE=DFP-0
 
export VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE=DFP-0
   
{{ic|DFP-0}} は適切な画面に置き換えてください ({{ic|DFP-0}} は DVI 端子で {{ic|CRT-0}} は VGA 端子です)。ディスプレイの識別名は ''nvidia-settings'' の "X Server XVideoSettings" セクションで確認できます。
+
{{ic|DFP-0}} は適切な画面に置き換えてください ({{ic|DFP-0}} は DVI 端子で {{ic|CRT-0}} は VGA 端子です)。ディスプレイの識別名は '''nvidia-settings''' の "X Server XVideoSettings" セクションで確認できます。
   
 
===== Twinview を使ってゲームを遊ぶ =====
 
===== Twinview を使ってゲームを遊ぶ =====
352行目: 503行目:
   
 
SDL のこの挙動を修正するには、次を試して下さい:
 
SDL のこの挙動を修正するには、次を試して下さい:
  +
 
export SDL_VIDEO_FULLSCREEN_HEAD=1
 
export SDL_VIDEO_FULLSCREEN_HEAD=1
   
 
OpenGL の場合、{{ic|xorg.conf}} の {{ic|Device}} セクションに適切な Metamodes を追加して X を再起動してください:
 
OpenGL の場合、{{ic|xorg.conf}} の {{ic|Device}} セクションに適切な Metamodes を追加して X を再起動してください:
  +
 
Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL; 1280x1024,NULL;"
 
Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL; 1280x1024,NULL;"
   
361行目: 514行目:
 
==== モザイクモード ====
 
==== モザイクモード ====
   
複数のグラフィクカードで3以上のモニタを使用してコンポジットを使うにはモザイクモードが必要になります。ウィンドウマネージャはモニタ区別して認識したりしなかったりします。
+
モザイクモードは、複数のグラフィクカードでコンポジット有りで3以上のモニタを使用する唯一の方法です。ウィンドウマネージャはモニタの違いを認識するかもれませんし、しなせん。モザイクモードには、有効な SLI 設定が必要で。SLI を使わずにベースモードを使用する場合でも、GPU は依然として SLI 対応/互換でなければなりません
   
 
===== ベースモザイク =====
 
===== ベースモザイク =====
   
ベースモザイクモードは Geforce 8000 シリーズ以上の GPU で動作します。nvidia-setting の GUI から有効にすることはできません。{{ic|nvidia-xconfig}} コマンドラインプログラムを使用するか {{ic|xorg.conf}} を手動で編集する必要があります。Metamodes を指定してください。以下は4台の DFP を 2x2 の構成で使用する例です。各々の解像度は 1920x1024 で、2枚のカードにそれぞれ2台の DFP が接続されている場合:
+
ベースモザイクモードは Geforce 8000 シリーズ以上の GPU で動作します。nvidia-setting の GUI から有効にすることはできません。''nvidia-xconfig'' コマンドラインプログラムを使用するか {{ic|xorg.conf}} を手動で編集する必要があります。Metamodes を指定してください。以下は4台の DFP を 2x2 の構成で使用する例です。各々の解像度は 1920x1024 で、2枚のカードにそれぞれ2台の DFP が接続されている場合:
  +
 
$ nvidia-xconfig --base-mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"
 
$ nvidia-xconfig --base-mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"
   
{{Note|ドキュメントには 2x2 のモニター構成が記述されていますが、ドライバーのバージョン304現在、Nvidia はベースモザイクモードで使用できるモニターの数を3台まで絞っています。Quadro カードは4台以上のモニターを扱えるはずですが、市場に流通ているカードでは、3台までに制限されています。これについては「Windows ドライバーと同じ」という説明があります。しかしながら、2014年9月現在、Windows はこのようモニターの数の制限はありせん。これはではありせん。仕様です。}}
+
{{Note|ドキュメントには 2x2 のモニター構成が記述されていますが、Base Mosaic モードで[https://forums.developer.nvidia.com/t/basemosaic-v295-vs-v310-vs-v325-only-up-to-three-screens/30583#3954733 GeForce カードは人為的にモニタ3台に制限されています]。Quadro カードは4台以上のモニタをサポしています。2014年9月現在、Windows ドライバはこの人為的な制限を落とししたが、Linux ドライバでは未だに残っています。}}
   
 
===== SLI モザイク =====
 
===== SLI モザイク =====
   
 
SLI 構成を使っていて、使用する GPU が Quadro FX 5800 や Quadro Fermi 以降の場合、SLI モザイクモードが利用できます。nvidia-settings の GUI の中から有効化するか、コマンドラインで設定してください:
 
SLI 構成を使っていて、使用する GPU が Quadro FX 5800 や Quadro Fermi 以降の場合、SLI モザイクモードが利用できます。nvidia-settings の GUI の中から有効化するか、コマンドラインで設定してください:
  +
 
$ nvidia-xconfig --sli=Mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"
 
$ nvidia-xconfig --sli=Mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"
   
=== Driver Persistence ===
+
== Wayland ==
   
  +
さらなる情報については [[Wayland#要件]] をご覧ください。
バージョン 319 から、NVIDIA は Driver Persistence の動作を変更しており、ブート時に起動するデーモンが存在します。詳しくは NVIDIA のドキュメントの [http://docs.nvidia.com/deploy/driver-persistence/index.html Driver Persistence] セクションを見て下さい。
 
   
  +
さらなる設定オプションについては、それぞれのコンポジタの wiki ページやドキュメントをご覧ください。
ブート時に persistence デーモンを起動するには、{{ic|nvidia-persistenced.service}} を[[有効化]]してください。使用方法は [http://docs.nvidia.com/deploy/driver-persistence/index.html#usage 上流のドキュメント] を参照。
 
   
  +
Xwayland に関しては [[Wayland#Xwayland]] をご覧ください。
== Tips and tricks ==
 
   
  +
GDM を使用している場合は、[[GDM#Wayland とプロプライエタリな NVIDIA ドライバ]] をご覧ください。
[[NVIDIA/Tips and tricks]] を参照。
 
  +
  +
== ヒントとテクニック ==
  +
  +
[[NVIDIA/ヒントとテクニック]] を参照。
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
   
[[NVIDIA/トラブルシューティング]]を参照。
+
[[NVIDIA/トラブルシューティング]] を参照。
   
 
== 参照 ==
 
== 参照 ==
   
  +
* [https://forums.developer.nvidia.com/t/current-graphics-driver-releases/28500 Current graphics driver releases in official NVIDIA Forum]
* [https://forums.geforce.com/ NVIDIA ユーザーフォーラム]
 
  +
* [https://forums.developer.nvidia.com/c/gpu-graphics/linux/148 NVIDIA Developers Forum - Linux Subforum]
* [ftp://download.nvidia.com/XFree86/Linux-x86/355.11/README/README.txt Official README for NVIDIA drivers, all on one text page. Most Recent Driver Version as of September 7, 2015: 355.11.]
 
  +
* [ftp://download.nvidia.com/XFree86/Linux-x86/355.11/README/xconfigoptions.html README Appendix B. X Config Options, 355.11 (direct link)]
 
  +
{{TranslationStatus|NVIDIA|2024-03-21|803810}}

2024年3月21日 (木) 18:38時点における最新版

関連記事

この記事はプロプライエタリな NVIDIA グラフィックカードドライバをカバーしています。オープンソースのドライバに関しては、Nouveau を見てください。Intel/NVIDIA のハイブリッドグラフックスを搭載しているノートパソコンを使っている場合は、代わりに NVIDIA Optimus を見て下さい。

インストール

警告: NVIDIA のウェブサイトで提供されているパッケージを通して NVIDIA ドライバをインストールすることは避けてください。pacman 経由でインストールすれば、システムをアップデートした際にドライバもアップデートすることができます。
ノート: ハイブリッドグラフィックカードのあるシステム上でデュアルブートする場合は、Windows またはサードパーティのアプリで Eco mode を有効化すると NVIDIA のディスクリート GPU が非アクティブ化され、検出されなくなります。
  1. 使用しているグラフィックカードがわからない場合、次を実行して確認してください:
    $ lspci -k | grep -A 2 -E "(VGA|3D)"
  2. あなたのカードに合うドライバのバージョンを調べてください:
  3. あなたのカードに合う適切なドライバーをインストールしてください:
    ノート: dkms をインストールする際は、Dynamic Kernel Module Support#インストール を読んでください。
  4. 32ビットアプリケーションのサポートが必要な場合は、対応する lib32 パッケージも multilib リポジトリからインストールしてください (例: lib32-nvidia-utils)。
  5. /etc/mkinitcpio.conf 内の HOOKS 配列から kms を削除し、その後 initramfs を再生成してください。こうすることで、initramfs に nouveau モジュールが含まれないようにして、カーネルがこのモジュールを初期ブート中に読み込めないようにします。
  6. 再起動してください。nvidia-utils パッケージには nouveau モジュールをブラックリスト化するファイルが含まれているため、再起動が必須です。

ドライバーをインストールしたら、#Xorg 設定 または #Wayland へと進んでください。

サポートがないドライバー

さらに古いカードを使用している場合、NVIDIA はもはやあなたのカード用のドライバを積極的にサポートしていません。これはつまり、最新バージョンの Xorg を公式にはサポートしていないことを意味しています。なので、最新の Xorg を古いカードでもサポートしている nouveau ドライバーを使うほうが楽かもしれません。

しかし、NVIDIA のレガシーなドライバは依然として利用可能であり、より高い 3D パフォーマンス/安定性をもたらすかもしれません。

カスタムカーネル

使用中のカーネルで CONFIG_DRM_SIMPLEDRM=y となっていることを確認してください。そして、CONFIG_DEBUG_INFO_BTF を使用している場合、PKGBUILD で以下が必要です (カーネル 5.16 以降):

install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids

DRM カーネルモード設定

NVIDIA は KMS の自動遅延読み込みをサポートしていないため、Wayland コンポジタを正しく動作させたり、Rootless Xorg を利用できるようにするには DRM (Direct Rendering Manager) カーネルモード設定を有効化する必要があります。

DRM カーネルモード設定を有効化するには、nvidia_drm モジュールに対して modeset=1 カーネルモジュールパラメータを設定してください。

nvidia_drm.modeset=1 が適切に設定されていることをブート後に確認するには、以下のコマンドを実行してください:

# cat /sys/module/nvidia_drm/parameters/modeset

正しく設定されていれば、このコマンドは N ではなく Y と出力するはずです。

加えて、ドライバのバージョン 545 及びそれ以降においては、実験的な nvidia_drm.fbdev=1 パラメータを使用することもできます。このパラメータにより、simpledrm においては動作しない efifbvesafb を使用せずに、NVIDIA ドライバ自身のフレームバッファデバイスを使用するようになります。

バージョン 545 より前の NVIDIA ドライバを使用している場合や、nvidia_drm.fbdev=1 パラメータを使用しない場合、simpledrm を無効化するために nvidia_drm.modeset=1 オプションをカーネルパラメータによって設定する必要があります [1] (詳細は FS#73720 を参照)。

ノート:
  • nvidia_drm.fbdev=1 には、バージョン 550 以降のドライバでしか修正されないであろう既知の問題があります。詳細は en:Talk:NVIDIA#Framebuffer consoles experimental support を参照してください。
  • バージョン 470 より前の NVIDIA ドライバ (例: nvidia-390xx-dkmsAUR) は Xwayland のハードウェアアクセラレーションをサポートしていません。よって、非 Wayland ネイティブなアプリケーションは Wayland セッションでパフォーマンスが劣化します。

早期ロード

基本的な機能については先のカーネルパラメータを追加するだけで十分でしょう。可能な限り早い時にロードさせたい場合や、スタートアップ時に問題 (nvidia カーネルモジュールがディスプレイマネージャのあとにロードされてしまうなど) が発生する場合には、nvidianvidia_modesetnvidia_uvm そして nvidia_drm を initramfs に追加することができます。

mkinitcpio

mkinitcpio initramfs を使う場合、mkinitcpio#MODULES に従ってモジュールを追加してください。

モジュールを initramfs に追加した場合、nvidia ドライバーがアップデートされるたびに mkinitcpio を実行することを忘れないようにしてください。この手順を自動化する方法については #Pacman フックをご覧ください。

Booster

Booster を使う場合、Booster#モジュールの早期ロードをご覧ください。

Pacman フック
ノート: カスタムの pacman フックが必要になるのは、ビルド済みのカーネルモジュールが同梱されているパッケージに対してのみです。*-dkms パッケージは、更新時に mkinitcpio が自動的に実行されるので、このようなカスタムの pacman フックは必要ありません。

NVIDIA ドライバをアップグレードした後に initramfs をアップデートすることを忘れないように、以下のような pacman フックを利用することができます:

/etc/pacman.d/hooks/nvidia.hook
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
# インストールした NVIDIA のパッケージをあんコメントしてください
Target=nvidia
#Target=nvidia-open
#Target=nvidia-lts
Target=linux
# 異なるカーネルを使用する場合、上の「linux」の部分を変更してください

[Action]
Description=Update NVIDIA module in initcpio
Depends=mkinitcpio
When=PostTransaction
NeedsTargets
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux*) exit 0; esac; done; /usr/bin/mkinitcpio -P'
ノート: 上記の Exec の行が複雑なのは nvidialinux の両方がアップデートされた場合に mkinitcpio が何度も実行されるのを防ぐためです。このことが気にならないのであれば、Target=linuxNeedsTargets の行を削除して、Exec の行は Exec=/usr/bin/mkinitcpio -P のように単純化させることができます。

ビデオデコードのハードウェアアクセラレーション

VDPAU によるビデオデコードのアクセラレーションは GeForce 8 シリーズ及びそれ以降のカードでサポートされています。NVDEC によるビデオデコードのアクセラレーションは Fermi (~400 シリーズ) 及びそれ以降のカードでサポートされています。詳しくは ハードウェアビデオアクセラレーション をご覧ください。

NVENC によるビデオエンコードのハードウェアアクセラレーション

NVENC は nvidia_uvm モジュールと、関連するデバイスノードが /dev 下に作成されることを要求します。

最新のドライバーパッケージは、自動的にデバイスノードを作成する udev ルールを提供するので、追加の操作は必要ありません。

古いドライバ (例えば、nvidia-340xx-dkmsAUR) を使用している場合、デバイスノードを作成する必要があります。nvidia-modprobe ユーティリティを実行するとデバイスノードが自動的に作成されます。/etc/udev/rules.d/70-nvidia.rules を作成して nvidia-modprobe を自動的に実行させることができます:

/etc/udev/rules.d/70-nvidia.rules
ACTION=="add", DEVPATH=="/bus/pci/drivers/nvidia", RUN+="/usr/bin/nvidia-modprobe -c 0 -u"

Xorg 設定

プロプライエタリな NVIDIA グラフィックドライバは Xorg サーバの設定ファイルを必要としません。X を起動してみて、Xorg サーバが設定ファイル無しで正しく機能するかを確認することができます。しか、様々な設定を調整するために設定ファイル (/etc/X11/xorg.conf よりも /etc/X11/xorg.conf.d/20-nvidia.conf を優先して使用してください) を作成する必要があるかもしれません。この設定は、NVIDIA Xorg 設定ツールによって生成することができますし、手動で作成することもできます。手動で作成した場合、(Xorg サーバに基本的なオプションのみを与えると言う意味で) 最小の設定にすることができますし、あるいは、Xorg の自動検出されたオプションや事前設定されたオプションをバイパスできる設定を含めることもできます。

ヒント: その他の設定オプションは、NVIDIA/トラブルシューティング を見てください。

自動設定

NVIDIA のパッケージには、Xorg サーバの設定ファイル (xorg.conf) を作成するための自動設定ツールが含まれています。次のコマンドで実行できます:

# nvidia-xconfig

このコマンドは /etc/X11/xorg.conf を自動検出し、現在のハードウェアに応じてそのファイルを作成 (すでに存在する場合は編集) します。

DRI のインスタンスがある場合は、コメントアウトされているか確認してください:

#    Load        "dri"

デフォルトの深度、水平同期、垂直リフレッシュ、そして解像度が問題ないか /etc/X11/xorg.conf を二重にチェックしてください。

nvidia-settings

nvidia-settings は CLI または GUI を使って様々なオプションを設定することができるツールです。何もオプションをつけずに nvidia-settings を実行すると GUI が起動します。CLI のオプションについては nvidia-settings(1) を見てください。

nvidia-settings の CLI/GUI は非 root なユーザとして実行でき、nvidia-settings Configuration タブにある Save Current Configuration オプションで設定を ~/.nvidia-settings-rc に保存できます。

現在のユーザで ~/.nvidia-settings-rc をロードするには:

$ nvidia-settings --load-config-only

起動時に毎回このコマンドを実行させるには自動起動を見てください。

ノート:
  • nvidia-settings から変更を加えると Xorg が起動しなくなったりクラッシュするようになったりすることがあります。生成された ~/.nvidia-settings-rcXorg のファイルの両方/片方を調整するか削除することで普通に起動できるようになるはずです。
  • Cinnamon デスクトップは nvidia-settings を通して作成された設定を上書きしてしまうことがあります。Cinnamon の起動時の挙動を変更して、設定を上書きしないようにすることができます。

手動設定

設定ファイルを編集することで、(自動的に、または nvidia-settingsによって有効化できない) いくつかの微調整をすることができます。変更を適用する前に Xorg サーバーを再起動する必要があります。

その他の詳細やオプションについては NVIDIA Accelerated Linux Graphics Driver README and Installation Guide をご覧ください。

最小設定

20-nvidia.conf (もしくは非推奨の xorg.conf) の基本的な設定ブロックは以下のようになります:

/etc/X11/xorg.conf.d/20-nvidia.conf
Section "Device"
        Identifier "NVIDIA Card"
        Driver "nvidia"
        VendorName "NVIDIA Corporation"
        BoardName "GeForce GTX 1050 Ti"
EndSection

起動時のロゴを無効化

Device セクション内に "NoLogo" オプションを追加してください:

Option "NoLogo" "1"

モニター検出をオーバーライド

Device セクション内の "ConnectedMonitor" オプションにより、 X サーバーが起動した時にモニター検出をオーバーライドできます。これにより、起動時間を大幅に減らせるかもしれません。利用可能なオプション: アナログ接続用の "CRT"、デジタルモニター用の "DFP"、テレビ用の "TV"

以下の行は起動時のチェックをバイパスし、モニターを DFP として認識することを NVIDIA ドライバーに強制します:

Option "ConnectedMonitor" "DFP"
ノート: たとえディスプレイが薄型パネルであろうと、アナログ15ピン VGA 接続に対しては "CRT" を使用してください。"DFP" は DVI や HDMI、DisplayPort のデジタル接続のみを意図しています。

輝度調整を有効化

この記事またはセクションは情報が古くなっています。
理由: 時代遅れの可能性あり[2]。上流のパッケージも古いようです。 (Discuss)

以下をカーネルパラメータに追加してください:

nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1

あるいは、以下を Device セクション内に追加してください:

Option "RegistryDwords" "EnableBrightnessControl=1"

もし、この設定で輝度調整がまだ機能しない場合は、nvidia-bl-dkmsAUR をインストールしてみてください。

ノート: nvidia-bl-dkmsAUR をインストールすることにより、バックライト輝度調整用の /sys/class/backlight/nvidia_backlight/ インターフェイスが提供されます。しかし、システムが /sys/class/backlight/acpi_video0/ に対してバックライト制御の変更を発行し続けるかもしれません。この場合の1つの解決策は、例えば、inotifywait を使用して acpi_video0/brightness の変更を監視し、それを変換して nvidia_backlight/brightness に対して書き込むことです。バックライト#sysfs を変更しても明るさが変更されない をご覧ください。

SLI を有効化

警告: GTX 10xx シリーズ (1080、1070、1060 など) 以降は 2-way SLI のみがサポートされます。3-way や 4-way SLI は CUDA/OpenCL アプリケーションに対しては機能するかもしれませんが、すべての OpenGL アプリケーションに対してはたいてい機能しないでしょう。

NVIDIA ドライバーの README 付録 B によると: このオプションは、サポートされている構成で SLI レンダリングの設定を制御します。 "サポートされている構成"とは SLI 認定マザーボードと、2基または3基の SLI 認定 GeForce GPU を搭載しているコンピュータのことです。

lspci を使って1つ目の GPU の PCI Bus ID を調べてください:

# lspci | grep -E "VGA|3D controller"
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09)
03:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
04:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
08:00.0 3D controller: NVIDIA Corporation GM108GLM [Quadro K620M / Quadro M500M] (rev a2)

調べた BusID (前述の例では 3) を Device セクション内に追加してください:

BusID "PCI:3:0:0"
ノート: フォーマットが重要です。BusID の値は "PCI:<BusID>:0:0" のように指定されなければなりません。

希望する SLI レンダリングモードの値を Screen セクション内に追加してください:

Option "SLI" "AA"

以下の表は利用可能なレンダリングモードです。

挙動
0, no, off, false, Single レンダリング時にただ1つの GPU を使う。
1, yes, on, true, Auto SLI を有効化し、ドライバーが自動的に適切なレンダリングモードを選択することを許可する。
AFR SLI を有効化し、Alternate Frame Rendering モードを使う。
SFR SLI を有効化し、Split Frame Rendering モードを使う。
AA SLI を有効化し、SLI アンチエイリアシングを使う。この値を Full-Scene アンチエイリアシングと一緒に使うと視覚品質が向上します。

あるいは、nvidia-xconfig ユーティリティを使って、これらの変更を xorg.conf に追加できます:

# nvidia-xconfig --busid=PCI:3:0:0 --sli=AA

SLI モードが有効化されていることをシェルから確認するには:

$ nvidia-settings -q all | grep SLIMode
  Attribute 'SLIMode' (arch:0.0): AA 
    'SLIMode' is a string attribute.
    'SLIMode' is a read-only attribute.
    'SLIMode' can use the following target types: X Screen.
警告: SLI を有効化した後に xorg を起動するとシステムがフリーズしたり、応答しなくなったりするかもしれません。再起動する前にディスプレイマネージャーを無効化することをおすすめします。

以上の設定で機能しない場合は、nvidia-settings で得られる PCI Bus ID を使用する必要があるかもしれません。

$ nvidia-settings -q all | grep -i pcibus
Attribute 'PCIBus' (host:0[gpu:0]): 101.
  'PCIBus' is an integer attribute.
  'PCIBus' is a read-only attribute.
  'PCIBus' can use the following target types: GPU, SDI Input Device.
Attribute 'PCIBus' (host:0[gpu:1]): 23.
  'PCIBus' is an integer attribute.
  'PCIBus' is a read-only attribute.
  'PCIBus' can use the following target types: GPU, SDI Input Device.

そして、xorg.d 内の PrimaryGPU オプションをコメントアウトしてください:

/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
...

Section "OutputClass"
...
    # Option "PrimaryGPU" "yes"
...

この設定でグラフィカルブートの問題も解決できるかもしれません。

マルチモニター

一般的な情報は マルチディスプレイ を見て下さい。

NVIDIA Settings を使う

nvidia-settings ツールを使ってマルチモニターを設定できます。

CLI で設定する場合、まずは以下を実行して CurrentMetaMode を確認してください:

$ nvidia-settings -q CurrentMetaMode
Attribute 'CurrentMetaMode' (hostnmae:0.0): id=50, switchable=no, source=nv-control :: DPY-1: 2880x1620 @2880x1620 +0+0 {ViewPortIn=2880x1620, ViewPortOut=2880x1620+0+0}

:: 以降の全て (上記の場合: DPY-1: 2880x1620 @2880x1620 +0+0 {ViewPortIn=2880x1620, ViewPortOut=2880x1620+0+0}) を使って nvidia-settings --assign "CurrentMetaMode=your_meta_mode" でディスプレイを再設定できます。

ヒント: 使用するモニターや解像度の設定ごとにシェルのエイリアスを作成すると便利です。

ConnectedMonitor

ドライバーがセカンドモニタを正しく認識しない場合は、ConnectedMonitor を使って認識するように強制できます。

/etc/X11/xorg.conf

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Panasonic"
    ModelName      "Panasonic MICRON 2100Ex"
    HorizSync       30.0 - 121.0 # this monitor has incorrect EDID, hence Option "UseEDIDFreqs" "false"
    VertRefresh     50.0 - 160.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Gateway"
    ModelName      "GatewayVX1120"
    HorizSync       30.0 - 121.0
    VertRefresh     50.0 - 160.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    Option         "NoLogo"
    Option         "UseEDIDFreqs" "false"
    Option         "ConnectedMonitor" "CRT,CRT"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 6200 LE"
    BusID          "PCI:3:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    Option         "NoLogo"
    Option         "UseEDIDFreqs" "false"
    Option         "ConnectedMonitor" "CRT,CRT"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 6200 LE"
    BusID          "PCI:3:0:0"
    Screen          1
EndSection

TwinView を使わずに1つのカードで2つのモニターを X で使うために Screen でデバイスを複製しています。nvidia-settings は追加した ConnectedMonitor オプションを全て消してしまうので注意してください。

TwinView

画面を2つ表示するのではなく1つの大きな画面を表示したい場合、TwinView 引数を 1 に設定してください。コンポジットを使いたい場合、このオプションを使用する必要があります。TwinView は全てのモニターが同一のカードに接続されている場合にのみ機能します。

Option "TwinView" "1"

設定例:

/etc/X11/xorg.conf.d/10-monitor.conf
Section "ServerLayout"
    Identifier     "TwinLayout"
    Screen         0 "metaScreen" 0 0
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    Option         "Enable" "true"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    Option         "Enable" "true"
EndSection

Section "Device"
    Identifier     "Card0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"

    #refer to the link below for more information on each of the following options.
    Option         "HorizSync"          "DFP-0: 28-33; DFP-1 28-33"
    Option         "VertRefresh"        "DFP-0: 43-73; DFP-1 43-73"
    Option         "MetaModes"          "1920x1080, 1920x1080"
    Option         "ConnectedMonitor"   "DFP-0, DFP-1"
    Option         "MetaModeOrientation" "DFP-1 LeftOf DFP-0"
EndSection

Section "Screen"
    Identifier     "metaScreen"
    Device         "Card0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "True"
    SubSection "Display"
        Modes          "1920x1080"
    EndSubSection
EndSection

Device オプション情報

SLI に対応しているカードが複数枚存在する場合、別々のカードに接続された複数のモニターを使うことができます (例: 2枚のカードが SLI で、各々のカードにモニターが1台ずつ接続)。SLI モザイクモードと "MetaModes" オプションで有効になります。以下は上記と同じように設定する例で、GNOME が完璧に動作します:

/etc/X11/xorg.conf.d/10-monitor.conf
Section "Device"
        Identifier      "Card A"
        Driver          "nvidia"
        BusID           "PCI:1:00:0"
EndSection

Section "Device"
        Identifier      "Card B"
        Driver          "nvidia"
        BusID           "PCI:2:00:0"
EndSection

Section "Monitor"
        Identifier      "Right Monitor"
EndSection

Section "Monitor"
        Identifier      "Left Monitor"
EndSection

Section "Screen"
        Identifier      "Right Screen"
        Device          "Card A"
        Monitor         "Right Monitor"
        DefaultDepth    24
        Option          "SLI" "Mosaic"
        Option          "Stereo" "0"
        Option          "BaseMosaic" "True"
        Option          "MetaModes" "GPU-0.DFP-0: 1920x1200+4480+0, GPU-1.DFP-0:1920x1200+0+0"
        SubSection      "Display"
                        Depth           24
        EndSubSection
EndSection

Section "Screen"
        Identifier      "Left Screen"
        Device          "Card B"
        Monitor         "Left Monitor"
        DefaultDepth    24
        Option          "SLI" "Mosaic"
        Option          "Stereo" "0"
        Option          "BaseMosaic" "True"
        Option          "MetaModes" "GPU-0.DFP-0: 1920x1200+4480+0, GPU-1.DFP-0:1920x1200+0+0"
        SubSection      "Display"
                        Depth           24
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier      "Default"
        Screen 0        "Right Screen" 0 0
        Option          "Xinerama" "0"
EndSection
TwinView を使って垂直同期

TwinView と垂直同期 (nvidia-settings の "Sync to VBlank" オプション) を使っている場合、モニターの大きさが異なっていると片方の画面だけが同期されます。nvidia-settings にはどちらの画面を同期させるか設定するオプション ("Sync to this display device" オプション) が存在しますが、必ずしも機能するとはいいがたいです。起動時に以下の環境変数を追加することで解決します (例: /etc/profile に追加):

export __GL_SYNC_TO_VBLANK=1
export __GL_SYNC_DISPLAY_DEVICE=DFP-0
export VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE=DFP-0

DFP-0 は適切な画面に置き換えてください (DFP-0 は DVI 端子で CRT-0 は VGA 端子です)。ディスプレイの識別名は nvidia-settings の "X Server XVideoSettings" セクションで確認できます。

Twinview を使ってゲームを遊ぶ

TwinView を使ってフルスクリーンのゲームを遊ぶ場合、2つの画面が1つの大きな画面としてゲームから認識されることがあります。技術的にこれは正しいのですが (仮想的な X スクリーンの横幅は両方の画面を合わせたサイズになります)、ゲームを遊ぶときは両方の画面を使わないようにしたいときもあるでしょう。

SDL のこの挙動を修正するには、次を試して下さい:

export SDL_VIDEO_FULLSCREEN_HEAD=1

OpenGL の場合、xorg.confDevice セクションに適切な Metamodes を追加して X を再起動してください:

Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL; 1280x1024,NULL;"

別の X サーバーでゲームを起動する方法もあります。上記の方法と一緒に使うことも可能です。

モザイクモード

モザイクモードは、複数のグラフィクカードでコンポジット有りで3つ以上のモニタを使用する唯一の方法です。ウィンドウマネージャは各モニタの違いを認識するかもしれませんし、しないかもしれません。モザイクモードには、有効な SLI 設定が必要です。SLI を使わずにベースモードを使用する場合でも、GPU は依然として SLI 対応/互換でなければなりません。

ベースモザイク

ベースモザイクモードは Geforce 8000 シリーズ以上の GPU で動作します。nvidia-setting の GUI から有効にすることはできません。nvidia-xconfig コマンドラインプログラムを使用するか xorg.conf を手動で編集する必要があります。Metamodes を指定してください。以下は4台の DFP を 2x2 の構成で使用する例です。各々の解像度は 1920x1024 で、2枚のカードにそれぞれ2台の DFP が接続されている場合:

$ nvidia-xconfig --base-mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"
ノート: ドキュメントには 2x2 のモニター構成が記述されていますが、Base Mosaic モードでGeForce カードは人為的にモニタ3台に制限されています。Quadro カードは4台以上のモニタをサポートしています。2014年9月現在、Windows ドライバはこの人為的な制限を落としましたが、Linux ドライバでは未だに残っています。
SLI モザイク

SLI 構成を使っていて、使用する GPU が Quadro FX 5800 や Quadro Fermi 以降の場合、SLI モザイクモードが利用できます。nvidia-settings の GUI の中から有効化するか、コマンドラインで設定してください:

$ nvidia-xconfig --sli=Mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"

Wayland

さらなる情報については Wayland#要件 をご覧ください。

さらなる設定オプションについては、それぞれのコンポジタの wiki ページやドキュメントをご覧ください。

Xwayland に関しては Wayland#Xwayland をご覧ください。

GDM を使用している場合は、GDM#Wayland とプロプライエタリな NVIDIA ドライバ をご覧ください。

ヒントとテクニック

NVIDIA/ヒントとテクニック を参照。

トラブルシューティング

NVIDIA/トラブルシューティング を参照。

参照

翻訳ステータス: このページは en:NVIDIA の翻訳バージョンです。最後の翻訳日は 2024-03-21 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。