「Nouveau」の版間の差分
細 (→トラブルシューティング) |
|||
7行目: | 7行目: | ||
[[zh-CN:Nouveau]] |
[[zh-CN:Nouveau]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
− | {{ |
+ | {{Related|NVIDIA}} |
− | {{ |
+ | {{Related|Xorg}} |
− | {{ |
+ | {{Related|Bumblebee}} |
{{Related articles end}} |
{{Related articles end}} |
||
− | この記事は NVIDIA カードのオープンソースドライバー [http://nouveau.freedesktop.org/ Nouveau] のインストールと設定を説明しています。公式のプロプライエタリドライバーの情報は [[ |
+ | この記事は NVIDIA カードのオープンソースドライバー [http://nouveau.freedesktop.org/ Nouveau] のインストールと設定を説明しています。公式のプロプライエタリドライバーの情報は [[NVIDIA]] を見て下さい。 |
== プロプライエタリの NVIDIA ドライバからの移行 == |
== プロプライエタリの NVIDIA ドライバからの移行 == |
||
− | {{Note|このセクションはすでにプロプライエタリの [[ |
+ | {{Note|このセクションはすでにプロプライエタリの [[NVIDIA]] ドライバーをインストールした人に向けて書かれています。他のユーザーは飛ばしてかまいません。}} |
{{Tip|Nvidia のドライバーをアンインストールしたくない場合は、Nvidia の代わりに Nouveau ドライバーをロードする[[#NVIDIA ドライバーをインストールしたままにしておく|設定が必要になります]]。}} |
{{Tip|Nvidia のドライバーをアンインストールしたくない場合は、Nvidia の代わりに Nouveau ドライバーをロードする[[#NVIDIA ドライバーをインストールしたままにしておく|設定が必要になります]]。}} |
||
30行目: | 30行目: | ||
== インストール == |
== インストール == |
||
− | 先に進む前に、あなたの使っているカードの [http://nouveau.freedesktop.org/wiki/CodeNames コードネーム] (もっと詳しいリストが [[Wikipedia:Comparison of Nvidia Graphics Processing Units|Wikipedia]] にあります) を確認して [http://nouveau.freedesktop.org/wiki/FeatureMatrix/ feature matrix] を見てあなたのグラフィックカードでサポートされている機能をチェックしてください。また、[[ |
+ | 先に進む前に、あなたの使っているカードの [http://nouveau.freedesktop.org/wiki/CodeNames コードネーム] (もっと詳しいリストが [[Wikipedia:Comparison of Nvidia Graphics Processing Units|Wikipedia]] にあります) を確認して [http://nouveau.freedesktop.org/wiki/FeatureMatrix/ feature matrix] を見てあなたのグラフィックカードでサポートされている機能をチェックしてください。また、[[Xorg]] が正しくインストールされているか確認してください。 |
− | DDX ドライバーを {{Pkg|xf86-video-nouveau}} パッケージで[[pacman|インストール]]してください、このパッケージは[[ |
+ | DDX ドライバーを {{Pkg|xf86-video-nouveau}} パッケージで[[pacman|インストール]]してください、このパッケージは[[公式リポジトリ]]から利用可能です。依存パッケージとして 3D アクセラレーションのための DRI ドライバを提供する {{Pkg|mesa}} もインストールされます。 |
− | + | OpenGL のサポートが欲しい場合、[[multilib]] リポジトリから {{Pkg|mesa-libgl}} と {{Pkg|lib32-mesa-libgl}} をインストールしてください。 |
|
{{Note|3D ドライバーのバグを報告する前に [http://nouveau.freedesktop.org/wiki/MesaDrivers Nouveau MesaDrivers page] を見て下さい。}} |
{{Note|3D ドライバーのバグを報告する前に [http://nouveau.freedesktop.org/wiki/MesaDrivers Nouveau MesaDrivers page] を見て下さい。}} |
||
44行目: | 44行目: | ||
ロードされない場合: |
ロードされない場合: |
||
− | * [[ |
+ | * [[カーネルパラメータ]]に {{ic|nomodeset}} や {{ic|1=vga=}} を設定して'''いない'''ことを確認してください。Nouveau を正しく動かすためにはカーネルモードセッティングが必要です (下を参照)。 |
* また、{{ic|/etc/modprobe.d/}} や {{ic|/usr/lib/modprobe.d/}} の中で modprobe のブラックリストによって Nouveau が無効になっていないか確認してください。 |
* また、{{ic|/etc/modprobe.d/}} や {{ic|/usr/lib/modprobe.d/}} の中で modprobe のブラックリストによって Nouveau が無効になっていないか確認してください。 |
||
* 上記全てを確認しても nouveau がロードされない場合は dmesg で opcode エラーが起こってないか確認してください。{{ic|1=nouveau.config=NvBios=PRAMIN}} を[[カーネルパラメータ]]に追加することでモジュールのアンロードを防ぐことができます [http://nouveau.freedesktop.org/wiki/TroubleShooting/#index10h3]。 |
* 上記全てを確認しても nouveau がロードされない場合は dmesg で opcode エラーが起こってないか確認してください。{{ic|1=nouveau.config=NvBios=PRAMIN}} を[[カーネルパラメータ]]に追加することでモジュールのアンロードを防ぐことができます [http://nouveau.freedesktop.org/wiki/TroubleShooting/#index10h3]。 |
||
50行目: | 50行目: | ||
=== KMS === |
=== KMS === |
||
− | {{Tip|解像度に問題がある場合、[[ |
+ | {{Tip|解像度に問題がある場合、[[Kernel Mode Setting#モードの強制と EDID]] をチェックしてください。}} |
− | Nouveau ドライバーを使うには [[ |
+ | Nouveau ドライバーを使うには [[Kernel Mode Setting]] (KMS) が必要です。システムが起動すると、KMS がディスプレイドライバーを初期化するときに解像度が変わります。"Late start" モードで KMS を初期化するのに必要なのは Nouveau ドライバーのインストールだけです (下を参照)。詳しくは [http://nouveau.freedesktop.org/wiki/KernelModeSetting Nouveau KernelModeSetting のページ] を見て下さい。 |
{{Note|ブートプロセスの間に見苦しい解像度変更がないため early start の方が好ましいかもしれません。}} |
{{Note|ブートプロセスの間に見苦しい解像度変更がないため early start の方が好ましいかもしれません。}} |
||
180行目: | 180行目: | ||
=== 省電力機能 === |
=== 省電力機能 === |
||
− | GPU スケーリングが使えるかどうかは GPU によって異なります |
+ | GPU スケーリングが使えるかどうかは GPU によって異なります。 |
+ | |||
+ | カーネル 3.18 から電源管理機能はカーネルに含まれるようになりました。ゲームを遊ぶ場合はモジュール設定に {{ic|1=nouveau.pstate=1}} を追加して、モジュール設定の電源状態を有効化する必要があります。設定することで必要に応じてクロックが上昇します。 |
||
+ | |||
+ | 詳細は [http://nouveau.freedesktop.org/wiki/PowerManagement Nouveau PowerManagement のページ] を見て下さい。 |
||
=== MSI (Message Signaled Interrupts) を有効にする === |
=== MSI (Message Signaled Interrupts) を有効にする === |
||
200行目: | 204行目: | ||
=== Optimus === |
=== Optimus === |
||
− | ラップトップで [[Optimus]] (ラップトップに2つの GPU を載せているハイブリッドグラフィック) を使う方法は2つあります: [[ |
+ | ラップトップで [[NVIDIA Optimus|Optimus]] (ラップトップに2つの GPU を載せているハイブリッドグラフィック) を使う方法は2つあります: [[bumblebee]] と [[PRIME]] |
== トラブルシューティング == |
== トラブルシューティング == |
||
211行目: | 215行目: | ||
$ modinfo -p video |
$ modinfo -p video |
||
+ | ====間違った出力端子が検出される問題==== |
||
− | ====Phantom Output Issue==== |
||
+ | nouveau ドライバーでは"幻影"の出力端子が検出されることがあります。例えば、LVDS-1 しか存在しないのに VGA-1 と LVDS-1 が接続されていると表示されることがあります。 |
||
− | It is possible for the nouveau driver to detect "phantom" outputs. For example, both VGA-1 and LVDS-1 are shown as connected but only LVDS-1 is present. |
||
+ | この問題はディスプレイに影響して画面が崩れます。 |
||
− | This causes display problems and a corrupted screen. |
||
+ | ブートローダーのカーネルコマンドラインで問題の出力端子 (以下の例では VGA-1) を無効化することで解決できます。以下のように追加してください: |
||
− | The problem can be overcome by disabling the phantom output (VGA-1 in the examples given) on the kernel command line of your boot loader. This can be achieved by appending the following: |
||
video=VGA-1:d |
video=VGA-1:d |
||
− | + | '''d''' = disable です。 |
|
− | + | また、{{ic|/etc/X11/xorg.conf.d/20-nouveau.conf}} に以下を追加することで X で幻影の出力端子を無効化することもできます: |
|
Section "Monitor" |
Section "Monitor" |
2015年11月10日 (火) 16:16時点における版
この記事は NVIDIA カードのオープンソースドライバー Nouveau のインストールと設定を説明しています。公式のプロプライエタリドライバーの情報は NVIDIA を見て下さい。
プロプライエタリの NVIDIA ドライバからの移行
プロプライエタリの Nvidia ドライバーを既にインストールしている場合、まずドライバーを削除してください:
# pacman -Rdds nvidia nvidia-utils nvidia-libgl libvdpau libcl
レガシーなドライバーを使っている場合は nvidia
を nvidia-304xx
や nvidia-340xx
で置き換える必要があるかもしれません。
また、Nvidia ドライバーが作成した /etc/X11/xorg.conf
ファイルを削除 (もしくは修正) してください。そうしないと X が正しく Nouveau ドライバーをロードできません。
プロプライエタリなドライバーがファイルを変更しているのかもしれないので xorg-server や mesa を再インストールすることも推奨します。
インストール
先に進む前に、あなたの使っているカードの コードネーム (もっと詳しいリストが Wikipedia にあります) を確認して feature matrix を見てあなたのグラフィックカードでサポートされている機能をチェックしてください。また、Xorg が正しくインストールされているか確認してください。
DDX ドライバーを xf86-video-nouveau パッケージでインストールしてください、このパッケージは公式リポジトリから利用可能です。依存パッケージとして 3D アクセラレーションのための DRI ドライバを提供する mesa もインストールされます。
OpenGL のサポートが欲しい場合、multilib リポジトリから mesa-libgl と lib32-mesa-libgl をインストールしてください。
ロード
システムの起動時に Nouveau のカーネルモジュールは自動的にロードされます。
ロードされない場合:
- カーネルパラメータに
nomodeset
やvga=
を設定していないことを確認してください。Nouveau を正しく動かすためにはカーネルモードセッティングが必要です (下を参照)。 - また、
/etc/modprobe.d/
や/usr/lib/modprobe.d/
の中で modprobe のブラックリストによって Nouveau が無効になっていないか確認してください。 - 上記全てを確認しても nouveau がロードされない場合は dmesg で opcode エラーが起こってないか確認してください。
nouveau.config=NvBios=PRAMIN
をカーネルパラメータに追加することでモジュールのアンロードを防ぐことができます [1]。
KMS
Nouveau ドライバーを使うには Kernel Mode Setting (KMS) が必要です。システムが起動すると、KMS がディスプレイドライバーを初期化するときに解像度が変わります。"Late start" モードで KMS を初期化するのに必要なのは Nouveau ドライバーのインストールだけです (下を参照)。詳しくは Nouveau KernelModeSetting のページ を見て下さい。
Late start
この方法では他のカーネルモジュールがロードされた後に KMS を起動します。"Loading modules" の文字が表示されてテキストのサイズが変わります。ちらつきが発生するかもしれません。
Early start
この方法では initramfs がロードされた時に、ブートプロセスで出来るだけ早く KMS を起動します。
nouveau
を /etc/mkinitcpio.conf
の MODULES
行に追加して下さい:
MODULES="... nouveau ..."
カスタム EDID ファイルを使っている場合、同じように initramfs に埋め込む必要があります:
/etc/mkinitcpio.conf
FILES="/lib/firmware/edid/your_edid.bin"
initial ramdisk イメージを再生成してください:
# mkinitcpio -p <kernel preset; e.g. linux>
Nouveau に問題が発生してテスト目的に nouveau-drm を複数回リビルドする場合、initramfs に nouveau
は追加しないでください。initramfs を再生成するのは忘れやすいためテストするのが面倒くさくなります。システムが安定したと確証を得るまでは "Late start" を使いましょう。(通常は推奨されない) カスタムファームウェアが必要な場合、initramfs で問題が別に発生することもあります。
Tips and tricks
NVIDIA ドライバーをインストールしたままにしておく
プロプライエタリの NVIDIA ドライバーをアンインストールしたくないが、Nouveau ドライバーを使いたい場合、/etc/modprobe.d/nouveau_blacklist.conf
内の nouveau のブラックリストを以下のように修正してコメントアウトしてください:
#blacklist nouveau
そして以下の内容で /etc/X11/xorg.conf.d/20-nouveau.conf
ファイルを作成して Xorg に nvidia の代わりに nouveau をロードするよう指定してください:
Section "Device" Identifier "Nvidia card" Driver "nouveau" EndSection
既に NVIDIA ドライバーを使用していて、再起動せずに Nouveau をテストしたい場合、'nvidia' モジュールをアンロードしてください:
# rmmod nvidia
次に 'nouveau' モジュールをロードしてください:
# modprobe nouveau
そしてカーネルメッセージを見て正しくロードされていることを確認してください:
$ dmesg
最新の開発パッケージをインストールする
AUR を通して、最新の -git パッケージをインストールすることができます:
- mesa-gitAUR を使うことで (最新の DRI ドライバーを含む) 最新の Mesa をインストールすることができます。
- xf86-video-nouveau-gitAUR を使うことで最新の DDX ドライバーをインストールすることができます。
- linux-mainlineAUR などのパッケージを使って新しいカーネルバージョンをインストールすることで、Nouveau DRM コードのパフォーマンスが向上するかもしれません。
- 最新の Nouveau を使うには、AUR の linux-gitAUR パッケージを使用して、PKGBUILD を編集し Nouveau のカーネルリポジトリ (現在は git://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau にあります) を使う必要があります。
上流のドライバーソースは Nouveau Source のページ にあります。
ティアリングフリーのコンポジット
/etc/X11/xorg.conf.d/20-nouveau.conf
を編集して、以下を Device
セクションに追加して下さい:
Section "Device" Identifier "nvidia card" Driver "nouveau" Option "GLXVBlank" "true" EndSection
Dual Head
Nouveau は xrandr 拡張を使ってモードセッティングやマルチモニターをサポートしています。チュートリアルは xrandr のページを見て下さい。
以下は dual head モードで2つのモニターを動かすための /etc/X11/xorg.conf.d/20-nouveau.conf
の完全なサンプルです。GNOME Control Center の Display パネル (gnome-control-center display
) などグラフィカルツールを使ってモニタの設定をすることも可能です。
# the right one Section "Monitor" Identifier "NEC" Option "PreferredMode" "1280x1024_60.00" EndSection # the left one Section "Monitor" Identifier "FUS" Option "PreferredMode" "1280x1024_60.00" Option "LeftOf" "NEC" EndSection Section "Device" Identifier "nvidia card" Driver "nouveau" Option "Monitor-DVI-I-1" "NEC" Option "Monitor-DVI-I-2" "FUS" EndSection Section "Screen" Identifier "screen1" Monitor "NEC" DefaultDepth 24 SubSection "Display" Depth 24 Virtual 2560 2048 EndSubSection Device "nvidia card" EndSection Section "ServerLayout" Identifier "layout1" Screen "screen1" EndSection
コンソールの解像度を設定する
fbset ツールを使ってコンソールの解像度を調整してください。
また、video=
カーネルラインオプションを使うことで nouveau に解像度を渡すことができます (KMS を参照してください)。
省電力機能
GPU スケーリングが使えるかどうかは GPU によって異なります。
カーネル 3.18 から電源管理機能はカーネルに含まれるようになりました。ゲームを遊ぶ場合はモジュール設定に nouveau.pstate=1
を追加して、モジュール設定の電源状態を有効化する必要があります。設定することで必要に応じてクロックが上昇します。
詳細は Nouveau PowerManagement のページ を見て下さい。
MSI (Message Signaled Interrupts) を有効にする
これによってパフォーマンスがわずかに向上するかもしれません。サポートされているボードではデフォルトで有効になります。
次の行を /etc/modprobe.d/nouveau.conf
に書いて下さい:
options nouveau config="NvMSI=1"
early start を使っている場合、FILES="/etc/modprobe.d/nouveau.conf"
を /etc/mkinitcpio.conf
に加え、カーネルイメージを再生成してください:
# mkinitcpio -p <kernel preset; e.g. linux>
システムを再起動することで変更が適用されます。
Optimus
ラップトップで Optimus (ラップトップに2つの GPU を載せているハイブリッドグラフィック) を使う方法は2つあります: bumblebee と PRIME
トラブルシューティング
drm.debug=14
や log_buf_len=16M
をカーネルパラメータに追加してビデオデバッグを有効にしてください。
Xorg の詳細ログを作成する:
$ startx -- -logverbose 9 -verbose 9
ロードされているビデオモジュールのパラメータと値を見る:
$ modinfo -p video
間違った出力端子が検出される問題
nouveau ドライバーでは"幻影"の出力端子が検出されることがあります。例えば、LVDS-1 しか存在しないのに VGA-1 と LVDS-1 が接続されていると表示されることがあります。
この問題はディスプレイに影響して画面が崩れます。
ブートローダーのカーネルコマンドラインで問題の出力端子 (以下の例では VGA-1) を無効化することで解決できます。以下のように追加してください:
video=VGA-1:d
d = disable です。
また、/etc/X11/xorg.conf.d/20-nouveau.conf
に以下を追加することで X で幻影の出力端子を無効化することもできます:
Section "Monitor" Identifier "VGA-1" Option "Ignore" "1" EndSection
ソース: http://gentoo-en.vfose.ru/wiki/Nouveau#Phantom_and_unpopulated_output_connector_issues