「NVIDIA」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(動機お)
13行目: 13行目:
 
[[zh-CN:NVIDIA]]
 
[[zh-CN:NVIDIA]]
 
{{Related articles start}}
 
{{Related articles start}}
  +
{{Related|NVIDIA/Tips and tricks}}
  +
{{Related|NVIDIA/トラブルシューティング}}
 
{{Related|Nouveau}}
 
{{Related|Nouveau}}
 
{{Related|Bumblebee}}
 
{{Related|Bumblebee}}
22行目: 24行目:
   
 
== インストール ==
 
== インストール ==
 
以下は、標準の {{Pkg|linux}} または {{Pkg|linux-lts}} パッケージを使っている人向けの指示です。カスタムカーネルを使っている場合のセットアップは、[[#Alternate install: カスタムカーネル|次のサブセクション]]まで読み飛ばしてください。
 
   
 
{{Tip|NVIDIA ドライバをインストールするときは NVIDIA のサイトで提供されているパッケージよりも [[pacman]] を使った方が基本的に有益です。なぜなら、そうすることで、システムをアップデートした際にドライバもアップデートすることができるからです。}}
 
{{Tip|NVIDIA ドライバをインストールするときは NVIDIA のサイトで提供されているパッケージよりも [[pacman]] を使った方が基本的に有益です。なぜなら、そうすることで、システムをアップデートした際にドライバもアップデートすることができるからです。}}
 
{{Warning|ドライバーのバージョンを混合させると動作しません。最新のブランチと、古いブランチの32ビット libGL パッケージを使用することはできません。}}
 
{{Warning|ドライバーのバージョンを混合させると動作しません。最新のブランチと、古いブランチの32ビット libGL パッケージを使用することはできません。}}
  +
  +
以下は、標準の {{Pkg|linux}} または {{Pkg|linux-lts}} パッケージを使っている人向けの指示です。カスタムカーネルを使っている場合のセットアップは、[[#カスタムカーネル|次のサブセクション]]まで読み飛ばしてください。
   
 
1. あなたの使っているグラフィックカードが何かわからない場合は、次を実行することで確認してください:
 
1. あなたの使っているグラフィックカードが何かわからない場合は、次を実行することで確認してください:
35行目: 37行目:
 
3. あなたのカードに合わせて適切なドライバーをインストールしてください:
 
3. あなたのカードに合わせて適切なドライバーをインストールしてください:
 
:* GeForce 400 シリーズとそれよりも新しいカード [NVCx 以降] の場合は、[[公式リポジトリ]]にある {{Pkg|nvidia}} または {{Pkg|nvidia-lts}} パッケージ (と {{Pkg|nvidia-libgl}} パッケージ) をインストールしてください。
 
:* GeForce 400 シリーズとそれよりも新しいカード [NVCx 以降] の場合は、[[公式リポジトリ]]にある {{Pkg|nvidia}} または {{Pkg|nvidia-lts}} パッケージ (と {{Pkg|nvidia-libgl}} パッケージ) をインストールしてください。
:* 2006年から2010年の GeForce 8000/9000 と 100-300 シリーズのカード [NV5x, NV8x, NV9x, NVAx] の場合は、[[公式リポジトリ]]にある {{Pkg|nvidia-340xx}} または {{Pkg|nvidia-340xx-lts}} パッケージ (と {{Pkg|nvidia-340xx-libgl}} パッケージ) をインストールしてください。
+
:* 2006年から2010年の GeForce 8000/9000 と 100-300 シリーズのカード [NV5x, NV8x, NV9x, NVAx]、ION の場合は、[[公式リポジトリ]]にある {{Pkg|nvidia-340xx}} または {{Pkg|nvidia-340xx-lts}} パッケージ (と {{Pkg|nvidia-340xx-libgl}} パッケージ) をインストールしてください。
 
:* 2004年から2006年の GeForce 6000/7000 シリーズのカード [NV4x と NV6x] の場合は、[[公式リポジトリ]]にある {{Pkg|nvidia-304xx}} または {{Pkg|nvidia-304xx-lts}} パッケージ (と {{Pkg|nvidia-304xx-libgl}} パッケージ) をインストールしてください。
 
:* 2004年から2006年の GeForce 6000/7000 シリーズのカード [NV4x と NV6x] の場合は、[[公式リポジトリ]]にある {{Pkg|nvidia-304xx}} または {{Pkg|nvidia-304xx-lts}} パッケージ (と {{Pkg|nvidia-304xx-libgl}} パッケージ) をインストールしてください。
 
:* さらに古いカードの場合は、[[#サポートがないドライバー|サポートがないドライバー]]を見て下さい。
 
:* さらに古いカードの場合は、[[#サポートがないドライバー|サポートがないドライバー]]を見て下さい。
 
:* 一番最新の GPU モデルを使う場合、安定版のドライバーでは新しく導入された機能をサポートしていないために、[[Arch User Repository]] から {{AUR|nvidia-beta}} をインストールする必要があるかもしれません。
 
:* 一番最新の GPU モデルを使う場合、安定版のドライバーでは新しく導入された機能をサポートしていないために、[[Arch User Repository]] から {{AUR|nvidia-beta}} をインストールする必要があるかもしれません。
:マシンが64ビット環境で32ビットの OpenGL サポートが必要な場合は、[[multilib]] リポジトリから相当する ''lib32'' パッケージもインストールしてください (例: {{Pkg|lib32-nvidia-libgl}}, {{Pkg|lib32-nvidia-340xx-libgl}}, {{Pkg|lib32-nvidia-304xx-libgl}})。
+
4. マシンが64ビット環境で32ビットの OpenGL サポートが必要な場合は、[[multilib]] リポジトリから相当する ''lib32'' パッケージもインストールしてください (例: {{Pkg|lib32-nvidia-libgl}}, {{Pkg|lib32-nvidia-340xx-libgl}}, {{Pkg|lib32-nvidia-304xx-libgl}})。
   
4. 再起動してください。{{Pkg|nvidia}} パッケージには ''nouveau'' モジュールをブラックリスト化するファイルが含まれているため、再起動が必須になります。
+
5. 再起動してください。{{Pkg|nvidia}} パッケージには ''nouveau'' モジュールをブラックリスト化するファイルが含まれているため、再起動が必須になります。
   
 
ドライバーをインストールしたら、続けて[[#設定|設定]]へと進んでください。
 
ドライバーをインストールしたら、続けて[[#設定|設定]]へと進んでください。
56行目: 58行目:
 
{{Tip|レガシーな nvidia-96xx-dkms と nvidia-173xx-dkms ドライバーは非公式の [http://pkgbuild.com/~bgyorgy/city.html <nowiki>[city] リポジトリ</nowiki>] からもインストールできます (ここからインストールする時は依存関係の制限をスキップしないことを強く推奨します)。}}
 
{{Tip|レガシーな nvidia-96xx-dkms と nvidia-173xx-dkms ドライバーは非公式の [http://pkgbuild.com/~bgyorgy/city.html <nowiki>[city] リポジトリ</nowiki>] からもインストールできます (ここからインストールする時は依存関係の制限をスキップしないことを強く推奨します)。}}
   
=== Alternate install: カスタムカーネル ===
+
=== カスタムカーネル ===
   
  +
カスタムカーネルを使っている場合、Nvidia カーネルモジュールのコンパイルは [[DKMS]] で自動化できます。
まず最初に、ABS システムがどのような働きをするのかを他の記事をいくつか読んで知ると良いでしょう:
 
   
  +
{{Pkg|nvidia-dkms}} パッケージ (あるいは {{Pkg|nvidia-340xx-dkms}} など特定のブランチのパッケージ) をインストールしてください。DKMS の [[Pacman#フック|Pacman フック]]によって Nvidia やカーネルのアップデートがされた後に Nvidia モジュールが再ビルドされます。
* [[Arch Build System|ABS]] の本記事
 
* [[makepkg]] についての記事
 
* [[パッケージの作成]]についての記事
 
   
  +
=== Pure Video HD ===
{{Note|[[Arch User Repository|AUR]] にある {{AUR|nvidia-all}} パッケージによってカスタムカーネルや複数のカーネルと一緒に簡単に使えるようにすることもできます。}}
 
   
  +
[[VDPAU]] によるハードウェアビデオアクセラレーションを使うには第2世代の [[wikipedia:Nvidia PureVideo#Table of GPUs containing a PureVideo SIP block|PureVideo HD]] が載っているビデオカードが必要です。
以下の内容は、[[Arch Build System|ABS]] を使用して NVIDIA ドライバのカスタムパッケージを作るための簡単なチュートリアルです:
 
   
  +
=== DRM カーネルモードセッティング ===
[[公式リポジトリ]]から {{Pkg|abs}} を[[Pacman|インストール]]してツリーを生成します:
 
# abs
 
一般ユーザーで、新しいパッケージを作るための一時ディレクトリを作成します:
 
$ mkdir -p ~/abs
 
{{ic|nvidia}} パッケージのディレクトリのコピーを作成します:
 
$ cp -r /var/abs/extra/nvidia/ ~/abs/
 
{{ic|nvidia}} のビルドをする一時ディレクトリの中へ移動します:
 
$ cd ~/abs/nvidia
 
{{ic|nvidia.install}} と {{ic|PKGBUILD}} が正しいカーネルバージョン変数を含むように、それらのファイルを編集する必要があります。
 
   
  +
{{Note|1=NVIDIA ドライバーはカーネルに組み込まれている {{ic|vesafb}} モジュールのための {{ic|fbdev}} ドライバーを提供しません。しかしながら、EFI 環境の場合、カーネルに組み込まれている {{ic|efifb}} モジュールが高解像度な nvidia コンソールに対応しています [http://forums.fedoraforum.org/showthread.php?t=306271]。}}
カスタムカーネルを実行している間に、適切なカーネルとローカルバージョン名を得ましょう:
 
$ uname -r
 
# nvidia.install 内の、{{ic|EXTRAMODULES<nowiki>=</nowiki>'extramodules-3.4-ARCH'}} 変数をカスタムカーネルのバージョンで置き換えます。例えば、{{ic|EXTRAMODULES<nowiki>=</nowiki>'extramodules-3.4.4'}} や {{ic|EXTRAMODULES<nowiki>=</nowiki>'extramodules-3.4.4-custom'}} のようにしてください。これの値はカーネルのバージョンやローカルバージョンのテキスト・数字によります。このファイルの中のすべてのバージョン番号に対して置換を行ってください。
 
# PKGBUILD にある、{{ic|_extramodules<nowiki>=</nowiki>extramodules-3.4-ARCH}} 変数を変更して、上記と同じように、適切なバージョンに直して下さい。
 
# 複数のカーネルを並列に (デフォルトの -ARCH カーネルとカスタムカーネルが並ぶように) システムにインストールしているのならば、PKGBUILD の {{ic|pkgname<nowiki>=</nowiki>nvidia}} 変数を一意な識別子、例えば nvidia-2622 や nvidia-custom へと変更します。こうすることで、カスタム nvidia モジュールは異なるパッケージ名となり、オリジナルのパッケージを上書きしないようになるので、両方のカーネルが NVIDIA モジュールを使えるようにできます。また、{{ic|package()}} 内にある {{ic|/usr/lib/modprobe.d/nvidia.conf}} の nouveau モジュールをブラックリスト化する行をコメントアウトしてください (二度する必要はありません)。
 
   
  +
{{Pkg|nvidia}} 364.16 から DRM [[Kernel Mode Setting]] のサポートが追加されました。この機能を有効にするには、{{ic|1=nvidia-drm.modeset=1}} [[カーネルパラメータ]]を追加してください。そして [[initramfs#MODULES]] に nvidia, nvidia_modeset, nvidia_uvm, nvidia_drm を追加してください。
それから次を実行します:
 
$ makepkg -ci
 
{{ic|-c}} オプションは、パッケージのビルドが終わった後にファイルを片付けるように makepkg に指示します。{{ic|-i}} は makepkg が自動で pacman を起動して作成したパッケージをインストールするように指示します。
 
   
  +
{{Warning|ドライバーがアップデートされるたびに毎回 mkinitcpio を実行する必要があります。}}
=== カーネルの更新時に NVIDIA モジュールを自動的にリコンパイルする ===
 
   
  +
==== Pacman フック ====
これは [[Arch User Repository|AUR]] の {{AUR|nvidia-hook}} によって可能です。モジュールのソースをインストールする必要があります: {{AUR|nvidia-dkms}}。'''nvidia-hook''' で、'''linux-headers''' パッケージの更新が終わった後に [[mkinitcpio]] の '''nvidia hook''' によって'自動リコンパイル'が行われます。{{ic|/etc/mkinitcpio.conf}} の HOOKS に 'nvidia' を追加してください。
 
   
  +
nvidia をアップグレードした後に initramfs をアップデートすることを忘れないように、以下のような pacman フックを利用することができます:
このフックは '''dkms''' コマンドを呼び出して新しいカーネルのバージョンにあわせて NVIDIA モジュールを更新します。
 
   
  +
{{hc|/etc/pacman.d/hooks/nvidia.hook|2=[Trigger]
{{Note|
 
  +
Operation=Install
* この機能を使う場合は linux (もしくは他のカーネルの) パッケージのインストールプロセスをよく見ることが重要です。nvidia hook は何か問題が発生したときにメッセージを表示します。
 
  +
Operation=Upgrade
* これを手動でやりたい場合は [[Dynamic Kernel Module Support#使用方法|arch wiki の dkms]] のセクションを見て下さい。
 
  +
Operation=Remove
}}
 
  +
Type=Package
  +
Target=nvidia
  +
  +
[Action]
  +
Depends=mkinitcpio
  +
When=PostTransaction
  +
Exec=/usr/bin/mkinitcpio -p linux}}
  +
  +
=== XvMC によるビデオデコードのハードウェアアクセラレーション ===
  +
  +
GeForce4, GeForce 5 FX, GeForce 6, GeForce 7 シリーズのカードでは [[XvMC]] による MPEG-1 と MPEG-2 ビデオのデコードのアクセラレーションがサポートされています。使用するには、以下の内容で、新しいファイル {{ic|/etc/X11/XvMCConfig}} を作成してください:
  +
libXvMCNVIDIA_dynamic.so.1
  +
  +
設定方法は[[XvMC#サポートしているソフトウェア|サポートしているソフトウェア]]を参照。
  +
  +
=== NVIDIA と nouveau ドライバーを切り替える ===
  +
  +
ドライバーを切り替える必要があるときは、以下のスクリプトを使うことができます。root で実行してください (確認を求められたら全て yes と答えて下さい):
  +
  +
{{bc|1=<nowiki>
  +
#!/bin/bash
  +
BRANCH= # Enter a branch if needed, i.e. -340xx or -304xx
  +
NVIDIA=nvidia${BRANCH} # If no branch entered above this would be "nvidia"
  +
NOUVEAU=xf86-video-nouveau
  +
  +
# Replace -R with -Rs to if you want to remove the unneeded dependencies
  +
if [ $(pacman -Qqs ^mesa-libgl$) ]; then
  +
pacman -S $NVIDIA ${NVIDIA}-libgl # Add lib32-${NVIDIA}-libgl and ${NVIDIA}-lts if needed
  +
# pacman -R $NOUVEAU
  +
elif [ $(pacman -Qqs ^${NVIDIA}$) ]; then
  +
pacman -S --needed $NOUVEAU mesa-libgl # Add lib32-mesa-libgl if needed
  +
pacman -R $NVIDIA # Add ${NVIDIA}-lts if needed
  +
fi
  +
</nowiki>}}
  +
  +
64ビット環境を使っていて32ビットのライブラリが必要な場合は lib32 パッケージをアンコメントしてください (例: 32ビットのゲームや [[Steam]])。
   
 
== 設定 ==
 
== 設定 ==
   
 
おそらく、ドライバをインストールした後に Xorg サーバーの設定ファイルを作成する必要はありません。[[Xorg#起動|テスト]]を実行することで Xorg サーバーが設定ファイルなしで問題なく機能するかどうか調べられます。しかし、様々な設定を調節するために設定ファイル ({{ic|/etc/X11/xorg.conf}} よりも {{ic|/etc/X11/xorg.conf.d/20-nvidia.conf}} が好ましい) を作成することが要求されるかもしれません。この設定は NVIDIA の Xorg 設定ツールで生成することが可能で、あるいは、手動でも作成できます。手動で作成する場合、([[Xorg]] サーバーに基本的なオプションだけを与えるという) 最小設定だけを行うこともできますし、逆に、Xorg によって自動検知されたり事前に設定されたオプションを無視する設定を多数含めてもかまいません。
 
おそらく、ドライバをインストールした後に Xorg サーバーの設定ファイルを作成する必要はありません。[[Xorg#起動|テスト]]を実行することで Xorg サーバーが設定ファイルなしで問題なく機能するかどうか調べられます。しかし、様々な設定を調節するために設定ファイル ({{ic|/etc/X11/xorg.conf}} よりも {{ic|/etc/X11/xorg.conf.d/20-nvidia.conf}} が好ましい) を作成することが要求されるかもしれません。この設定は NVIDIA の Xorg 設定ツールで生成することが可能で、あるいは、手動でも作成できます。手動で作成する場合、([[Xorg]] サーバーに基本的なオプションだけを与えるという) 最小設定だけを行うこともできますし、逆に、Xorg によって自動検知されたり事前に設定されたオプションを無視する設定を多数含めてもかまいません。
{{Note|1.8.x から Xorg は {{ic|/etc/X11/xorg.conf.d/}} 下の設定ファイルを使うようになっています - [[#高度な設定: 20-nvidia.conf|高度な設定]]のセクションを確認してください。}}
 
   
 
=== 最小設定 ===
 
=== 最小設定 ===
120行目: 141行目:
 
}}
 
}}
   
{{Tip|nouveau からアップグレードする場合は {{ic|/etc/mkinitcpio.conf}} から "{{ic|nouveau}}" を削除してください。オープン・プロプライエタリのドライバを頻繁に切り替えるのならば、[[#NVIDIA と nouveau ドライバーを切り替える|NVIDIA と nouveau ドライバーの切り替え]]を見て下さい。}}
+
{{Tip|nouveau からアップグレードする場合は {{ic|/etc/mkinitcpio.conf}} から {{ic|nouveau}} を削除してください。オープン・プロプライエタリのドライバを頻繁に切り替えるのならば、[[#NVIDIA と nouveau ドライバーを切り替える|NVIDIA と nouveau ドライバーの切り替え]]を見て下さい。}}
   
 
=== 自動設定 ===
 
=== 自動設定 ===
134行目: 155行目:
   
 
{{Warning|Xorg-server 1.8 ではまだ正しく動作しない可能性があります。}}
 
{{Warning|Xorg-server 1.8 ではまだ正しく動作しない可能性があります。}}
  +
  +
=== NVIDIA Settings ===
  +
  +
{{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]] などに記述することで自動的にロードできます)。もしくは、root で {{ic|nvidia-settings}} を起動して、設定を {{ic|/etc/X11/xorg.conf.d/}} に保存してください。
  +
  +
{{Tip|X サーバーが起動時にクラッシュする場合、おそらく GUI によって生成された設定に問題が存在します。生成されたファイルを削除して再起動してみてください。}}
   
 
=== マルチモニター ===
 
=== マルチモニター ===
141行目: 170行目:
 
==== NVIDIA Settings を使う ====
 
==== NVIDIA Settings を使う ====
   
  +
[[#NVIDIA Settings|nvidia-settings]] ツールを使ってマルチモニターを設定できます。
{{Pkg|nvidia-utils}} に入っている {{ic|nvidia-settings}} ツールを使ってマルチモニターのセットアップができます。この方法では、NVIDIA がドライバーと一緒に提供しているプロプライエタリのソフトウェアを使います。root で {{ic|nvidia-settings}} を実行して、好きなように設定を行なって、それから設定を {{ic|/etc/X11/xorg.conf.d/10-monitor.conf}} に保存してください。
 
  +
  +
CLI で設定する場合、まずは以下を実行して {{ic|CurrentMetaMode}} を確認してください:
  +
  +
{{hc|$ nvidia-settings -q CurrentMetaMode|2=
  +
Attribute 'CurrentMetaMode' (hostnmae:0.0): id=50, switchable=no, source=nv-control :: DPY-1: 2880x1620 @2880x1620 +0+0 {ViewPortIn=2880x1620, ViewPortOut=2880x1620+0+0}
  +
}}
  +
  +
{{ic|::}} 以降の全て (上記の場合: {{ic|1=DPY-1: 2880x1620 @2880x1620 +0+0 {ViewPortIn=2880x1620, ViewPortOut=2880x1620+0+0&#125;}}) を使って {{ic|1=nvidia-settings --assign "CurrentMetaMode=''your_meta_mode''"}} でディスプレイを再設定できます。
  +
  +
{{Tip|使用するモニターや解像度の設定ごとにシェルのエイリアスを作成すると便利です。}}
   
 
==== ConnectedMonitor ====
 
==== ConnectedMonitor ====
197行目: 236行目:
 
==== TwinView ====
 
==== TwinView ====
   
  +
画面を2つ表示するのではなく1つの大きな画面を表示したい場合、{{ic|TwinView}} 引数を {{ic|1}} に設定してください。コンポジットを使いたい場合、このオプションを使用する必要があります。TwinView は全てのモニターが同一のカードに接続されている場合にのみ機能します。
You want only one big screen instead of two. Set the {{ic|TwinView}} argument to {{ic|1}}. This option should be used if you desire compositing. TwinView only works on a per card basis, when all participating monitors are connected to the same card.
 
 
Option "TwinView" "1"
 
Option "TwinView" "1"
   
  +
設定例 [ftp://download.nvidia.com/XFree86/Linux-x86/355.11/README/configtwinview.html]:
Example configuration:
 
 
{{hc|/etc/X11/xorg.conf.d/10-monitor.conf|
 
{{hc|/etc/X11/xorg.conf.d/10-monitor.conf|
 
Section "ServerLayout"
 
Section "ServerLayout"
242行目: 281行目:
 
}}
 
}}
   
  +
SLI に対応しているカードが複数枚存在する場合、別々のカードに接続された複数のモニターを使うことができます (例: 2枚のカードが SLI で、各々のカードにモニターが1台ずつ接続)。SLI モザイクモードと "MetaModes" オプションで有効になります。以下は上記と同じように設定する例で、[[GNOME]] が完璧に動作します:
[http://us.download.nvidia.com/XFree86/Linux-x86/304.51/README/configtwinview.html Device option information].
 
 
If you have multiple cards that are SLI capable, it is possible to run more than one monitor attached to separate cards (for example: two cards in SLI with one monitor attached to each). The "MetaModes" option in conjunction with SLI Mosaic mode enables this. Below is a configuration which works for the aforementioned example and runs [[GNOME]] flawlessly.
 
 
{{hc|/etc/X11/xorg.conf.d/10-monitor.conf|
 
{{hc|/etc/X11/xorg.conf.d/10-monitor.conf|
 
Section "Device"
 
Section "Device"
302行目: 339行目:
 
===== xrandr による手動の CLI 設定 =====
 
===== xrandr による手動の CLI 設定 =====
   
  +
上手くいかない場合、ウィンドウマネージャの[[自動起動]]から {{Pkg|xorg-xrandr}} を利用する方法があります。
If the latest solutions don't work for you, you can use your window manager's ''autostart'' implementation with {{Pkg|xorg-xrandr}}.
 
   
 
{{ic|xrandr}} の例:
 
{{ic|xrandr}} の例:
314行目: 351行目:
 
コマンドの意味:
 
コマンドの意味:
   
* {{ic|--output}} is used to indicate the "monitor" to which the options are set.
+
* {{ic|--output}} はオプションを設定するモニターを指定します。
* {{ic|DVI-I-1}} is the name of the second monitor.
+
* {{ic|DVI-I-1}} はセカンドモニターの名前です。
  +
* {{ic|--pos}} はセカンドモニターの相対位置です。
* {{ic|--pos}} is the position of the second monitor relative to the first.
 
* {{ic|--mode}} is the resolution of the second monitor.
+
* {{ic|--mode}} はセカンドモニターの解像度です。
* {{ic|--rate}} is the refresh rate (in Hz).
+
* {{ic|--rate}} はリフレッシュレート (Hz) です。
   
==== Mosaic モード ====
+
===== TwinView を使って垂直同期 =====
   
  +
TwinView と垂直同期 (''nvidia-settings'' の "Sync to VBlank" オプション) を使っている場合、モニターの大きさが異なっていると片方の画面だけが同期されます。''nvidia-settings'' にはどちらの画面を同期させるか設定するオプション ("Sync to this display device" オプション) が存在しますが、必ずしも機能するとはいいがたいです。起動時に以下の環境変数を追加することで解決します (例: {{ic|/etc/profile}} に追加):
Mosaic mode is the only way to use more than 2 monitors across multiple graphics cards with compositing. Your window manager may or may not recognize the distinction between each monitor.
 
   
  +
export __GL_SYNC_TO_VBLANK=1
===== ベースモザイク =====
 
  +
export __GL_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" セクションで確認できます。
Base Mosaic mode works on any set of Geforce 8000 series or higher GPUs. It cannot be enabled from within the nvidia-setting GUI. You must either use the {{ic|nvidia-xconfig}} command line program or edit {{ic|xorg.conf}} by hand. Metamodes must be specified. The following is an example for four DFPs in a 2x2 configuration, each running at 1920x1024, with two DFPs connected to two cards:
 
$ 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|While the documentation lists a 2x2 configuration of monitors, Nvidia has reduced that ability to just 3 monitors in Base Mosaic mode as of driver version 304. More monitors are available with a Quadro card, but with standard consumer cards, it is limited to three. The explanation given for this reduction is "Feature parity with the Windows driver". As of September 2014, Windows has no restriction on the number of monitors, even on the same driver version. This is not a bug, this is entirely by design.}}
 
 
===== SLI モザイク =====
 
 
If you have an SLI configuration and each GPU is a Quadro FX 5800, Quadro Fermi or newer then you can use SLI Mosaic mode. It can be enabled from within the nvidia-settings GUI or from the command line with:
 
$ 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 ===
 
 
バージョン 319 から、NVIDIA は Driver Persistence の動作を変更しており、ブート時に起動するデーモンが存在します。詳しくは NVIDIA のドキュメントの [http://docs.nvidia.com/deploy/driver-persistence/index.html Driver Persistence] セクションを見て下さい。
 
 
ブート時に persistence デーモンを起動するには、{{ic|nvidia-persistenced.service}} を[[有効化]]してください。使用方法は [http://docs.nvidia.com/deploy/driver-persistence/index.html#usage 上流のドキュメント] を参照。
 
 
== 調整 ==
 
 
=== GUI: nvidia-settings ===
 
 
NVIDIA パッケージには {{ic|nvidia-settings}} プログラムが含まれており複数の設定の調整を行うことが可能です。
 
 
ログイン時に設定をロードするには、ターミナルから次のコマンドを実行してください:
 
$ nvidia-settings --load-config-only
 
 
デスクトップ環境の auto-startup を使う方法ではおそらく nvidia-settings を正しくロードできません (KDE)。設定を確実にロードするには {{ic|~/.xinitrc}} ファイル (存在しないときは作成してください) に上のコマンドを記述してください。
 
 
Firefox のようなピクセルマップを使うアプリケーションでの 2D グラフィックのパフォーマンスを著しく上げるには、{{ic|InitialPixmapPlacement}} パラメータを2に設定してください:
 
 
$ nvidia-settings -a InitialPixmapPlacement=2
 
 
これは [http://cgit.freedesktop.org/~aplattner/nvidia-settings/tree/src/libXNVCtrl/NVCtrl.h?id=b27db3d10d58b821e87fbe3f46166e02dc589855#n2797 nvidia-settings のソースコード] の中に書かれています。この設定を永続させるには、起動毎に上記コマンドを実行する必要があります。{{ic|~/.xinitrc}} ファイルに追記することで X で自動実行できます。
 
 
{{Tip|稀に {{ic|~/.nvidia-settings-rc}} が破損することがあり、この場合、Xorg サーバーがクラッシュします。問題を解決するにはこのファイルを削除しなくてはなりません。}}
 
 
=== 高度な設定: 20-nvidia.conf ===
 
 
{{ic|/etc/X11/xorg.conf.d/20-nvidia.conf}} を編集して、適切なセクションにオプションを追加します。変更を適用するには Xorg サーバーを再起動する必要があります。
 
 
詳しい説明やオプションは [http://http.download.nvidia.com/XFree86/Linux-x86/304.51/README/ NVIDIA Accelerated Linux Graphics Driver README and Installation Guide] を見て下さい。
 
 
==== デスクトップのコンポジットを有効にする ====
 
 
NVIDIA ドライバーのバージョン 180.44 から、Damage and Composite X 拡張で GLX のサポートがデフォルトで有効になっています。詳しい説明は [[Xorg#コンポジット|Xorg のページ]]を参照してください。
 
 
==== 起動時のロゴを無効にする ====
 
 
{{ic|Device}} セクションの下に {{ic|"NoLogo"}} オプションを追加してください:
 
Option "NoLogo" "1"
 
 
==== ハードウェアアクセラレーションを有効にする ====
 
 
{{Note|ドライバーバージョン 97.46.xx から RenderAccel はデフォルトで有効になっています。}}
 
{{ic|Device}} セクションの下に {{ic|"RenderAccel"}} オプションを追加してください:
 
Option "RenderAccel" "1"
 
 
==== モニターの検出を上書きする ====
 
 
The {{ic|"ConnectedMonitor"}} option under section {{ic|Device}} allows to override monitor detection when X server starts, which may save a significant amount of time at start up. The available options are: {{ic|"CRT"}} for analog connections, {{ic|"DFP"}} for digital monitors and {{ic|"TV"}} for televisions.
 
 
The following statement forces the NVIDIA driver to bypass startup checks and recognize the monitor as DFP:
 
Option "ConnectedMonitor" "DFP"
 
{{Note|Use "CRT" for all analog 15 pin VGA connections, even if the display is a flat panel. "DFP" is intended for DVI, HDMI, or DisplayPort digital connections only.}}
 
 
==== トリプルバッファリングを有効にする ====
 
 
トリプルバッファリングの使用を有効にするには {{ic|Device}} セクションの下に {{ic|"TripleBuffer"}} オプションを追加してください:
 
Option "TripleBuffer" "1"
 
 
このオプションを使うのはグラフィックカードに ram が多く載っているとき (128MB 以上) にしてください。この設定が適用されるのは nvidia-settings にあるオプションの一つである、vblank の同期が有効になっているときだけです。
 
 
{{Note|このオプションはフルスクリーンの時にちらつきを発生させたりパフォーマンスを下げてしまう可能性があります。R300 ドライバーでは、vblank はデフォルトで有効です。}}
 
 
==== 省電力機能を有効にする ====
 
 
{{ic|Monitor}} セクションの下に追加してください:
 
Option "DPMS" "1"
 
 
==== 輝度調整を有効にする ====
 
 
{{ic|Device}} セクションの下に追加してください:
 
Option "RegistryDwords" "EnableBrightnessControl=1"
 
 
{{Note|If you already have this enabled and your brightness control doesn't work try to comment it out.}}
 
 
==== SLI を有効にする ====
 
 
{{Warning|2011年5月7日現在、SLI を有効にすると GNOME 3 で動画パフォーマンスが落ちます。}}
 
 
NVIDIA ドライバーの [http://http.download.nvidia.com/XFree86/Linux-x86/304.51/README/xconfigoptions.html README] appendix より: ''このオプションはサポートされている環境で SLI レンダリングの設定をコントロールします。''"サポートされている環境"とは SLI 対応のマザーボードを搭載し SLI 対応の GeForce GPU が2枚か3枚刺さっているコンピューターのことです。詳しくは NVIDIA の [http://www.slizone.com/page/home.html SLI Zone] を見て下さい。
 
 
まず {{ic|lspci}} を使って一番目の GPU の PCI Bus ID を確認してください:
 
{{hc|<nowiki>$ lspci | grep VGA</nowiki>|
 
03:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GTS 512] (rev a2)
 
05:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GTS 512] (rev a2)
 
}}
 
 
{{ic|Device}} セクションの下に BusID を追加してください (上記の例では3):
 
BusID "PCI:3:0:0"
 
 
{{Note|The format is important. The BusID value must be specified as {{ic|"PCI:<BusID>:0:0"}}}}
 
 
使用したい SLI レンダリングモードの値を {{ic|Screen}} セクションの下に追加してください:
 
Option "SLI" "AA"
 
 
以下の表は利用できるレンダリングモードを示しています。
 
 
{| class="wikitable"
 
! 値 !! 挙動
 
|-
 
| 0, no, off, false, Single || レンダリングの際には単一の GPU だけを使用。
 
|-
 
| 1, yes, on, true, Auto || SLI を有効にしてドライバーに適切なレンダリングモードを自動で選択させる。
 
|-
 
| AFR || SLI を有効にして alternate フレームレンダリングモードを使用する。
 
|-
 
| SFR || SLI を有効にして split フレームレンダリングモードを使用する。
 
|-
 
| AA || SLI を有効にして SLI アンチエイリアスを使用する。これをフルシーンアンチエイリアスと一緒に使うことで見栄えが良くなります。
 
|}
 
 
もしくは、{{ic|nvidia-xconfig}} ユーティリティを使って、コマンドによって {{ic|xorg.conf}} に変更を挿入することもできます:
 
# nvidia-xconfig --busid=PCI:3:0:0 --sli=AA
 
 
シェルから SLI モードが有効になっているか確認するには:
 
{{hc|<nowiki>$ nvidia-settings -q all | grep SLIMode</nowiki>|
 
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 の起動時にシステムがフリーズしたり反応しなくなることがあります。再起動する前にディスプレイマネージャを無効にすることを推奨します。}}
 
 
==== Powermizer のパフォーマンスレベルを強制する (ラップトップ) ====
 
 
{{ic|Device}} セクションの下に追加してください:
 
# Force Powermizer to a certain level at all times
 
# level 0x0=adaptiv (Driver Default)
 
# level 0x1=highest
 
# level 0x2=med
 
# level 0x3=lowest
 
 
# AC settings:
 
Option "RegistryDwords" "PowerMizerLevelAC=0x3"
 
# Battery settings:
 
Option "RegistryDwords" "PowerMizerLevel=0x3"
 
 
# (Optional) AC Power adaptiv Mode and Battery Power forced to lowest Mode:
 
Option "RegistryDwords" "PowerMizerLevelAC=0x0; PowerMizerLevel=0x3"
 
 
===== GPU のパフォーマンスレベルを温度によって設定する =====
 
 
{{ic|Device}} セクションの下に追加してください:
 
Option "RegistryDwords" "PerfLevelSrc=0x3333"
 
 
==== オーバークロックを有効にする ====
 
 
{{Warning|Please note that overclocking may damage hardware and that no responsibility may be placed on the authors of this page due to any damage to any information technology equipment from operating products out of specifications set by the manufacturer.}}
 
 
GPU やメモリのオーバークロックは {{ic|Device}} セクションの ''Coolbits'' オプションによって制御され、サポートされない機能が使えるようになります:
 
Option "Coolbits" "''value''"
 
 
{{Tip|''Coolbits'' オプションは Xorg の設定ファイルを変更する ''nvidia-xconfig'' で簡単に変えることができます: {{ic|1=# nvidia-xconfig --cool-bits=''value''}}。}}
 
 
''Coolbits'' の値は2進法でビットを立てた合計になります。それぞれのビットの意味は:
 
 
* {{ic|1}} (ビット 0) - (Fermi 以前の) 古いコアで ''nvidia-settings'' の ''Clock Frequencies'' ページからオーバークロックできるようになります。
 
* {{ic|2}} (ビット 1) - このビットが設定されると、ドライバーは GPU を使う際に様々な量のビデオメモリで SLI を初期化しようとします。
 
* {{ic|4}} (ビット 2) - GPU のファンの速度の手動設定が ''nvidia-settings'' の ''Thermal Monitor'' ページで可能になります。
 
* {{ic|8}} (ビット 3) - Fermi 以降の新しいコアで ''nvidia-settings'' の ''PowerMizer'' ページからオーバークロックできるようになります。バージョン 337.12 から使えるようになりました [http://www.phoronix.com/scan.php?px=MTY1OTM&page=news_item]。
 
* {{ic|16}} (ビット 4) - Fermi 以降の新しいコアで ''nvidia-settings'' の CLI オプションを使って電圧アップができるようになります。バージョン 346.16 から使えるようになりました [http://www.phoronix.com/scan.php?page=news_item&px=MTg0MDI]。
 
 
複数の機能を有効にするには、合計した ''Coolbits'' の値を追加します。例えば、オーバークロックと Fermi コアの電圧アップを有効にするには、{{ic|Option "Coolbits" "24"}} と設定します。
 
 
''Coolbits'' のドキュメントは {{ic|/usr/share/doc/nvidia/html/xconfigoptions.html}} にあります。''Coolbits'' に関するドライバーバージョン 346.16 のドキュメントはオンラインで [http://us.download.nvidia.com/XFree86/Linux-x86/346.16/README/xconfigoptions.html こちらから] 見ることができます。
 
 
{{Note|An alternative is to edit and reflash the GPU BIOS either under DOS (preferred), or within a Win32 environment by way of [http://www.mvktech.net/component/option,com_remository/Itemid,26/func,select/id,127/orderby,2/page,1/ nvflash]{{Dead link|2013|05|25}} and [http://www.mvktech.net/component/option,com_remository/Itemid,26/func,select/id,135/orderby,2/page,1/ NiBiTor 6.0]{{Dead link|2013|05|25}}. The advantage of BIOS flashing is that not only can voltage limits be raised, but stability is generally improved over software overclocking methods such as Coolbits. [http://ivanvojtko.blogspot.sk/2014/03/how-to-overclock-geforce-460gtx-fermi.html Fermi BIOS modification tutorial]}}
 
 
===== 静的な 2D/3D クロックを設定する =====
 
 
以下の文字列を {{ic|Device}} セクションに設定すると PowerMizer がパフォーマンス最高レベルで有効になります (この行がないと VSync が動作しません):
 
Option "RegistryDwords" "PerfLevelSrc=0x2222"
 
 
== Tips and tricks ==
 
 
=== ターミナルの解像度を修正する ===
 
 
nouveau からドライバーを変えた場合、起動時のターミナルが低解像度で表示されるようになることがあります。
 
 
==== GRUB ====
 
 
GRUB を使っている場合、{{ic|/etc/default/grub}} の {{ic|GRUB_GFXMODE}} 行を適切なディスプレイ解像度に編集することで修正できます。デフォルトの {{ic|auto}} を含め、複数の解像度を指定できるので、次のように編集することを推奨します: {{ic|1=GRUB_GFXMODE=<desired resolution>,<fallback such as 1024x768>,auto}}。詳しくは、[https://www.gnu.org/software/grub/manual/html_node/gfxmode.html#gfxmode GRUB の gfxmode のドキュメント]を参照してください。
 
 
=== Pure Video HD を有効にする (VDPAU/VAAPI) ===
 
 
'''必要なハードウェア:'''
 
 
第2世代の PureVideo HD が載っているビデオカード [http://en.wikipedia.org/wiki/Nvidia_PureVideo#Table_of_PureVideo_.28HD.29_GPUs]。
 
 
'''必要なソフトウェア:'''
 
 
Nvidia のビデオカードとプロプライエタリのドライバーで PureVideo の世代にあった異なるレベルの VDPAU インターフェイスのビデオデコード機能を提供します。
 
 
また、{{Pkg|libva-vdpau-driver}} を使って VA-API インターフェイスをサポートすることもできます。
 
 
VA-API のサポートを確認するには:
 
$ vainfo
 
 
あなたのビデオカードのハードウェアデコード機能を全て使うには、VDPAU や VA-API をサポートするメディアプレーヤーが必要です。
 
 
[[MPlayer]] でハードウェアアクセラレーションを有効にするには {{ic|~/.mplayer/config}} を編集してください:
 
 
vo=vdpau
 
vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau,
 
 
{{Warning|The {{ic|ffodivxvdpau}} codec is only supported by the most recent series of NVIDIA hardware. Consider omitting it based on your specific hardware.}}
 
 
[[VLC media player|VLC]] でハードウェアアクセラレーションを有効にするには:
 
 
{{ic|Tools > Preferences > Input & Codecs}} から {{ic|'''Hardware-accelerated decoding'''}} で {{ic|VDPAU}} を選択
 
 
'''smplayer''' でハードウェアアクセラレーションを有効にするには:
 
 
{{ic|Options > Preferences > General > Video Tab}} から {{ic|'''output driver'''}} で {{ic|vdpau}} を選択
 
 
'''gnome-mplayer''' でハードウェアアクセラレーションを有効にするには:
 
 
{{ic|Edit > Preference}} から {{ic|'''video output'''}} を {{ic|vdpau}} に設定
 
 
'''低メモリのカードで HD 動画を再生:'''
 
 
あまりメモリが多くないグラフィックカードを使っている場合 (512MB 以下)、1080p や 720p の動画を再生した時に動画が飛び飛びになることがあります。これを修正するには [[Twm|TWM]] や MWM などのシンプルなウィンドウマネージャを使って下さい。
 
 
さらに HD 動画を見るときにハードドライブがスピンダウンする場合、{{ic|~/.mplayer/config}} で MPlayer のキャッシュサイズを増やすと解決するかもしれません。
 
 
=== KDE (KWin) の画面のちらつきをなくす ===
 
 
{{hc|/etc/profile.d/kwin.sh|<nowiki>
 
export __GL_YIELD="USLEEP"
 
</nowiki>}}
 
 
上記で修正されない場合、以下を試して下さい:
 
{{hc|/etc/profile.d/kwin.sh|<nowiki>
 
export KWIN_TRIPLE_BUFFER=1
 
</nowiki>}}
 
 
両方同時に有効にしてはいけません。また、トリプルバッファを有効にする場合、ドライバーのトリプルバッファも有効になっているか確認してください。
 
 
ソース: https://bugs.kde.org/show_bug.cgi?id=322060
 
 
=== XvMC によるビデオデコードのハードウェアアクセラレーション ===
 
 
GeForce4, GeForce 5 FX, GeForce 6, GeForce 7 シリーズのカードでは [[XvMC]] による MPEG-1 と MPEG-2 ビデオのデコードのアクセラレーションがサポートされています。使用するには、以下の内容で、新しいファイル {{ic|/etc/X11/XvMCConfig}} を作成してください:
 
libXvMCNVIDIA_dynamic.so.1
 
 
設定方法は[[XvMC#サポートしているソフトウェア|サポートしているソフトウェア]]を参照。
 
 
=== TV 出力を使う ===
 
 
TV 出力については [http://en.wikibooks.org/wiki/NVidia/TV-OUT こちら] に良い記事があります。
 
 
=== X で TV (DFP) を唯一のディスプレイとして使う ===
 
 
モニタが検出されないと X サーバーは自動的に CRT-0 にフォールバックします。これは DVI で接続した TV をメインディスプレイとして使っている際、TV の電源がオフになっていたり切断されているのに X を起動したときに問題になります。
 
 
To force NVIDIA to use DFP, store a copy of the EDID somewhere in the filesystem so that X can parse the file instead of reading EDID from the TV/DFP.
 
 
To acquire the EDID, start nvidia-settings. It will show some information in tree format, ignore the rest of the settings for now and select the GPU (the corresponding entry should be titled "GPU-0" or similar), click the {{ic|DFP}} section (again, {{ic|DFP-0}} or similar), click on the {{ic|Acquire Edid}} Button and store it somewhere, for example, {{ic|/etc/X11/dfp0.edid}}.
 
 
If in the front-end mouse and keyboard aren't attached, the EDID can be acquired using only the command line. Run an X server with enough verbosity to print out the EDID block:
 
$ startx -- -logverbose 6
 
After the X Server has finished initializing, close it and your log file will probably be in {{ic|/var/log/Xorg.0.log}}. Extract the EDID block using nvidia-xconfig:
 
$ nvidia-xconfig --extract-edids-from-file=/var/log/Xorg.0.log --extract-edids-output-file=/etc/X11/dfp0.bin
 
 
Edit {{ic|xorg.conf}} by adding to the {{ic|Device}} section:
 
Option "ConnectedMonitor" "DFP"
 
Option "CustomEDID" "DFP-0:/etc/X11/dfp0.edid"
 
The {{ic|ConnectedMonitor}} option forces the driver to recognize the DFP as if it were connected. The {{ic|CustomEDID}} provides EDID data for the device, meaning that it will start up just as if the TV/DFP was connected during X the process.
 
 
This way, one can automatically start a display manager at boot time and still have a working and properly configured X screen by the time the TV gets powered on.
 
 
If the above changes didn't work, in the {{ic|xorg.conf}} under {{ic|Device}} section you can try to remove the {{ic|Option "ConnectedMonitor" "DFP"}} and add the following lines:
 
Option "ModeValidation" "NoDFPNativeResolutionCheck"
 
Option "ConnectedMonitor" "DFP-0"
 
 
The {{ic|NoDFPNativeResolutionCheck}} prevents NVIDIA driver from disabling all the modes that do not fit in the native resolution.
 
 
=== 電源を確認 ===
 
 
NVIDIA の X.org ドライバーを使って GPU の現在の電源を検出することもできます。現在の電源を表示するには、読み取り専用パラメータの 'GPUPowerSource' をチェックしてください (0 - AC, 1 - バッテリー):
 
 
{{hc|$ nvidia-settings -q GPUPowerSource -t|1}}
 
 
以下のようなエラーメッセージが表示される場合は、[[acpid]] をインストールするか {{ic|systemctl start acpid.service}} で systemd のサービスを起動する必要があります:
 
ACPI: failed to connect to the ACPI event daemon; the daemon
 
may not be running or the "AcpidSocketPath" X
 
configuration option may not be set correctly. When the
 
ACPI event daemon is available, the NVIDIA X driver will
 
try to use it to receive ACPI event notifications. For
 
details, please see the "ConnectToAcpid" and
 
"AcpidSocketPath" X configuration options in Appendix B: X
 
Config Options in the README.
 
(If you are not seeing this error, it is not necessary to install/run acpid soley for this purpose. My current power source is correctly reported without acpid even installed.)
 
 
=== GPU の温度をシェルに表示する ===
 
 
==== 方法1 - nvidia-settings ====
 
 
{{Note|この方法では X を使用する必要があります。X を使っていない場合は方法2か方法3を使って下さい。また、GeForce 200 シリーズのカードや Zotac IONITX の 8800GS などの内蔵 GPU など新しい NVIDIA カードでは方法3は動作しません。}}
 
 
GPU の温度をシェルに表示するには、以下のように {{ic|nvidia-settings}} を使って下さい:
 
$ nvidia-settings -q gpucoretemp
 
 
このコマンドを使うと以下のように出力されます:
 
Attribute 'GPUCoreTemp' (hostname:0.0): 41.
 
'GPUCoreTemp' is an integer attribute.
 
'GPUCoreTemp' is a read-only attribute.
 
'GPUCoreTemp' can use the following target types: X Screen, GPU.
 
 
このボードの GPU 温度は 41 C になります。
 
 
{{ic|rrdtool}} や {{ic|conky}} などのユーティリティで使うために温度だけを表示したいときは:
 
{{hc|$ nvidia-settings -q gpucoretemp -t|41}}
 
 
==== 方法2 - nvidia-smi ====
 
 
X を全く使わず GPU から直接温度を読み込むことができる nvidia-smi を使います。サーバーなど、マシンで X を動かしていないユーザーにはこちらが重要でしょう。GPU の温度をシェルに表示するには、以下のように nvidia-smi を使って下さい:
 
 
$ nvidia-smi
 
 
このコマンドを使うと以下のように出力されます:
 
{{hc|$ nvidia-smi|<nowiki>
 
Fri Jan 6 18:53:54 2012
 
+------------------------------------------------------+
 
| NVIDIA-SMI 2.290.10 Driver Version: 290.10 |
 
|-------------------------------+----------------------+----------------------+
 
| Nb. Name | Bus Id Disp. | Volatile ECC SB / DB |
 
| Fan Temp Power Usage /Cap | Memory Usage | GPU Util. Compute M. |
 
|===============================+======================+======================|
 
| 0. GeForce 8500 GT | 0000:01:00.0 N/A | N/A N/A |
 
| 30% 62 C N/A N/A / N/A | 17% 42MB / 255MB | N/A Default |
 
|-------------------------------+----------------------+----------------------|
 
| Compute processes: GPU Memory |
 
| GPU PID Process name Usage |
 
|=============================================================================|
 
| 0. ERROR: Not Supported |
 
+-----------------------------------------------------------------------------+
 
</nowiki>}}
 
 
温度だけ見るには:
 
{{hc|$ nvidia-smi -q -d TEMPERATURE|<nowiki>
 
 
==============NVSMI LOG==============
 
 
Timestamp : Sun Apr 12 08:49:10 2015
 
Driver Version : 346.59
 
 
Attached GPUs : 1
 
GPU 0000:01:00.0
 
Temperature
 
GPU Current Temp : 52 C
 
GPU Shutdown Temp : N/A
 
GPU Slowdown Temp : N/A
 
 
</nowiki>}}
 
 
{{ic|rrdtool}} や {{ic|conky}} などのユーティリティで使うために温度だけを取得したいときは:
 
 
{{hc|<nowiki>$ nvidia-smi -q -d TEMPERATURE | awk '/GPU Current Temp/ {print $5}'</nowiki>|52}}
 
 
参照: http://www.question-defense.com/2010/03/22/gpu-linux-shell-temp-get-nvidia-gpu-temperatures-via-linux-cli
 
 
==== 方法3 - nvclock ====
 
 
[[Arch User Repository|AUR]] から利用できる {{AUR|nvclock}} を使います。
 
{{Note|{{ic|nvclock}} は Geforce 200 シリーズなどの新しい NVIDIA カードの温度センサーにはアクセスできません。}}
 
 
たまに nvclock と nvidia-settings/nv-control が報告する温度が食い違うことがあります。nvclock の作者 (thunderbird) による [http://sourceforge.net/projects/nvclock/forums/forum/67426/topic/1906899 この投稿] によると、nvclock の値のほうが正確なようです。
 
 
=== ログイン時にファンの速度を設定する ===
 
 
''nvidia-settings''' コンソールインターフェイスを使ってグラフィックカードのファンの速度を調整することができます。まずは Xorg 設定の {{ic|Device}} セクションで Coolbits オプションを {{ic|4}} か {{ic|5}}、または {{ic|12}} (fermi 以上) に設定してファンコントロールを有効にしてください。
 
 
Option "Coolbits" "4"
 
 
{{Note|GeForce 400/500 series cards cannot currently set fan speeds at login using this method. This method only allows for the setting of fan speeds within the current X session by way of nvidia-settings.}}
 
 
Xorg が起動した時にファンを調整するには以下の行を [[xinitrc]] ファイルに記述します。{{ic|''n''}} は設定したいファンの速度のパーセンテージに置き換えて下さい。
 
 
nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=''n''"
 
 
GPU とファンの番号を増やすことで二番目の GPU を設定することもできます。
 
 
nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=''n''" \
 
-a "[gpu:1]/GPUFanControlState=1" -a [fan:1]/GPUCurrentFanSpeed=''n''" &
 
 
GDM や KDM などのログインマネージャを使用している場合、デスクトップエントリファイルを作成して設定をさせることもできます。{{ic|~/.config/autostart/nvidia-fan-speed.desktop}} を作成してその中に以下のテキストを入力してください。{{ic|''n''}} は速度のパーセンテージに置き換えて下さい。
 
 
[Desktop Entry]
 
Type=Application
 
Exec=nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=''n''"
 
X-GNOME-Autostart-enabled=true
 
Name=nvidia-fan-speed
 
 
{{Note|ドライバーのバージョン 349.16 から、{{ic|GPUCurrentFanSpeed}} は {{ic|GPUTargetFanSpeed}} に置き換わっています [https://devtalk.nvidia.com/default/topic/821563/linux/can-t-control-fan-speed-with-beta-driver-349-12/post/4526208/#4526208]。}}
 
 
=== ドライバーを変更するためのインストールとアンインストールの順番 ===
 
 
古いドライバーが nvidiaO で新しいドライバーが nvidiaN として以下の順番で変更します:
 
remove nvidiaO
 
install nvidia-libglN
 
install nvidiaN
 
install lib32-nvidia-libgl-N (if required)
 
 
=== NVIDIA と nouveau ドライバーを切り替える ===
 
 
ドライバーを切り替える必要があるときは、以下のスクリプトを使うことができます。root で実行してください (確認を求められたら全て yes と答えて下さい):
 
 
{{bc|1=<nowiki>
 
#!/bin/bash
 
BRANCH= # Enter a branch if needed, i.e. -340xx or -304xx
 
NVIDIA=nvidia${BRANCH} # If no branch entered above this would be "nvidia"
 
NOUVEAU=xf86-video-nouveau
 
 
# Replace -R with -Rs to if you want to remove the unneeded dependencies
 
if [ $(pacman -Qqs ^mesa-libgl$) ]; then
 
pacman -S $NVIDIA ${NVIDIA}-libgl # Add lib32-${NVIDIA}-libgl and ${NVIDIA}-lts if needed
 
# pacman -R $NOUVEAU
 
elif [ $(pacman -Qqs ^${NVIDIA}$) ]; then
 
pacman -S --needed $NOUVEAU mesa-libgl # Add lib32-mesa-libgl if needed
 
pacman -R $NVIDIA # Add ${NVIDIA}-lts if needed
 
fi
 
</nowiki>}}
 
 
64ビット環境を使っていて32ビットのライブラリが必要な場合は lib32 パッケージをアンコメントしてください (例: 32ビットのゲームや [[Steam]])。
 
 
=== GeForce 600/700 シリーズのカードでティアリングをなくす ===
 
 
X11 設定ファイル (例: {{ic|/etc/X11/xorg.conf.d/20-nvidia.conf}}) の {{ic|"Screen"}} セクションに以下の行を追加することで、コンポジタを使っているかどうかに関係なく、ティアリングを完全になくすことができます。ただし、複数の OpenGL アプリケーションでパフォーマンスの劣化が報告されています。
 
 
Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
 
 
== トラブルシューティング ==
 
   
=== Twinview を使ってゲームを遊ぶ ===
+
===== Twinview を使ってゲームを遊ぶ =====
   
  +
TwinView を使ってフルスクリーンのゲームを遊ぶ場合、2つの画面が1つの大きな画面としてゲームから認識されることがあります。技術的にこれは正しいのですが (仮想的な X スクリーンの横幅は両方の画面を合わせたサイズになります)、ゲームを遊ぶときは両方の画面を使わないようにしたいときもあるでしょう。
In case you want to play fullscreen games when using Twinview, you will notice that games recognize the two screens as being one big screen. While this is technically correct (the virtual X screen really is the size of your screens combined), you probably do not want to play on both screens at the same time.
 
   
 
SDL のこの挙動を修正するには、次を試して下さい:
 
SDL のこの挙動を修正するには、次を試して下さい:
781行目: 377行目:
 
Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL; 1280x1024,NULL;"
 
Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL; 1280x1024,NULL;"
   
Another method that may either work alone or in conjunction with those mentioned above is [[ゲーム#別の X サーバーでゲームを起動する|starting games in a separate X server]].
+
[[ゲーム#別の X サーバーでゲームを起動する|別の X サーバーでゲームを起動する]]方法もあります。上記の方法と一緒に使うことも可能です。
   
  +
==== モザイクモード ====
=== TwinView を使って垂直同期 ===
 
   
  +
複数のグラフィックカードで3台以上のモニターを使用してコンポジットを使うにはモザイクモードが必要になります。ウィンドウマネージャはモニターを区別して認識したりしなかったりします。
If you're using TwinView and vertical sync (the "Sync to VBlank" option in '''nvidia-settings'''), you will notice that only one screen is being properly synced, unless you have two identical monitors. Although '''nvidia-settings''' does offer an option to change which screen is being synced (the "Sync to this display device" option), this does not always work. A solution is to add the following environment variables at startup, for example append in {{ic|/etc/profile}}:
 
   
  +
===== ベースモザイク =====
export __GL_SYNC_TO_VBLANK=1
 
export __GL_SYNC_DISPLAY_DEVICE=DFP-0
 
export __VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE=DFP-0
 
   
  +
ベースモザイクモードは Geforce 8000 シリーズ以上の GPU で動作します。nvidia-setting の GUI から有効にすることはできません。{{ic|nvidia-xconfig}} コマンドラインプログラムを使用するか {{ic|xorg.conf}} を手動で編集する必要があります。Metamodes を指定してください。以下は4台の DFP を 2x2 の構成で使用する例です。各々の解像度は 1920x1024 で、2枚のカードにそれぞれ2台の DFP が接続されている場合:
You can change {{ic|DFP-0}} with your preferred screen ({{ic|DFP-0}} is the DVI port and {{ic|CRT-0}} is the VGA port). You can find the identifier for your display from '''nvidia-settings''' in the "X Server XVideoSettings" section.
 
  +
$ 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 にはこのようなモニターの数の制限はありません。これはバグではありません。仕様です。}}
=== nvidia-libgl をインストールすると Wayland (gdm) がクラッシュする ===
 
   
  +
===== SLI モザイク =====
nvidia をインストールしたときに Intel CPU の古いマイクロコードが Wayland を不安定にしたり、gdm をクラッシュさせることがあります。
 
   
  +
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"
   
=== 古い Xorg 設定 ===
+
=== Driver Persistence ===
   
  +
バージョン 319 から、NVIDIA は Driver Persistence の動作を変更しており、ブート時に起動するデーモンが存在します。詳しくは NVIDIA のドキュメントの [http://docs.nvidia.com/deploy/driver-persistence/index.html Driver Persistence] セクションを見て下さい。
古い環境からアップグレードする場合、インストール中に問題が発生することがあるので昔の {{ic|/usr/X11R6/}} パスを削除してください。
 
   
  +
ブート時に persistence デーモンを起動するには、{{ic|nvidia-persistenced.service}} を[[有効化]]してください。使用方法は [http://docs.nvidia.com/deploy/driver-persistence/index.html#usage 上流のドキュメント] を参照。
=== Corrupted screen: "Six screens" Problem ===
 
 
For some users using Geforce GT 100M's, the screen turns out corrupted after X starts; divided into 6 sections with a resolution limited to 640x480.
 
The same problem has been recently reported with Quadro 2000 and hi-res displays.
 
 
To solve this problem, enable the Validation Mode {{ic|NoTotalSizeCheck}} in section {{ic|Device}}:
 
Section "Device"
 
...
 
Option "ModeValidation" "NoTotalSizeCheck"
 
...
 
EndSection
 
 
=== '/dev/nvidia0' input/output error ===
 
 
This error can occur for several different reasons, and the most common solution given for this error is to check for group/file permissions, which in almost every case is ''not'' the problem. The NVIDIA documentation does not talk in detail on what you should
 
do to correct this problem but there are a few things that have worked for some people. The problem can be a IRQ conflict with another device or bad routing by either the kernel or your BIOS.
 
 
First thing to try is to remove other video devices such as video capture cards and see if the problem goes away. If there are too many video processors on the same system it can lead into the kernel being unable to start them because of memory allocation problems with the video controller. In particular on systems with low video memory this can occur even if there is only one video processor. In such case you should find out the amount of your system's video memory (e.g. with {{ic|lspci -v}}) and pass allocation parameters to the kernel, e.g. for a 32-bit kernel:
 
vmalloc=384M
 
 
If running a 64bit kernel, a driver defect can cause the NVIDIA module to fail initializing when IOMMU is on. Turning it off in the BIOS has been confirmed to work for some users. [http://www.nvnews.net/vbulletin/showthread.php?s=68bb2fabadcb53b10b286aa42d13c5bc&t=159335][[en2:User:Clickthem#nvidia module]]
 
 
Another thing to try is to change your BIOS IRQ routing from {{ic|Operating system controlled}} to {{ic|BIOS controlled}} or the other way around. The first one can be passed as a kernel parameter:
 
PCI=biosirq
 
 
The {{ic|noacpi}} kernel parameter has also been suggested as a solution but since it disables ACPI completely it should be used with caution. Some hardware are easily damaged by overheating.
 
 
{{Note|The kernel parameters can be passed either through the kernel command line or the bootloader configuration file. See your bootloader Wiki page for more information.}}
 
 
=== '/dev/nvidiactl' エラー ===
 
 
opengl アプリケーションを起動しようとすると以下のようなエラーが発生する場合:
 
Error: Could not open /dev/nvidiactl because the permissions are too
 
restrictive. Please see the {{ic|FREQUENTLY ASKED QUESTIONS}}
 
section of {{ic|/usr/share/doc/NVIDIA_GLX-1.0/README}}
 
for steps to correct.
 
 
{{ic|video}} グループに適切なユーザーを追加して再ログインすれば解決します:
 
# gpasswd -a username video
 
 
=== 32ビットのアプリケーションが起動しない ===
 
 
64ビット環境では、インストールした64ビットのドライバーと同じバージョンと対応する {{ic|lib32-nvidia-libgl}} をインストールすることで、この問題は解決します。
 
 
=== カーネルを更新した後にエラーが発生する ===
 
 
''extra'' リポジトリのパッケージではなく NVIDIA モジュールのカスタムビルドを使用する場合、カーネルを更新するたびにリコンパイルする必要があります。カーネルやグラフィックドライバーを更新した後は再起動することを推奨します。
 
 
=== クラッシュ一般 ===
 
 
* {{ic|xorg.conf}} で {{ic|RenderAccel}} を無効にしてみる。
 
* Xorg が "conflicting memory type" や "failed to allocate primary buffer: out of memory" というエラーを出力する場合、{{ic|/boot/grub/menu.lst}} の {{ic|kernel}} 行の一番最後に {{ic|nopat}} を追加してください。
 
* NVIDIA のコンパイラがカーネルをコンパイルしたのに使用した GCC と、現在使っている GCC のバージョンが異なるというエラーを出力する場合、{{ic|/etc/profile}} に以下を追加してください:
 
export IGNORE_CC_MISMATCH=1
 
* nvidia-96xx ドライバーを使っていて Xorg が "Signal 11" でクラッシュする場合、PAT を無効にしてみる。[[カーネルパラメータ]]に {{ic|nopat}} を追加してください。
 
ドライバーのトラブルシューティングに関する詳細は [http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 NVIDIA フォーラム] にあります。
 
 
=== 新しいバージョンのドライバーをインストールした後にパフォーマンスが悪くなる ===
 
 
古いドライバーと比べて FPS が落ちている場合、まずダイレクトレンダリングがオンになっているか確認してください (glxinfo は {{Pkg|mesa-demos}} に含まれています):
 
$ glxinfo | grep direct
 
上のコマンドで以下のように表示されるなら:
 
direct rendering: No
 
これは FPS が下がっていることの兆候かもしれません。
 
 
前にインストールしたバージョンのドライバーに戻して再起動すれば解決することがあります。
 
 
=== 400 シリーズのカードで CPU の使用率が高くなる ===
 
 
400 シリーズのカードで時々 CPU の使用率が急上昇するような場合、PowerMizer が GPU のクロック周波数を断続的に変更しているのが原因です。以下を Xorg 設定の {{ic|Device}} セクションに追加して、PowerMizer の設定を Adaptive から Performance にしてください:
 
 
Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x3322; PowerMizerDefaultAC=0x1"
 
 
=== ノートパソコン: ログイン/ログアウト時に X がフリーズするが、Ctrl+Alt+Backspace で回避できる ===
 
 
もし、レガシーな NVIDIA ドライバーを使っていて、ログインやログアウト時に Xorg がフリーズし (特に画面が黒と白/灰の部分に別れる)、{{ic|Ctrl+Alt+Backspace}} によるログインはできる場合 (X を終了するキーバインドを実行した時)、{{ic|/etc/modprobe.d/modprobe.conf}} に以下を追加してみてください:
 
options nvidia NVreg_Mobile=1
 
 
以下の設定は人によっては問題が解決しますが、逆にパフォーマンスが著しく悪化することもあります:
 
options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=33 NVreg_DeviceFileMode=0660 NVreg_SoftEDIDs=0 NVreg_Mobile=1
 
 
{{ic|NVreg_Mobile}} は使用しているノートパソコンにあわせて変更する必要があります:
 
* Dell のノートパソコンの場合 1。
 
* コンパル製でない東芝のノートパソコンの場合 2。
 
* その他のノートパソコンの場合 3。
 
* コンパル製の東芝のノートパソコンの場合 4。
 
* Gateway のノートパソコンの場合 5。
 
 
詳しくは [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-7182/README/readme.txt NVIDIA ドライバーの README: Appendix K] を見て下さい。
 
 
=== ノートパソコン/NVIDIA Optimus で画面が表示されない ===
 
 
On a laptop, if the NVIDIA driver cannot find any screens, you may have an NVIDIA Optimus setup : an Intel chipset connected to the screen and the video outputs, and a NVIDIA card that does all the hard work and writes to the chipset's video memory.
 
 
Check if {{ic|<nowiki>$ lspci | grep VGA</nowiki>}}
 
outputs something similar to:
 
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)
 
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)
 
 
NVIDIA ドライバーは今になって 319.12 Beta からカーネル 3.9 以上で Optimus をサポートするようになっています [http://www.nvidia.com/object/linux-display-amd64-319.12-driver.html]。
 
 
もしくは、[[Intel Graphics|Intel]] ドライバーをインストールして画面を管理させ、3D ソフトウェアが必要になったときは [[Bumblebee]] を通して NVIDIA のカードを使わさせるという方法もあります。
 
 
==== Possible Workaround ====
 
 
Enter the BIOS and changed the default graphics setting from 'Optimus' to 'Discrete' and the install NVIDIA drivers (295.20-1 at time of writing) recognized the screens.
 
 
Steps:
 
# Enter BIOS.
 
# Find Graphics Settings (should be in tab ''Config > Display'').
 
# Change 'Graphics Device' to 'Discrete Graphics' (Disables Intel integrated graphics).
 
# Change OS Detection for Nvidia Optimus to "Disabled".
 
# Save and exit.
 
 
Tested on a Lenovo W520 with a Quadro 1000M and Nvidia Optimus
 
 
=== Screen(s) found, but none have a usable configuration ===
 
 
Sometimes NVIDIA and X have trouble finding the active screen. If your graphics card has multiple outputs try plugging your monitor into the other ones. On a laptop it may be because your graphics card has vga/tv outs. Xorg.0.log will provide more info.
 
 
Another thing to try is adding invalid {{ic|"ConnectedMonitor" Option}} to {{ic|Section "Device"}} to force Xorg throws error and shows you how correct it. [http://http.download.nvidia.com/XFree86/Linux-x86/304.51/README/xconfigoptions.html Here] more about ConnectedMonitor setting.
 
 
After re-run X see Xorg.0.log to get valid CRT-x,DFP-x,TV-x values.
 
 
{{ic|nvidia-xconfig --query-gpu-info}} could be helpful.
 
 
=== 新しいドライバーで X 起動時に黒画面 ===
 
 
Nvidia のアップデートをインストールして Xorg を起動しても画面が真っ黒のままの場合、{{ic|<nowiki>rcutree.rcu_idle_gp_delay=1</nowiki>}} [[カーネルパラメータ]]を使用する必要があります。
 
 
[[mkinitcpio]] の設定ファイルに直接 {{ic|nvidia}} モジュールを追加することもできます。
 
 
=== ノートパソコンで輝度がコントロールできない ===
 
 
以下の行を {{ic|20-nvidia.conf}} に追加してみてください:
 
Option "RegistryDwords" "EnableBrightnessControl=1"
 
それでも輝度が変更できない場合は、{{AUR|nvidia-bl}} または {{AUR|nvidiabl}} をインストールしてみてください。
 
 
=== バックライトがオフにならない ===
 
 
デフォルトでは、タイムアウトを設定したり xset を実行すると DPMS はバックライトをオフにします。しかしながら、プロプライエタリの Nvidia ドライバーのバグによって、黒画面になるだけで節電ができないことがあります。バグが修正されるまで、対応策として root で {{ic|vbetool}} を使う方法があります。
 
 
{{Pkg|vbetool}} パッケージをインストールしてください。
 
 
Turn off your screen on demand and then by pressing a random key backlight turns on again:
 
 
vbetool dpms off && read -n1; vbetool dpms on
 
 
Alternatively, xrandr is able to disable and re-enable monitor outputs without requiring root.
 
 
xrandr --output DP-1 --off; read -n1; xrandr --output DP-1 --auto
 
 
=== Flash で動画に青みがかかる ===
 
 
A problem with {{Pkg|flashplugin}} versions 11.2.202.228-1 and 11.2.202.233-1 causes it to send the U/V panes in the incorrect order resulting in a blue tint on certain videos. There are a few potential fixes for this bug:
 
 
# 最新の {{Pkg|libvdpau}} をインストール。
 
# [https://bbs.archlinux.org/viewtopic.php?pid=1078368#p1078368 この makepkg] で {{ic|vdpau_trace.so}} にパッチをあてる。
 
# Right click on a video, select "Settings..." and uncheck "Enable hardware acceleration". Reload the page for it to take affect. Note that this disables GPU acceleration.
 
# {{Pkg|flashplugin}} パッケージを少なくともバージョン 11.1.102.63-1 にまで[[ダウングレード]]。
 
# 新しい Pepper API の {{AUR|chromium-pepper-flash}} で {{AUR|google-chrome}} を使用。
 
# Try one of the few Flash alternatives.
 
 
The merits of each are discussed in [https://bbs.archlinux.org/viewtopic.php?id=137877 this thread].
 
 
=== Bleeding overlay with Flash ===
 
 
This bug is due to the incorrect colour key being used by the {{Pkg|flashplugin}} version 11.2.202.228-1 and causes the flash content to "leak" into other pages or solid black backgrounds. To avoid this problem simply install the latest {{Pkg|libvdpau}} or export {{ic|1=VDPAU_NVIDIA_NO_OVERLAY=1}} within either your shell profile (E.g. {{ic|~/.bash_profile}} or {{ic|~/.zprofile}}) or {{ic|~/.xinitrc}}
 
 
=== Flash の使用時にシステムが完全にフリーズする ===
 
 
フラッシュプラグインを使っていて (マウスを動かしただけで) 時々システムが完全にフリーズして以下のエラーが出る場合:
 
 
{{hc|/var/log/errors.log|
 
NVRM: Xid (0000:01:00): 31, Ch 00000007, engmask 00000120, intr 10000000
 
}}
 
 
Flash のハードウェアアクセラレーションを無効にすれば解決するかもしれません、以下を設定:
 
 
{{hc|/etc/adobe/mms.cfg|2=
 
EnableLinuxHWVideoDecode=0
 
}}
 
 
もしくは、ハードウェアアクセラレーションを有効にしておきたい場合、ブラウザを開始する前に次を実行:
 
export VDPAU_NVIDIA_NO_OVERLAY=1
 
 
これを設定するとティアリングが発生するので注意してください。
 
 
=== Xorg がロードに失敗する、またはレッドスクリーンになる ===
 
 
GRUB を使っていてレッドスクリーンになる場合は、{{ic|/etc/default/grub}} を編集して {{ic|GRUB_TERMINAL_OUTPUT}} をアンコメントして GRUB のフレームバッファを無効にしてください。詳しくは [[GRUB/Tips and tricks#フレームバッファの無効化|GRUB]] を参照。
 
 
=== Intel 内蔵 GPU が載っている環境で黒画面 ===
 
 
内蔵 GPU が搭載された Intel の CPU を使っていて {{Pkg|nvidia}} パッケージをインストールした場合、仮想ターミナルを変更したり、X セッションを終了したとき、または起動時に黒画面になることがあります。これはグラフィックモジュールの衝突が原因です。Intel の GPU モジュールをブラックリストに入れることで解決されます。{{ic|/etc/modprobe.d/blacklist.conf}} ファイルを作成して起動時に ''i915'' と ''intel_agp'' モジュールがロードされないようにしてください:
 
 
{{hc|/etc/modprobe.d/blacklist.conf|
 
install i915 /usr/bin/false
 
install intel_agp /usr/bin/false
 
}}
 
 
=== VIA 内蔵 GPU が載っている環境で黒画面 ===
 
 
上記と同じように、''viafb'' モジュールをブラックリストに入れることで NVIDIA ドライバーとの衝突を解決できます:
 
 
{{hc|/etc/modprobe.d/blacklist.conf|
 
install viafb /usr/bin/false
 
}}
 
 
=== Intel iGPU で "no screens found" によって X が起動しない ===
 
 
Like above, if you have an Intel CPU with an integrated GPU and X fails to start with
 
 
[ 76.633] (EE) No devices detected.
 
[ 76.633] Fatal server error:
 
[ 76.633] no screens found
 
 
then you need to add your discrete card's BusID to your X configuration. Find it:
 
 
{{hc|<nowiki># lspci | grep VGA</nowiki>|
 
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09)
 
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
 
}}
 
 
then you fix it by adding it to the card's Device section in your X configuration. In my case:
 
 
{{hc|/etc/X11/xorg.conf.d/10-nvidia.conf|
 
Section "Device"
 
Identifier "Device0"
 
Driver "nvidia"
 
VendorName "NVIDIA Corporation"
 
BusID "PCI:1:0:0"
 
EndSection
 
}}
 
 
Note how {{ic|01:00.0}} is written as {{ic|1:0:0}}.
 
 
=== Xorg が起動時に失敗するが、問題なく起動する ===
 
 
起動時間がとても短いシステムの場合、NVIDIA ドライバーが完全に初期化される前に systemd がディスプレイマネージャを起動してしまうことがあります。起動時に Xorg が実行された時にだけログに以下のようなメッセージが表示されます。
 
{{hc|/var/log/Xorg.0.log|output=
 
[ 1.807] (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module. Please see the
 
[ 1.807] (EE) NVIDIA(0): system's kernel log for additional error messages and
 
[ 1.808] (EE) NVIDIA(0): consult the NVIDIA README for details.
 
[ 1.808] (EE) NVIDIA(0): *** Aborting ***
 
}}
 
このような場合、ディスプレイマネージャから DRI デバイスまでの順番付けをする必要があります。まず、新しい udev ルールファイルを作成して DRI デバイスのデバイスユニットを作成してください。
 
{{hc|/etc/udev/rules.d/99-systemd-dri-devices.rules|output=
 
ACTION=="add", KERNEL=="card*", SUBSYSTEM=="drm", TAG+="systemd"
 
}}
 
次にディスプレイマネージャからデバイスまでの依存関係を作成します。
 
{{hc|/etc/systemd/system/display-manager.service.d/10-wait-for-dri-devices.conf|output=
 
[Unit]
 
Wants=dev-dri-card0.device
 
After=dev-dri-card0.device
 
}}
 
デスクトップに必要なカードを追加する場合は、Wants と After にスペースで区切って記述してください。
 
 
=== Flash ビデオプレイヤーがクラッシュする ===
 
 
頻繁に Flash ビデオプレイヤーがクラッシュする場合、ハードウェアアクセラレーションをオフにしてみてください:
 
 
{{hc|/etc/adobe/mms.cfg|2=
 
EnableLinuxHWVideoDecode=0
 
}}
 
 
(This problem appeared after installing the proprietary nvidia driver, and was fixed by changing this setting.)
 
 
=== EDID を上書きする ===
 
 
モニターの EDID 情報が間違っている場合、nvidia ドライバーはとても小さな解像度を設定します。
 
 
手動で xorg の設定に modeline を記述する他に、non-edid モードを使えるように device セクションで edid を無効化する必要があります:
 
 
{{hc|/etc/X11/xorg.conf.d/10-monitor.conf|2=
 
Section "Monitor"
 
Identifier "Monitor0"
 
VendorName "Unknown"
 
ModelName "Unknown"
 
HorizSync 30-94
 
VertRefresh 56-76
 
DisplaySize 518.4 324.0
 
Option "DPMS"
 
# 1920x1200 59.95 Hz (CVT 2.30MA-R) hsync: 74.04 kHz; pclk: 154.00 MHz
 
Modeline "1920x1200R" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync -vsync
 
EndSection
 
 
Section "Device"
 
Identifier "Device0"
 
Driver "nvidia"
 
VendorName "NVIDIA Corporation"
 
Option "UseEdidFreqs" "FALSE"
 
Option "UseEDID" "FALSE"
 
Option "ModeValidation" "AllowNonEdidModes"
 
EndSection
 
 
Section "Screen"
 
Identifier "Screen0"
 
Device "Device0"
 
Monitor "Monitor0"
 
DefaultDepth 24
 
SubSection "Display"
 
Depth 24
 
Modes "1920x1200R"
 
EndSubSection
 
EndSection
 
}}
 
 
=== 表示の遅延を修正 (firefox, gedit, vim, tmux …) ===
 
# nvidia-settings -a InitialPixmapPlacement=0
 
 
https://bugzilla.gnome.org/show_bug.cgi?id=728464
 
   
 
== 参照 ==
 
== 参照 ==
   
* [http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 NVIDIA フォーラム]
+
* [https://forums.geforce.com/ NVIDIA ユーザーフォーラム]
* [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-7182/README/readme.txt NVIDIA ドライバーの公式 readme]
+
* [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)]

2016年8月14日 (日) 00:53時点における版

関連記事

この記事は、NVIDIAプロプライエタリなグラフィックカードドライバのインストールと設定をカバーしています。オープンソースのドライバについての情報に関しては、Nouveau を見てください。NVIDIA Optimus の技術が利用できるラップトップを使っている場合は NVIDIA Optimus を見て下さい。

インストール

ヒント: NVIDIA ドライバをインストールするときは NVIDIA のサイトで提供されているパッケージよりも pacman を使った方が基本的に有益です。なぜなら、そうすることで、システムをアップデートした際にドライバもアップデートすることができるからです。
警告: ドライバーのバージョンを混合させると動作しません。最新のブランチと、古いブランチの32ビット libGL パッケージを使用することはできません。

以下は、標準の linux または linux-lts パッケージを使っている人向けの指示です。カスタムカーネルを使っている場合のセットアップは、次のサブセクションまで読み飛ばしてください。

1. あなたの使っているグラフィックカードが何かわからない場合は、次を実行することで確認してください:

$ lspci -k | grep -A 2 -E "(VGA|3D)"

2. NVIDIA の ドライバーダウンロードサイト を見てあなたのカードに適切なドライバーのバージョンを確認して下さい。また、NVIDIA の レガシーなカードリストnouveau wiki のコードネームのページ も使って下さい。

3. あなたのカードに合わせて適切なドライバーをインストールしてください:

4. マシンが64ビット環境で32ビットの OpenGL サポートが必要な場合は、multilib リポジトリから相当する lib32 パッケージもインストールしてください (例: lib32-nvidia-libgl, lib32-nvidia-340xx-libgl, lib32-nvidia-304xx-libgl)。

5. 再起動してください。nvidia パッケージには nouveau モジュールをブラックリスト化するファイルが含まれているため、再起動が必須になります。

ドライバーをインストールしたら、続けて設定へと進んでください。

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

GeForce 5 FX シリーズ以前のカードを使っている場合、Nvidia はあなたの使っているカードのドライバーのサポートを既に打ち切っています。それらのドライバーは最新バージョンの Xorg をサポートしません。最新の Xorg を古いカードでもサポートしている、nouveau ドライバーを使うほうが楽だということになります。

しかしながら、Nvidia のドライバーの方が 3D のパフォーマンスや安定性では上だということもあるでしょう。Nvidia のドライバーを使いたい場合は、Arch User Repository からインストールすることできます (古いバージョンの Xorg も一緒に):

  • GeForce 5 FX シリーズのカード [NV30-NV36] の場合は、nvidia-173xx-dkmsAUR パッケージをインストールしてください。最後にサポートされた Xorg のバージョンは 1.15 です。
  • GeForce 2/3/4 MX/Ti シリーズのカード [NV11, NV17-NV28] の場合は、nvidia-96xx-dkmsAUR パッケージをインストールしてください。最後にサポートされた Xorg のバージョンは 1.12 です。
ヒント: レガシーな nvidia-96xx-dkms と nvidia-173xx-dkms ドライバーは非公式の [city] リポジトリ からもインストールできます (ここからインストールする時は依存関係の制限をスキップしないことを強く推奨します)。

カスタムカーネル

カスタムカーネルを使っている場合、Nvidia カーネルモジュールのコンパイルは DKMS で自動化できます。

nvidia-dkms パッケージ (あるいは nvidia-340xx-dkms など特定のブランチのパッケージ) をインストールしてください。DKMS の Pacman フックによって Nvidia やカーネルのアップデートがされた後に Nvidia モジュールが再ビルドされます。

Pure Video HD

VDPAU によるハードウェアビデオアクセラレーションを使うには第2世代の PureVideo HD が載っているビデオカードが必要です。

DRM カーネルモードセッティング

ノート: NVIDIA ドライバーはカーネルに組み込まれている vesafb モジュールのための fbdev ドライバーを提供しません。しかしながら、EFI 環境の場合、カーネルに組み込まれている efifb モジュールが高解像度な nvidia コンソールに対応しています [1]

nvidia 364.16 から DRM Kernel Mode Setting のサポートが追加されました。この機能を有効にするには、nvidia-drm.modeset=1 カーネルパラメータを追加してください。そして initramfs#MODULES に nvidia, nvidia_modeset, nvidia_uvm, nvidia_drm を追加してください。

警告: ドライバーがアップデートされるたびに毎回 mkinitcpio を実行する必要があります。

Pacman フック

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

/etc/pacman.d/hooks/nvidia.hook
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia

[Action]
Depends=mkinitcpio
When=PostTransaction
Exec=/usr/bin/mkinitcpio -p linux

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

GeForce4, GeForce 5 FX, GeForce 6, GeForce 7 シリーズのカードでは XvMC による MPEG-1 と MPEG-2 ビデオのデコードのアクセラレーションがサポートされています。使用するには、以下の内容で、新しいファイル /etc/X11/XvMCConfig を作成してください:

libXvMCNVIDIA_dynamic.so.1

設定方法はサポートしているソフトウェアを参照。

NVIDIA と nouveau ドライバーを切り替える

ドライバーを切り替える必要があるときは、以下のスクリプトを使うことができます。root で実行してください (確認を求められたら全て yes と答えて下さい):

#!/bin/bash
BRANCH= # Enter a branch if needed, i.e. -340xx or -304xx
NVIDIA=nvidia${BRANCH} # If no branch entered above this would be "nvidia"
NOUVEAU=xf86-video-nouveau

# Replace -R with -Rs to if you want to remove the unneeded dependencies
if [ $(pacman -Qqs ^mesa-libgl$) ]; then
    pacman -S $NVIDIA ${NVIDIA}-libgl # Add lib32-${NVIDIA}-libgl and ${NVIDIA}-lts if needed
    # pacman -R $NOUVEAU
elif [ $(pacman -Qqs ^${NVIDIA}$) ]; then
    pacman -S --needed $NOUVEAU mesa-libgl # Add lib32-mesa-libgl if needed
    pacman -R $NVIDIA # Add ${NVIDIA}-lts if needed
fi

64ビット環境を使っていて32ビットのライブラリが必要な場合は lib32 パッケージをアンコメントしてください (例: 32ビットのゲームや Steam)。

設定

おそらく、ドライバをインストールした後に Xorg サーバーの設定ファイルを作成する必要はありません。テストを実行することで Xorg サーバーが設定ファイルなしで問題なく機能するかどうか調べられます。しかし、様々な設定を調節するために設定ファイル (/etc/X11/xorg.conf よりも /etc/X11/xorg.conf.d/20-nvidia.conf が好ましい) を作成することが要求されるかもしれません。この設定は NVIDIA の Xorg 設定ツールで生成することが可能で、あるいは、手動でも作成できます。手動で作成する場合、(Xorg サーバーに基本的なオプションだけを与えるという) 最小設定だけを行うこともできますし、逆に、Xorg によって自動検知されたり事前に設定されたオプションを無視する設定を多数含めてもかまいません。

最小設定

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

/etc/X11/xorg.conf.d/20-nvidia.conf
Section "Device"
        Identifier "Nvidia Card"
        Driver "nvidia"
        VendorName "NVIDIA Corporation"
        Option "NoLogo" "true"
        #Option "UseEDID" "false"
        #Option "ConnectedMonitor" "DFP"
        # ...
EndSection
ヒント: nouveau からアップグレードする場合は /etc/mkinitcpio.conf から nouveau を削除してください。オープン・プロプライエタリのドライバを頻繁に切り替えるのならば、NVIDIA と nouveau ドライバーの切り替えを見て下さい。

自動設定

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

# nvidia-xconfig

このコマンドは現在のハードウェアを自動検知して /etc/X11/xorg.conf の設定を作成(既に存在する場合は編集)します。

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

#    Load        "dri"

デフォルトの depth, horizontal sync, vertical refresh, resolutions が問題ないか /etc/X11/xorg.conf を再確認してください。

警告: Xorg-server 1.8 ではまだ正しく動作しない可能性があります。

NVIDIA Settings

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

通常ユーザーで GUI を起動した場合、設定を ~/.nvidia-settings-rc に保存できます。保存した設定は $ nvidia-settings --load-config-only でロードできます (xinitrc などに記述することで自動的にロードできます)。もしくは、root で nvidia-settings を起動して、設定を /etc/X11/xorg.conf.d/ に保存してください。

ヒント: X サーバーが起動時にクラッシュする場合、おそらく GUI によって生成された設定に問題が存在します。生成されたファイルを削除して再起動してみてください。

マルチモニター

マルチモニターに関する一般的な情報はマルチディスプレイを見て下さい。

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"

設定例 [2]:

/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

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
xrandr による手動の CLI 設定

上手くいかない場合、ウィンドウマネージャの自動起動から xorg-xrandr を利用する方法があります。

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

コマンドの意味:

  • --output はオプションを設定するモニターを指定します。
  • DVI-I-1 はセカンドモニターの名前です。
  • --pos はセカンドモニターの相対位置です。
  • --mode はセカンドモニターの解像度です。
  • --rate はリフレッシュレート (Hz) です。
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台以上のモニターを使用してコンポジットを使うにはモザイクモードが必要になります。ウィンドウマネージャはモニターを区別して認識したりしなかったりします。

ベースモザイク

ベースモザイクモードは 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 のモニター構成が記述されていますが、ドライバーのバージョン304現在、Nvidia はベースモザイクモードで使用できるモニターの数を3台までに絞っています。Quadro カードでは4台以上のモニターを扱えるはずですが、市場に流通しているカードでは、3台までに制限されています。これについては「Windows ドライバーと同じ」という説明があります。しかしながら、2014年9月現在、Windows にはこのようなモニターの数の制限はありません。これはバグではありません。仕様です。
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"

Driver Persistence

バージョン 319 から、NVIDIA は Driver Persistence の動作を変更しており、ブート時に起動するデーモンが存在します。詳しくは NVIDIA のドキュメントの Driver Persistence セクションを見て下さい。

ブート時に persistence デーモンを起動するには、nvidia-persistenced.service有効化してください。使用方法は 上流のドキュメント を参照。

参照