NVIDIA (日本語)
この記事は、NVIDIA のプロプライエタリなグラフィックカードドライバのインストールと設定をカバーしています。オープンソースのドライバについての情報に関しては、 Nouveau を見てください。NVIDIA Optimus の技術が利用できるラップトップを使っている場合は NVIDIA Optimus を見て下さい。
Contents
- 1 インストール
- 2 設定
- 3 調整
-
4 Tips and tricks
- 4.1 ターミナルの解像度を修正する
- 4.2 Pure Video HD を有効にする (VDPAU/VAAPI)
- 4.3 KDE (KWin) の画面のちらつきをなくす
- 4.4 XvMC によるビデオデコードのハードウェアアクセラレーション
- 4.5 TV 出力を使う
- 4.6 X で TV (DFP) を唯一のディスプレイとして使う
- 4.7 電源を確認
- 4.8 GPU の温度をシェルに表示する
- 4.9 ログイン時にファンの速度を設定する
- 4.10 ドライバーを変更するためのインストールとアンインストールの順番
- 4.11 NVIDIA と nouveau ドライバーを切り替える
- 4.12 GeForce 600/700 シリーズのカードでティアリングをなくす
-
5 トラブルシューティング
- 5.1 Twinview を使ってゲームを遊ぶ
- 5.2 TwinView を使って垂直同期
- 5.3 古い Xorg 設定
- 5.4 Corrupted screen: "Six screens" Problem
- 5.5 '/dev/nvidia0' input/output error
- 5.6 '/dev/nvidiactl' エラー
- 5.7 32ビットのアプリケーションが起動しない
- 5.8 カーネルを更新した後にエラーが発生する
- 5.9 クラッシュ一般
- 5.10 新しいバージョンのドライバーをインストールした後にパフォーマンスが悪くなる
- 5.11 400 シリーズのカードで CPU の使用率が高くなる
- 5.12 ノートパソコン: ログイン/ログアウト時に X がフリーズするが、Ctrl+Alt+Backspace で回避できる
- 5.13 ノートパソコン/NVIDIA Optimus で画面が表示されない
- 5.14 Screen(s) found, but none have a usable configuration
- 5.15 新しいドライバーで X 起動時に黒画面
- 5.16 ノートパソコンで輝度がコントロールできない
- 5.17 バックライトがオフにならない
- 5.18 Flash で動画に青みがかかる
- 5.19 Bleeding overlay with Flash
- 5.20 Flash の使用時にシステムが完全にフリーズする
- 5.21 Xorg がロードに失敗する、またはレッドスクリーンになる
- 5.22 Intel 内蔵 GPU が載っている環境で黒画面
- 5.23 VIA 内蔵 GPU が載っている環境で黒画面
- 5.24 Intel iGPU で "no screens found" によって X が起動しない
- 5.25 Xorg が起動時に失敗するが、問題なく起動する
- 5.26 Flash ビデオプレイヤーがクラッシュする
- 6 参照
インストール
以下は、標準の linux または linux-lts パッケージを使っている人向けの指示です。カスタムカーネルを使っている場合のセットアップは、次のサブセクションまで読み飛ばしてください。
1. あなたの使っているグラフィックカードが何かわからない場合は、次を実行することで確認してください:
$ lspci -k | grep -A 2 -i "VGA"
2. NVIDIA の ドライバーダウンロードサイト を見てあなたのカードに適切なドライバーのバージョンを確認して下さい。また、NVIDIA の レガシーなカードリスト や nouveau wiki のコードネームのページ も使って下さい。
3. あなたのカードに合わせて適切なドライバーをインストールしてください:
- GeForce 400 シリーズとそれよりも新しいカード [NVCx 以降] の場合は、公式リポジトリにある nvidia または nvidia-lts パッケージをインストールしてください。
- 2006年から2010年の GeForce 8000/9000 と 100-300 シリーズのカード [NV5x, NV8x, NV9x, NVAx] の場合は、公式リポジトリにある nvidia-340xx または nvidia-340xx-lts パッケージをインストールしてください。
- 2004年から2006年の GeForce 6000/7000 シリーズのカード [NV4x と NV6x] の場合は、公式リポジトリにある nvidia-304xx または nvidia-304xx-lts パッケージをインストールしてください。
- さらに古いカードの場合は、サポートがないドライバーを見て下さい。
- 一番最新の GPU モデルを使う場合、安定版のドライバーでは新しく導入された機能をサポートしていないために、Arch User Repository から nvidia-beta をインストールする必要があるかもしれません。
- マシンが64ビット環境で32ビットの OpenGL サポートが必要な場合は、multilib リポジトリから相当する lib32 パッケージもインストールしてください (例: lib32-nvidia-libgl, lib32-nvidia-340xx-libgl, lib32-nvidia-304xx-libgl)。
4. 再起動してください。nvidia パッケージには nouveau モジュールをブラックリスト化するファイルが含まれているため、再起動が必須になります。
ドライバーをインストールしたら、続けて設定へと進んでください。
サポートがないドライバー
GeForce 5 FX シリーズ以前のカードを使っている場合、Nvidia はあなたの使っているカードのドライバーのサポートを既に打ち切っています。それらのドライバーは最新バージョンの Xorg をサポートしません。最新の Xorg を古いカードでもサポートしている、nouveau ドライバーを使うほうが楽だということになります。
しかしながら、Nvidia のドライバーの方が 3D のパフォーマンスや安定性では上だということもあるでしょう。Nvidia のドライバーを使いたい場合は、Arch User Repository からインストールすることできます (古いバージョンの Xorg も一緒に):
- GeForce 5 FX シリーズのカード [NV30-NV36] の場合は、nvidia-173xx パッケージをインストールしてください。最後にサポートされた Xorg のバージョンは 1.15 です。
- GeForce 2/3/4 MX/Ti シリーズのカード [NV11, NV17-NV28] の場合は、nvidia-96xx パッケージをインストールしてください。最後にサポートされた Xorg のバージョンは 1.12 です。
Alternate install: カスタムカーネル
まず最初に、ABS システムがどのような働きをするのかを他の記事をいくつか読んで知ると良いでしょう:
以下の内容は、ABS を使用して NVIDIA ドライバのカスタムパッケージを作るための簡単なチュートリアルです:
公式リポジトリから abs をインストールしてツリーを生成します:
# abs
一般ユーザーで、新しいパッケージを作るための一時ディレクトリを作成します:
$ mkdir -p ~/abs
nvidia パッケージのディレクトリのコピーを作成します:
$ cp -r /var/abs/extra/nvidia/ ~/abs/
nvidia のビルドをする一時ディレクトリの中へ移動します:
$ cd ~/abs/nvidia
nvidia.install と PKGBUILD が正しいカーネルバージョン変数を含むように、それらのファイルを編集する必要があります。
カスタムカーネルを実行している間に、適切なカーネルとローカルバージョン名を得ましょう:
$ uname -r
- nvidia.install 内の、
EXTRAMODULES='extramodules-3.4-ARCH'変数をカスタムカーネルのバージョンで置き換えます。例えば、EXTRAMODULES='extramodules-3.4.4'やEXTRAMODULES='extramodules-3.4.4-custom'のようにしてください。これの値はカーネルのバージョンやローカルバージョンのテキスト・数字によります。このファイルの中のすべてのバージョン番号に対して置換を行ってください。 - PKGBUILD にある、
_extramodules=extramodules-3.4-ARCH変数を変更して、上記と同じように、適切なバージョンに直して下さい。 - 複数のカーネルを並列に (デフォルトの -ARCH カーネルとカスタムカーネルが並ぶように) システムにインストールしているのならば、PKGBUILD の
pkgname=nvidia変数を一意な識別子、例えば nvidia-2622 や nvidia-custom へと変更します。こうすることで、カスタム nvidia モジュールは異なるパッケージ名となり、オリジナルのパッケージを上書きしないようになるので、両方のカーネルが NVIDIA モジュールを使えるようにできます。また、package()内にある/usr/lib/modprobe.d/nvidia.confの nouveau モジュールをブラックリスト化する行をコメントアウトしてください (二度する必要はありません)。
それから次を実行します:
$ makepkg -ci
-c オプションは、パッケージのビルドが終わった後にファイルを片付けるように makepkg に指示します。-i は makepkg が自動で pacman を起動して作成したパッケージをインストールするように指示します。
カーネルの更新時に NVIDIA モジュールを自動的にリコンパイルする
これは AUR の nvidia-hook によって可能です。モジュールのソースをインストールする必要があります: nvidia-dkms。nvidia-hook で、linux-headers パッケージの更新が終わった後に mkinitcpio の nvidia hook によって'自動リコンパイル'が行われます。/etc/mkinitcpio.conf の HOOKS に 'nvidia' を追加してください。
このフックは dkms コマンドを呼び出して新しいカーネルのバージョンにあわせて NVIDIA モジュールを更新します。
設定
おそらく、ドライバをインストールした後に 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
自動設定
NVIDIA のパッケージには Xorg サーバーの設定ファイル (xorg.conf) を作成するための自動設定ツールが含まれています。次のコマンドで実行できます:
# nvidia-xconfig
このコマンドは現在のハードウェアを自動検知して /etc/X11/xorg.conf の設定を作成(既に存在する場合は編集)します。
DRI のインスタンスがある場合は、コメントアウトされているか確認してください:
# Load "dri"
デフォルトの depth, horizontal sync, vertical refresh, resolutions が問題ないか /etc/X11/xorg.conf を再確認してください。
マルチモニター
マルチモニターに関する一般的な情報は Multihead を見て下さい。
NVIDIA Settings を使う
nvidia-utils に入っている nvidia-settings ツールを使ってマルチモニターのセットアップができます。この方法では、NVIDIA がドライバーと一緒に提供しているプロプライエタリのソフトウェアを使います。root で nvidia-settings を実行して、好きなように設定を行なって、それから設定を /etc/X11/xorg.conf.d/10-monitor.conf に保存してください。
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
You want only one big screen instead of two. Set the TwinView argument to 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"
Example configuration:
/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
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.
/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 設定
If the latest solutions don't work for you, you can use your window manager's autostart implementation with 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
コマンドの意味:
-
--outputis used to indicate the "monitor" to which the options are set. -
DVI-I-1is the name of the second monitor. -
--posis the position of the second monitor relative to the first. -
--modeis the resolution of the second monitor. -
--rateis the refresh rate (in Hz).
Mosaic モード
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.
ベースモザイク
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 nvidia-xconfig command line program or edit 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"
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"
調整
GUI: nvidia-settings
NVIDIA パッケージには nvidia-settings プログラムが含まれており複数の設定の調整を行うことが可能です。
ログイン時に設定をロードするには、ターミナルから次のコマンドを実行してください:
$ nvidia-settings --load-config-only
デスクトップ環境の auto-startup を使う方法ではおそらく nvidia-settings を正しくロードできません (KDE)。設定を確実にロードするには ~/.xinitrc ファイル (存在しないときは作成してください) に上のコマンドを記述してください。
Firefox のようなピクセルマップを使うアプリケーションでの 2D グラフィックのパフォーマンスを著しく上げるには、InitialPixmapPlacement パラメータを2に設定してください:
$ nvidia-settings -a InitialPixmapPlacement=2
これは nvidia-settings のソースコード の中に書かれています。この設定を永続させるには、起動毎に上記コマンドを実行する必要があります。~/.xinitrc ファイルに追記することで X で自動実行できます。
高度な設定: 20-nvidia.conf
/etc/X11/xorg.conf.d/20-nvidia.conf を編集して、適切なセクションにオプションを追加します。変更を適用するには Xorg サーバーを再起動する必要があります。
詳しい説明やオプションは NVIDIA Accelerated Linux Graphics Driver README and Installation Guide を見て下さい。
デスクトップのコンポジットを有効にする
NVIDIA ドライバーのバージョン 180.44 から、Damage and Composite X 拡張で GLX のサポートがデフォルトで有効になっています。詳しい説明は Xorg のページを参照してください。
起動時のロゴを無効にする
Device セクションの下に "NoLogo" オプションを追加してください:
Option "NoLogo" "1"
ハードウェアアクセラレーションを有効にする
Device セクションの下に "RenderAccel" オプションを追加してください:
Option "RenderAccel" "1"
モニターの検出を上書きする
The "ConnectedMonitor" option under section 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: "CRT" for analog connections, "DFP" for digital monitors and "TV" for televisions.
The following statement forces the NVIDIA driver to bypass startup checks and recognize the monitor as DFP:
Option "ConnectedMonitor" "DFP"
トリプルバッファリングを有効にする
トリプルバッファリングの使用を有効にするには Device セクションの下に "TripleBuffer" オプションを追加してください:
Option "TripleBuffer" "1"
このオプションを使うのはグラフィックカードに ram が多く載っているとき (128MB 以上) にしてください。この設定が適用されるのは nvidia-settings にあるオプションの一つである、vblank の同期が有効になっているときだけです。
省電力機能を有効にする
Monitor セクションの下に追加してください:
Option "DPMS" "1"
輝度調整を有効にする
Device セクションの下に追加してください:
Option "RegistryDwords" "EnableBrightnessControl=1"
SLI を有効にする
NVIDIA ドライバーの README appendix より: このオプションはサポートされている環境で SLI レンダリングの設定をコントロールします。"サポートされている環境"とは SLI 対応のマザーボードを搭載し SLI 対応の GeForce GPU が2枚か3枚刺さっているコンピューターのことです。詳しくは NVIDIA の SLI Zone を見て下さい。
まず lspci を使って一番目の GPU の PCI Bus ID を確認してください:
$ lspci | grep VGA
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)
Device セクションの下に BusID を追加してください (上記の例では3):
BusID "PCI:3:0:0"
使用したい SLI レンダリングモードの値を Screen セクションの下に追加してください:
Option "SLI" "AA"
以下の表は利用できるレンダリングモードを示しています。
| 値 | 挙動 |
|---|---|
| 0, no, off, false, Single | レンダリングの際には単一の GPU だけを使用。 |
| 1, yes, on, true, Auto | SLI を有効にしてドライバーに適切なレンダリングモードを自動で選択させる。 |
| AFR | SLI を有効にして alternate フレームレンダリングモードを使用する。 |
| SFR | SLI を有効にして split フレームレンダリングモードを使用する。 |
| AA | SLI を有効にして SLI アンチエイリアスを使用する。これをフルシーンアンチエイリアスと一緒に使うことで見栄えが良くなります。 |
もしくは、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.
Powermizer のパフォーマンスレベルを強制する (ラップトップ)
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 のパフォーマンスレベルを温度によって設定する
Device セクションの下に追加してください:
Option "RegistryDwords" "PerfLevelSrc=0x3333"
オーバークロックを有効にする
GPU やメモリのオーバークロックは Device セクションの Coolbits オプションによって制御され、サポートされない機能が使えるようになります:
Option "Coolbits" "value"
Coolbits の値は2進法でビットを立てた合計になります。それぞれのビットの意味は:
-
1(ビット 0) - (Fermi 以前の) 古いコアで nvidia-settings の Clock Frequencies ページからオーバークロックできるようになります。 -
2(ビット 1) - このビットが設定されると、ドライバーは GPU を使う際に様々な量のビデオメモリで SLI を初期化しようとします。 -
4(ビット 2) - GPU のファンの速度の手動設定が nvidia-settings の Thermal Monitor ページで可能になります。 -
8(ビット 3) - Fermi 以降の新しいコアで nvidia-settings の PowerMizer ページからオーバークロックできるようになります。バージョン 337.12 から使えるようになりました [1]。 -
16(ビット 4) - Fermi 以降の新しいコアで nvidia-settings の CLI オプションを使って電圧アップができるようになります。バージョン 346.16 から使えるようになりました [2]。
複数の機能を有効にするには、合計した Coolbits の値を追加します。例えば、オーバークロックと Fermi コアの電圧アップを有効にするには、Option "Coolbits" "24" と設定します。
Coolbits のドキュメントは /usr/share/doc/nvidia/html/xconfigoptions.html にあります。Coolbits に関するドライバーバージョン 346.16 のドキュメントはオンラインで こちらから 見ることができます。
静的な 2D/3D クロックを設定する
以下の文字列を Device セクションに設定すると PowerMizer がパフォーマンス最高レベルで有効になります (この行がないと VSync が動作しません):
Option "RegistryDwords" "PerfLevelSrc=0x2222"
Tips and tricks
ターミナルの解像度を修正する
nouveau からドライバーを変えた場合、起動時のターミナルが低解像度で表示されるようになることがあります。
GRUB
GRUB を使っている場合、/etc/default/grub の GRUB_GFXMODE 行を適切なディスプレイ解像度に編集することで修正できます。デフォルトの auto を含め、複数の解像度を指定できるので、次のように編集することを推奨します: GRUB_GFXMODE=<desired resolution>,<fallback such as 1024x768>,auto。詳しくは、GRUB の gfxmode のドキュメントを参照してください。
Pure Video HD を有効にする (VDPAU/VAAPI)
必要なハードウェア:
第2世代の PureVideo HD が載っているビデオカード [3]。
必要なソフトウェア:
Nvidia のビデオカードとプロプライエタリのドライバーで PureVideo の世代にあった異なるレベルの VDPAU インターフェイスのビデオデコード機能を提供します。
また、libva-vdpau-driver を使って VA-API インターフェイスをサポートすることもできます。
VA-API のサポートを確認するには:
$ vainfo
あなたのビデオカードのハードウェアデコード機能を全て使うには、VDPAU や VA-API をサポートするメディアプレーヤーが必要です。
MPlayer でハードウェアアクセラレーションを有効にするには ~/.mplayer/config を編集してください:
vo=vdpau vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau,
VLC でハードウェアアクセラレーションを有効にするには:
Tools > Preferences > Input & Codecs から Hardware-accelerated decoding で VDPAU を選択
smplayer でハードウェアアクセラレーションを有効にするには:
Options > Preferences > General > Video Tab から output driver で vdpau を選択
gnome-mplayer でハードウェアアクセラレーションを有効にするには:
Edit > Preference から video output を vdpau に設定
低メモリのカードで HD 動画を再生:
あまりメモリが多くないグラフィックカードを使っている場合 (512MB 以下)、1080p や 720p の動画を再生した時に動画が飛び飛びになることがあります。これを修正するには TWM や MWM などのシンプルなウィンドウマネージャを使って下さい。
さらに HD 動画を見るときにハードドライブがスピンダウンする場合、~/.mplayer/config で MPlayer のキャッシュサイズを増やすと解決するかもしれません。
KDE (KWin) の画面のちらつきをなくす
/etc/profile.d/kwin.sh
export __GL_YIELD="USLEEP"
上記で修正されない場合、以下を試して下さい:
/etc/profile.d/kwin.sh
export KWIN_TRIPLE_BUFFER=1
両方同時に有効にしてはいけません。また、トリプルバッファを有効にする場合、ドライバーのトリプルバッファも有効になっているか確認してください。
ソース: https://bugs.kde.org/show_bug.cgi?id=322060
XvMC によるビデオデコードのハードウェアアクセラレーション
GeForce4, GeForce 5 FX, GeForce 6, GeForce 7 シリーズのカードでは XvMC による MPEG-1 と MPEG-2 ビデオのデコードのアクセラレーションがサポートされています。使用するには、以下の内容で、新しいファイル /etc/X11/XvMCConfig を作成してください:
libXvMCNVIDIA_dynamic.so.1
設定方法はサポートしているソフトウェアを参照。
TV 出力を使う
TV 出力については こちら に良い記事があります。
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 DFP section (again, DFP-0 or similar), click on the Acquire Edid Button and store it somewhere, for example, /etc/X11/dfp0.edid.
Edit xorg.conf by adding to the Device section:
Option "ConnectedMonitor" "DFP" Option "CustomEDID" "DFP-0:/etc/X11/dfp0.edid"
The ConnectedMonitor option forces the driver to recognize the DFP as if it were connected. The 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.
電源を確認
NVIDIA の X.org ドライバーを使って GPU の現在の電源を検出することもできます。現在の電源を表示するには、読み取り専用パラメータの 'GPUPowerSource' をチェックしてください (0 - AC, 1 - バッテリー):
$ nvidia-settings -q GPUPowerSource -t
1
以下のようなエラーメッセージが表示される場合は、acpid をインストールするか 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
GPU の温度をシェルに表示するには、以下のように 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 になります。
rrdtool や conky などのユーティリティで使うために温度だけを表示したいときは:
$ nvidia-settings -q gpucoretemp -t
41
方法2 - nvidia-smi
X を全く使わず GPU から直接温度を読み込むことができる nvidia-smi を使います。サーバーなど、マシンで X を動かしていないユーザーにはこちらが重要でしょう。GPU の温度をシェルに表示するには、以下のように nvidia-smi を使って下さい:
$ nvidia-smi
このコマンドを使うと以下のように出力されます:
$ nvidia-smi
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 | +-----------------------------------------------------------------------------+
温度だけ見るには:
$ nvidia-smi -q -d TEMPERATURE
==============NVSMI LOG==============
Timestamp : Fri Jan 6 18:50:57 2012
Driver Version : 290.10
Attached GPUs : 1
GPU 0000:01:00.0
Temperature
Gpu : 62 C
rrdtool や conky などのユーティリティで使うために温度だけを取得したいときは:
$ nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36
62
方法3 - nvclock
たまに nvclock と nvidia-settings/nv-control が報告する温度が食い違うことがあります。nvclock の作者 (thunderbird) による この投稿 によると、nvclock の値のほうが正確なようです。
ログイン時にファンの速度を設定する
nvidia-settings' コンソールインターフェイスを使ってグラフィックカードのファンの速度を調整することができます。まずは Xorg 設定の Device セクションで Coolbits オプションを 4 か 5、または 12 (fermi 以上) に設定してファンコントロールを有効にしてください。
Option "Coolbits" "4"
Xorg が起動した時にファンを調整するには以下の行を ~/.xinitrc ファイルに記述します。n は設定したいファンの速度のパーセンテージに置き換えて下さい。
nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=n"
GPU とファンの番号を増やすことで二番目の GPU を設定することもできます。
nvidia-settings -a "[gpu:0]/GPUFanControlState=1" \ -a "[gpu:1]/GPUFanControlState=1" \ -a "[fan:0]/GPUCurrentFanSpeed=n" \ -a [fan:1]/GPUCurrentFanSpeed=n" &
GDM や KDM などのログインマネージャを使用している場合、デスクトップエントリファイルを作成して設定をさせることもできます。~/.config/autostart/nvidia-fan-speed.desktop を作成してその中に以下のテキストを入力してください。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
ドライバーを変更するためのインストールとアンインストールの順番
古いドライバーが nvidiaO で新しいドライバーが nvidiaN として以下の順番で変更します:
remove nvidiaO install nvidia-libglN install nvidiaN install lib32-nvidia-libgl-N (if required)
NVIDIA と nouveau ドライバーを切り替える
ドライバーを切り替える必要があるときは、以下のスクリプトを使うことができます。root で実行してください (確認を求められたら全て yes と答えて下さい):
#!/bin/bash
BRANCH=340xx
#BRANCH=304xx
NVIDIA="nvidia-$BRANCH"
_NVIDIA="$(pacman -Qqs ^${NVIDIA}$)"
NOUVEAU="xf86-video-nouveau mesa-libgl"
_NOUVEAU="$(pacman -Qqs ^mesa-libgl$)"
if [[ ! $_NVIDIA ]]; then
pacman -Rdds "$NOUVEAU"
pacman -S "$NVIDIA" #lib32-$NVIDIA-libgl #$NVIDIA-lts
elif [[ ! $_NOUVEAU ]]; then
pacman -Rdds "$_NVIDIA"
pacman -S "$NOUVEAU" #lib32-mesa-libgl
fi
64ビット環境を使っていて32ビットのライブラリが必要な場合は lib32 パッケージをアンコメントしてください (例: 32ビットのゲームや Steam)。
GeForce 600/700 シリーズのカードでティアリングをなくす
X11 設定ファイル (例: /etc/X11/xorg.conf.d/20-nvidia.conf) の "Screen" セクションに以下の行を追加することで、コンポジタを使っているかどうかに関係なく、ティアリングを完全になくすことができます。ただし、複数の OpenGL アプリケーションでパフォーマンスの劣化が報告されています。
Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
トラブルシューティング
Twinview を使ってゲームを遊ぶ
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 のこの挙動を修正するには、次を試して下さい:
export SDL_VIDEO_FULLSCREEN_HEAD=1
OpenGL の場合、xorg.conf の Device セクションに適切な Metamodes を追加して X を再起動してください:
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 starting games in a separate X server.
TwinView を使って垂直同期
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 /etc/profile:
export __GL_SYNC_TO_VBLANK=1 export __GL_SYNC_DISPLAY_DEVICE=DFP-0 export __VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE=DFP-0
You can change DFP-0 with your preferred screen (DFP-0 is the DVI port and CRT-0 is the VGA port). You can find the identifier for your display from nvidia-settings in the "X Server XVideoSettings" section.
古い Xorg 設定
古い環境からアップグレードする場合、インストール中に問題が発生することがあるので昔の /usr/X11R6/ パスを削除してください。
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 NoTotalSizeCheck in section 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 lspci -v) and pass allocation parameters to the kernel, e.g.:
vmalloc=64M or vmalloc=256M
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. [4]User:Clickthem#nvidia module
Another thing to try is to change your BIOS IRQ routing from Operating system controlled to BIOS controlled or the other way around. The first one can be passed as a kernel parameter:
PCI=biosirq
The 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.
'/dev/nvidiactl' エラー
opengl アプリケーションを起動しようとすると以下のようなエラーが発生する場合:
Error: Could not open /dev/nvidiactl because the permissions are too restrictive. Please see theFREQUENTLY ASKED QUESTIONSsection of/usr/share/doc/NVIDIA_GLX-1.0/READMEfor steps to correct.
video グループに適切なユーザーを追加して再ログインすれば解決します:
# gpasswd -a username video
32ビットのアプリケーションが起動しない
64ビット環境では、インストールした64ビットのドライバーと同じバージョンと対応する lib32-nvidia-libgl をインストールすることで、この問題は解決します。
カーネルを更新した後にエラーが発生する
extra リポジトリのパッケージではなく NVIDIA モジュールのカスタムビルドを使用する場合、カーネルを更新するたびにリコンパイルする必要があります。カーネルやグラフィックドライバーを更新した後は再起動することを推奨します。
クラッシュ一般
-
xorg.confでRenderAccelを無効にしてみる。 - Xorg が "conflicting memory type" や "failed to allocate primary buffer: out of memory" というエラーを出力する場合、
/boot/grub/menu.lstのkernel行の一番最後にnopatを追加してください。 - NVIDIA のコンパイラがカーネルをコンパイルしたのに使用した GCC と、現在使っている GCC のバージョンが異なるというエラーを出力する場合、
/etc/profileに以下を追加してください:
export IGNORE_CC_MISMATCH=1
- nvidia-96xx ドライバーを使っていて Xorg が "Signal 11" でクラッシュする場合、PAT を無効にしてみる。カーネルパラメータに
nopatを追加してください。
ドライバーのトラブルシューティングに関する詳細は NVIDIA フォーラム にあります。
新しいバージョンのドライバーをインストールした後にパフォーマンスが悪くなる
古いドライバーと比べて FPS が落ちている場合、まずダイレクトレンダリングがオンになっているか確認してください (glxinfo は mesa-demos に含まれています):
$ glxinfo | grep direct
上のコマンドで以下のように表示されるなら:
direct rendering: No
これは FPS が下がっていることの兆候かもしれません。
前にインストールしたバージョンのドライバーに戻して再起動すれば解決することがあります。
400 シリーズのカードで CPU の使用率が高くなる
400 シリーズのカードで時々 CPU の使用率が急上昇するような場合、PowerMizer が GPU のクロック周波数を断続的に変更しているのが原因です。以下を Xorg 設定の Device セクションに追加して、PowerMizer の設定を Adaptive から Performance にしてください:
Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x3322; PowerMizerDefaultAC=0x1"
ノートパソコン: ログイン/ログアウト時に X がフリーズするが、Ctrl+Alt+Backspace で回避できる
もし、レガシーな NVIDIA ドライバーを使っていて、ログインやログアウト時に Xorg がフリーズし (特に画面が黒と白/灰の部分に別れる)、Ctrl+Alt+Backspace によるログインはできる場合 (X を終了するキーバインドを実行した時)、/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
NVreg_Mobile は使用しているノートパソコンにあわせて変更する必要があります:
- Dell のノートパソコンの場合 1。
- コンパル製でない東芝のノートパソコンの場合 2。
- その他のノートパソコンの場合 3。
- コンパル製の東芝のノートパソコンの場合 4。
- Gateway のノートパソコンの場合 5。
詳しくは 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 $ lspci | grep VGA
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 をサポートするようになっています [5]。
もしくは、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
On a laptop, sometimes NVIDIA driver cannot find the active screen. It may be caused because you own a graphic card with vga/tv outs. You should examine Xorg.0.log to see what is wrong.
Another thing to try is adding invalid "ConnectedMonitor" Option to Section "Device"
to force Xorg throws error and shows you how correct it.
Here
more about ConnectedMonitor setting.
After re-run X see Xorg.0.log to get valid CRT-x,DFP-x,TV-x values.
nvidia-xconfig --query-gpu-info could be helpful.
新しいドライバーで X 起動時に黒画面
Nvidia のアップデートをインストールして Xorg を起動しても画面が真っ黒のままの場合、rcutree.rcu_idle_gp_delay=1 カーネルパラメータを使用する必要があります。
mkinitcpio の設定ファイルに直接 nvidia モジュールを追加することもできます。
ノートパソコンで輝度がコントロールできない
以下の行を 20-nvidia.conf に追加してみてください:
Option "RegistryDwords" "EnableBrightnessControl=1"
それでも輝度が変更できない場合は、nvidia-bl または nvidiabl をインストールしてみてください。
バックライトがオフにならない
デフォルトでは、タイムアウトを設定したり xset を実行すると DPMS はバックライトをオフにします。しかしながら、プロプライエタリの Nvidia ドライバーのバグによって、黒画面になるだけで節電ができないことがあります。バグが修正されるまで、対応策として root で vbetool を使う方法があります。
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 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:
- 最新の libvdpau をインストール。
- この makepkg で
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.
- flashplugin パッケージを少なくともバージョン 11.1.102.63-1 にまでダウングレード。
- 新しい Pepper API の chromium-pepper-flash で google-chrome を使用。
- Try one of the few Flash alternatives.
The merits of each are discussed in this thread.
Bleeding overlay with Flash
This bug is due to the incorrect colour key being used by the 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 libvdpau or export VDPAU_NVIDIA_NO_OVERLAY=1 within either your shell profile (E.g. ~/.bash_profile or ~/.zprofile) or ~/.xinitrc
Flash の使用時にシステムが完全にフリーズする
フラッシュプラグインを使っていて (マウスを動かしただけで) 時々システムが完全にフリーズして以下のエラーが出る場合:
/var/log/errors.log
NVRM: Xid (0000:01:00): 31, Ch 00000007, engmask 00000120, intr 10000000
Flash のハードウェアアクセラレーションを無効にすれば解決するかもしれません、以下を設定:
/etc/adobe/mms.cfg
EnableLinuxHWVideoDecode=0
もしくは、ハードウェアアクセラレーションを有効にしておきたい場合、ブラウザを開始する前に次を実行:
export VDPAU_NVIDIA_NO_OVERLAY=1
これを設定するとティアリングが発生するので注意してください。
Xorg がロードに失敗する、またはレッドスクリーンになる
GRUB を使っていてレッドスクリーンになる場合は、/etc/default/grub を編集して GRUB_TERMINAL_OUTPUT をアンコメントして GRUB のフレームバッファを無効にしてください。詳しくは GRUB を参照。
Intel 内蔵 GPU が載っている環境で黒画面
内蔵 GPU が搭載された Intel の CPU を使っていて nvidia パッケージをインストールした場合、仮想ターミナルを変更したり、X セッションを終了したとき、または起動時に黒画面になることがあります。これはグラフィックモジュールの衝突が原因です。Intel の GPU モジュールをブラックリストに入れることで解決されます。/etc/modprobe.d/blacklist.conf ファイルを作成して起動時に i915 と intel_agp モジュールがロードされないようにしてください:
/etc/modprobe.d/blacklist.conf
install i915 /usr/bin/false install intel_agp /usr/bin/false
VIA 内蔵 GPU が載っている環境で黒画面
上記と同じように、viafb モジュールをブラックリストに入れることで NVIDIA ドライバーとの衝突を解決できます:
/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:
# lspci | grep VGA
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:
/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 01:00.0 is written as 1:0:0.
Xorg が起動時に失敗するが、問題なく起動する
起動時間がとても短いシステムの場合、NVIDIA ドライバーが完全に初期化される前に systemd がディスプレイマネージャを起動してしまうことがあります。起動時に Xorg が実行された時にだけログに以下のようなメッセージが表示されます。
/var/log/Xorg.0.log
[ 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 デバイスのデバイスユニットを作成してください。
/etc/udev/rules.d/99-systemd-dri-devices.rules
ACTION=="add", KERNEL=="card*", SUBSYSTEM=="drm", TAG+="systemd"
次にディスプレイマネージャからデバイスまでの依存関係を作成します。
/etc/systemd/system/display-manager.service.d/10-wait-for-dri-devices.conf
[Unit] Wants=dev-dri-card0.device After=dev-dri-card0.device
デスクトップに必要なカードを追加する場合は、Wants と After にスペースで区切って記述してください。
Flash ビデオプレイヤーがクラッシュする
頻繁に Flash ビデオプレイヤーがクラッシュする場合、ハードウェアアクセラレーションをオフにしてみてください:
/etc/adobe/mms.cfg
EnableLinuxHWVideoDecode=0
(This problem appeared after installing the proprietary nvidia driver, and was fixed by changing this setting.)