TECHLOGICS

HYLOGICS分室。作業メモやガジェットのレビューなど、主に技術系のエントリを取り扱います。

【Linux】CentOS 7でGTX970を使う

ホストからパススルーしたGTX970をゲスト側のCentOS 7で使ってみる。

環境

[kirine@development ~]$ cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

[kirine@development ~]$ uname -r
3.10.0-327.22.2.el7.x86_64

nouveauモジュールの無効化

もし以下のようにnouveauモジュールが既にロードされている場合、あらかじめ無効化しておく。

[kirine@development ~]$ lsmod | grep -e nouveau
nouveau              1403757  1
mxm_wmi                13021  1 nouveau
wmi                    19070  2 mxm_wmi,nouveau
video                  24400  1 nouveau
i2c_algo_bit           13413  1 nouveau
ttm                    93441  1 nouveau
drm_kms_helper        125008  1 nouveau
drm                   349210  4 ttm,drm_kms_helper,nouveau
i2c_core               40582  5 drm,i2c_piix4,drm_kms_helper,i2c_algo_bit,nouveau
[kirine@development ~]$ lspci -k

00:06.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1)
    Subsystem: ASUSTeK Computer Inc. Device 8508
    Kernel driver in use: nouveau

nouveaublacklistに追加

[kirine@development ~]$ cat /etc/modprobe.d/nouveau.conf
blacklist nouveau

再起動

ドライバのインストール

ダウンロード

NVIDIA公式からドライバをダウンロードする。

NVIDIAドライバダウンロード

f:id:kirine:20160726114136p:plain

f:id:kirine:20160726114147p:plain

nvidiaモジュールのインストール

[kirine@development Downloads]$ chmod +x ./NVIDIA-Linux-x86_64-367.35.run
[kirine@development Downloads]$ ls -l
total 73832
-rwxrwxr-x 1 kirine kirine 75600336 Jul 26 00:58 NVIDIA-Linux-x86_64-367.35.run

nvidia-xconfigは実施してもしなくても良いです(xorg.configは自前で編集するので)

再起動

ドライバの確認

nvidiaがロードされていることを確認する。

[kirine@development Downloads]$ lsmod | grep -e nouveau -e nvidia
nvidia_drm             43405  1 
nvidia_modeset        764322  5 nvidia_drm
nvidia              11249475  81 nvidia_modeset
drm_kms_helper        125008  1 nvidia_drm
drm                   349210  4 drm_kms_helper,nvidia_drm
i2c_core               40582  4 drm,i2c_piix4,drm_kms_helper,nvidia
[kirine@development Downloads]$ lspci -k

00:06.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1)
    Subsystem: ASUSTeK Computer Inc. Device 8508
    Kernel driver in use: nvidia

xorgの設定

以下のサイトを参考にxorg.configを編集する。

NVIDIA Optimus - ArchWiki

バージョン確認

[kirine@development ~]$ rpm -qi xorg-x11-server-Xorg
Name        : xorg-x11-server-Xorg
Version     : 1.17.2
Release     : 10.el7
Architecture: x86_64
Install Date: 2016年07月26日 08時38分37秒
Group       : User Interface/X
Size        : 3802049
License     : MIT
Signature   : RSA/SHA256, 2015年11月26日 01時06分05秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : xorg-x11-server-1.17.2-10.el7.src.rpm
Build Date  : 2015年11月20日 23時45分57秒
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.x.org
Summary     : Xorg X server
Description :
X.org X11 is an open source implementation of the X Window System.  It
provides the basic low level functionality which full fledged
graphical user interfaces (GUIs) such as GNOME and KDE are designe

あるいは

[kirine@development ~]$ Xorg -version

X.Org X Server 1.17.2
Release Date: 2015-06-16
X Protocol Version 11, Revision 0
Build Operating System:  2.6.32-220.17.1.el6.x86_64 
Current Operating System: Linux development.hmx13.info 3.10.0-327.22.2.el7.x86_64 #1 SMP Thu Jun 23 17:05:11 UTC 2016 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-327.22.2.el7.x86_64 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 intel_iommu=on
Build Date: 20 November 2015  02:44:25PM
Build ID: xorg-x11-server 1.17.2-10.el7 
Current version of pixman: 0.32.6
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.

xorg.configの編集

(念のためバックアップは取って置くこと)

今回の環境ではPCIバスは以下の通りなのでBusIDにPCI:0:6:0を設定。

[kirine@development Downloads]$ lspci | grep NVIDIA
00:06.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1)
00:07.0 Audio device: NVIDIA Corporation GM204 High Definition Audio Controller (rev a1)
[kirine@development Downloads]$ cat /etc/X11/xorg.conf
Section "Module"
    Load "modesetting"
EndSection

Section "Device"
    Identifier     "nvidia"
    Driver         "nvidia"
    BusID          "PCI:0:6:0"
    Option         "AllowEmptyInitialConfiguration"
EndSection

動作確認

startxが動作すればOK。

以上で作業終了。