Nouveau (日本語)

From ArchWiki
Revision as of 09:59, 1 November 2013 by Kusakata (Talk | contribs)

Jump to: navigation, search

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end

この記事は NVIDIA カードのオープンソースドライバー Nouveau のインストールと設定を説明しています。公式のプロプライエタリドライバーの情報は NVIDIA を見て下さい。

プロプライエタリの NVIDIA ドライバからの移行

Note: このセクションはすでにプロプライエタリの NVIDIA ドライバーをインストールした人に向けて書かれています。他のユーザーは飛ばしてかまいません。
Tip: Nvidia のドライバーをアンインストールしたくない場合は、Nvidia の代わりに Nouveau ドライバーをロードする設定が必要になります

プロプライエタリの Nvidia ドライバーを既にインストールしている場合、まずドライバーを削除してください:

# pacman -Rdds nvidia nvidia-utils nvidia-libgl

また、Nvidia ドライバーが作成した /etc/X11/xorg.conf ファイルを削除 (もしくは修正) してください。そうしないと X が正しく Nouveau ドライバーをロードできません。

インストール

先に進む前に、あなたの使っているカードの コードネーム (もっと詳しいリストが Wikipedia にあります) を確認して feature matrix を見てあなたのグラフィックカードでサポートされている機能をチェックしてください。また、Xorg が正しくインストールされているか確認してください。

DDX ドライバーを xf86-video-nouveau パッケージでインストールしてください、このパッケージは公式リポジトリから利用可能です。依存パッケージとして 3D アクセラレーションのための DRI ドライバを提供する nouveau-dri もインストールされます。

x86_64 環境で32ビットの 3D サポートが欲しい場合、multilib リポジトリから lib32-nouveau-dri をインストールしてください。

Note: 3D ドライバーのバグを報告する前に Nouveau MesaDrivers page を見て下さい。

ロード

システムの起動時に Nouveau のカーネルモジュールは自動的にロードされます。

ロードされない場合:

  • カーネルパラメータnomodesetvga= を設定していないことを確認してください。Nouveau を正しく動かすためにはカーネルモードセッティングが必要です (下を参照)。
  • また、/etc/modprobe.d/ の中で modprobe のブラックリストによって Nouveau が無効になっていないか確認してください。

KMS

Tip: 解像度に問題がある場合、Kernel Mode Setting (日本語)#モードの強制と EDID をチェックしてください。

Nouveau ドライバーを使うには Kernel Mode Setting (KMS) が必要です。システムが起動すると、KMS がディスプレイドライバーを初期化するときに解像度が変わります。"Late start" モードで KMS を初期化するのに必要なのは Nouveau ドライバーのインストールだけです (下を参照)。詳しくは Nouveau KernelModeSetting page を見て下さい。

Note: Users may prefer the early start method as it does not cause the annoying resolution change part way through the boot process.

Late start

This method will start the KMS after the other kernel modules are loaded. You will see the text "Loading modules" and the size of the text may change, possibly with an undesirable flicker.

Early start

この方法では initramfs がロードされた時に、ブートプロセスで出来るだけ早く KMS を起動します。

nouveau/etc/mkinitcpio.confMODULES 行に追加して下さい:

MODULES="... nouveau ..."

カスタム EDID ファイルを使っている場合、同じように initramfs に埋め込む必要があります:

/etc/mkinitcpio.conf
FILES="/lib/firmware/edid/your_edid.bin"

initial ramdisk イメージを再生成してください:

# mkinitcpio -p <kernel preset; e.g. linux>

If you're experiencing troubles with Nouveau leading to rebuild nouveau-drm several times for testing purposes, do not add nouveau to the initramfs. It is too easy to forget to rebuild the initramfs and it will just make any testing harder. Just use "Late start" until you are confident the system is stable. There might be additional problems with initramfs if you need a custom firmware (generally not advised).

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
Tip: You can use these scripts if you are switching between open and closed drivers often.

既に NVIDIA ドライバーを使用していて、再起動せずに Nouveau をテストしたい場合、'nvidia' モジュールをアンロードしてください:

# rmmod nvidia

次に 'nouveau' モジュールをロードしてください:

# modprobe nouveau

そしてカーネルメッセージを見て正しくロードされていることを確認してください:

$ dmesg

最新の開発パッケージをインストールする

AUR を通して、最新の -git パッケージをインストールすることができます:

  • mesa-gitAUR を使うことで (最新の DRI ドライバーを含む) 最新の Mesa をインストールすることができます。
  • xf86-video-nouveau-gitAUR を使うことで最新の DDX ドライバーをインストールすることができます。
  • linux-mainlineAUR などのパッケージを使って新しいカーネルバージョンをインストールすることで、Nouveau DRM コードのパフォーマンスが向上するかもしれません。
  • To get the latest Nouveau improvements, you should use the linux-gitAUR package from the AUR, edit the PKGBUILD and use Nouveau's own kernel repository, which is currently located at git://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau.

上流のドライバーソースは Nouveau Source page にあります。

Tear-free compositing

/etc/X11/xorg.conf.d/20-nouveau.conf を編集して、以下を Device セクションに追加して下さい:

Section "Device"
    Identifier "nvidia card"
    Driver "nouveau"
    Option "GLXVBlank" "true"
EndSection

Dual Head

Nouveau supports the xrandr extension for modesetting and multiple monitors. See the RandR12 page for tutorials.

Here is a full sample /etc/X11/xorg.conf.d/20-nouveau.conf above for running 2 monitors in dual head mode. You may prefer to use a graphical tool to configure monitors like GNOME Control Center's Display panel (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 によって異なります。詳細は Nouveau PowerManagement page を見て下さい。

MSI (Message Signaled Interrupts) を有効にする

これによってパフォーマンスがわずかに向上するかもしれません。NV50+ だけでのみサポートされておりデフォルトでは無効になっています。

Warning: この設定はマザーボードと GPU の組み合わせによっては不安定になる可能性があります。

次の行を /etc/modprobe.d/nouveau.conf に書いて下さい:

options nouveau msi=1

early start を使っている場合、FILES="/etc/modprobe.d/nouveau.conf"/etc/mkinitcpio.conf に加え、カーネルイメージを再生成してください:

# mkinitcpio -p <kernel preset; e.g. linux>

システムを再起動することで変更が適用されます。

Optimus

ラップトップで Optimus (ラップトップに2つの GPU を載せている場合ハイブリッドグラフィック) を使う方法は2つあります: bumblebeePRIME

トラブルシューティング

次をカーネルコマンドライン (grub を使っている場合、ブートメニューで e を押せば編集できます) に追加してビデオデバッグを有効にする:

drm.debug=14 log_buf_len=16M

Xorg の詳細ログを作成する:

startx -- -logverbose 9 -verbose 9

ロードされているビデオモジュールのパラメータと値を見る:

modinfo -p video

Phantom Output Issue

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.

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

Where d = disable.

The phantom output can also be disabled in X by adding the following to /etc/X11/xorg.conf.d/20-nouveau.conf:

Section "Monitor"
Identifier "VGA-1"
Option "Ignore" "1"
EndSection

ソース: http://gentoo-en.vfose.ru/wiki/Nouveau#Phantom_and_unpopulated_output_connector_issues