2014年11月13日木曜日

CentOS7 の nouveau ドライバが不安定

最近、マルチブートにしているメインマシン(ThinkPad T510)で、CentOS 7.0 を使うことが多いのですが、FireFox でブラウジングしていると、固まることが多々あり。見かけの症状から nouveau ドライバ(xorg-x11-drv-nouveau パッケージに入ってる)がイケてないのではと思ってたのですが、まじめに kdump を採取してみたとろ、次のようなメッセージが出ていました。
[root@hoge ~]# less /var/crash/127.0.0.1-2014.11.12-07:28:39/vmcore-dmesg.txt
...
[ 1258.575491] nouveau E[   PDISP][0000:01:00.0][0xc000857c][ffff88022ce71f80] channel stalled
NVIDIA のドライバに入れ替えれば、安定しそうな雰囲気なので、やってみたところ、固まる事象が解消したっぽいです。参照すると高頻度で固まってしまうページを見に行っても、落ちなくなりました。ちなみに、わたしの環境で参照するとよく固まったページは https://www.suse.com/ja-jp/documentation/sles11/singlehtml/stor_admin/raidmdadm.html こちらです。md について、なかなか良い解説が載ってます。

以下、NVIDIA ドライバへの入れ替え方法(ELRepo の kmod-nvidia 利用)。

以前、CentOS 6 および CentOS 5 で、NVIDIA ドライバを入れ替えた際には、直接 NVIDIA のサイトから Linux 向けドライバ(NVIDIA-Linux-x86_64-3xx.yy.run)をダウンロードして実行することで、dkms 形式で利用していましたが、今回は ELRepo で提供されている kmod-nvidia を利用することにしました。kmod 形式だと、カーネルアップデート時の負荷が低い(dkms だとカーネルアップデートの際に再コンパイルが走る)です。

1. ELRepo をリポジトリに追加(http://elrepo.org/tiki/tiki-index.php 参照)
[root@hoge ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[root@hoge ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
2. GPU 種別判定して kmod-nvidia をインストール
[root@hoge ~]# yum install nvidia-detect
...
[root@hoge ~]# cat /sys/devices/virtual/dmi/id/product_version 
ThinkPad T510
[root@hoge ~]# nvidia-detect 
Probing for supported NVIDIA devices...
[10de:0a6c] NVIDIA Corporation GT218M [NVS 3100M]
This device requires the current 340.58 NVIDIA driver kmod-nvidia
[root@hoge ~]# yum install kmod-nvidia-304xx  ※nvidia-detect の表示を確認してバージョン選択
...
[root@hoge ~]# yum remove xorg-x11-glamor  ※共存すると不都合があるらしいので削除
...
[root@hoge ~]# ls -l /lib/modules/3.10.0-123.9.2.el7.x86_64/weak-updates/
合計 4
drwxr-xr-x. 2 root root 4096 11月 12 07:51 nvidia-304xx  ※ここに、配置される

RHEL7 / CentOS7 は、まだサーバに使うのはお勧めではない(安定性の面から 7.2 くらいまで待ったほうが良いと思う)ですが、デスクトップ環境は使い易く、居心地が良いと感じます(住めば都、慣れの問題でしょうか)。

2015-03-12追記
最近、中古で入手した ThinkPad W520 を使い始めました。このマシンの場合、nvidia-detect で最新ドライバ(kmod-nvidia)を勧められるのですが、最新ドライバを使うと、gnome terminal でのコマンド操作の際、キー入力から表示まで遅延(0.5秒くらい反応が鈍い感じになる)が起きて、不快な状態になるようです。ELRepo には、古いバージョンのドライバも用意されているので、もしやと思ってやってみたら、一番古いバージョンにしたところ、その不快な症状が出なくなりました。
[root@hoge ~]# cat /sys/devices/virtual/dmi/id/product_version 
ThinkPad W520
[root@hoge ~]# cat /etc/centos-release 
CentOS Linux release 7.0.1406 (Core)
[root@hoge ~]# lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GF106GLM [Quadro 2000M] (rev a1)
[root@hoge ~]# nvidia-detect -v
Probing for supported NVIDIA devices...
[10de:0dda] NVIDIA Corporation GF106GLM [Quadro 2000M]
This device requires the current 346.47 NVIDIA driver kmod-nvidia
[root@hoge ~]# yum search kmod-nvidia | grep ^kmod
kmod-nvidia.x86_64 : nvidia kernel module(s)
kmod-nvidia-304xx.x86_64 : nvidia-304xx kernel module(s)    ※これを使ったら遅延が起きなくなった
kmod-nvidia-340xx.x86_64 : nvidia-340xx kernel module(s)
[root@hoge ~]# rpm -qa | grep ^kmod
kmod-libs-14-9.el7.x86_64
kmod-nvidia-304xx-304.125-1.el7.elrepo.x86_64
kmod-14-9.el7.x86_64

1 件のコメント:

  1. CentOS7にNVIDIAのドライバをインストールするのに、いろいろ格闘した結果、ここにたどり着きました。
    この方法で無事にインストールでき、やっとまともに使うことができます。
    ありがとうございました。

    返信削除

人気ブログランキングへ にほんブログ村 IT技術ブログへ