RedHawk Nvidia GLX Driver について 最終更新 2022.10.03

外部サイトへのリンクはで示されています。

[hand.right] RedHawk7.2から7.3.18にバージョンアップした結果、NVIDIA-Linux-x86_64-396.26.runがインストール出来ない。
RedHawk7.2から7.3.18にバージョンアップした結果、カーネルのAPIに変更が生じています。
このため、get_user_pages()と言う関数が8パラメータから7パラメータになり、従来のデバイスドライバがすべて変更をしなければなりません。
これは、NVIDIA-Linux-x86_64-396.26.runおよびその他のデバイスドライバも同様です。
下記の手順でローカルパッチを作成して適用してください。 NVIDIA-Linux-x86_64-396.26.run Nvidia396.26-RedHawk7.3.18.patchをNVIDIA-Linux-x86_64-396.26.runに以下のように適用してください。

    # sh NVIDIA-Linux-x86_64-396.26.run --apply-patch Nvidia396.26-RedHawk7.3.18.patch
    Verifying archive integrity... OK
    :
    Self-extractible archive "NVIDIA-Linux-x86_64-396.26-custom.run" successfully created.

インストールが終了すると、カレントディレクトリに"NVIDIA-Linux-x86_64-396.26-custom.run"が生成されますので、今後はそれを通常インストールすることが出来ます。

[hand.right] Nvidia社のグラフィックボードのファームウェア不具合のお知らせ:
Nvidia社のグラフィックボードとディスプレイをDisplayPort 1.4または1.3で接続している場合に OS起動時に空白の画面が表示されたり、ハングアップする可能性があります。
対象のグラフィックスカード

Quadroシリーズ:
Quadro GP100, Quadro P6000, Quadro P5000, Quadro P4000, Quadro P2000, Quadro P1000, Quadro P620, Quadro P600, Quadro P400, Quadro M6000 24GB, Quadro M6000, Quadro M5000, Quadro M4000, Quadro M2000, Quadro K2200, Quadro K1200, Quadro K620, NVS 810

詳細は、NVIDIA社サポートページをご覧ください。

Windows10システムをお持ちの場合には、以下のリンクをクリックして、NVIDIAグラフィックスファームウェアアップデートツールをダウンロ>ードして、アップデートする事が出来ます。
不可能な場合には、弊社カスタマーサポートがセンドバックで対応させていただきます。
注意:センドバックを利用するためには、サポートサービス契約が必要です
http://www.nvidia.com/object/nv-uefi-update.html

[hand.right] レガシィGPUについて(外部HTML)

レガシーGPUは、旧世代のNVIDIA GPUで、通常のNVIDIA Unified UNIXグラフィックスドライバではサポートされていません。
かわりに、これらのGPUは、新しいバージョンのLinuxシステムコンポーネント(新しいLinuxカーネル、新しいバージョンのXサーバーなど)を 追加するために、定期的に更新される特別な "レガシーGPU"ドライバを通じて引き続きサポートされます。
各レガシーGPUドライバシリーズでサポートされているGPUの一覧については、上記URLのリストを参照してください。
各レガシーGPUドライバシリーズのサポートタイムラインの詳細については、 レガシーGPUドライバシリーズのサポートタイムラインを参照してください。

[hand.right] Nvidia CUDA GPUs(外部HTML)

Nvidia GPU と CUDA Compute Capabilityの関係です。

[hand.right] RedHawk Nvidia driver/CUDA/OpenGL/X11 Version Tables(PDF)

RedHawkが公式サポートしているNvidia driver/CUDA/OpenGL/X11の関係です。
こちらは、Nvidia社が公式サポートしているNvidiaデバイスドライバの公式ダウンロードarchiveです。
RedHawkに組み込む方法は、 こちらを参照してください。

[hand.right] RedHawk Nvidia driver xorg.conf option Tables(PDF)

Nvidia driver xorg.conf のオプションテーブルです
DeviceセクションのNvidia用ドライバオプションです。
下記、Optionの項目と値を設定することで有効になります。
Section "Device"
    Identifier  "Videocard0"
    Driver      "nvidia"
    Option     "項目" "値"
EndSection
注意:テーブルの情報は、Nvidia社のマニュアルに従っていますが、必ずしもディフォルト値と同じにはなっていません。
また、ドライバのバージョンに伴って、異なる記述になっています。

例1:UBB(Unified Back Buffer),Composite,Xineramaについて
すべての版で、UBBのディフォルトは、"Enable"ですが、/var/log/Xorg.*.log に下記のメッセージが出力されている場合には、Option "UBB" は、"Disable" です。
    (WW) NVIDIA(0): UBB is incompatible with the Composite extension. Disabling UBB.
    
このメッセージは、UBBが、Composite Extensionの検出によって、Disableにされた事を示しています。
ワークステーションオーバーレイ、ステレオビジュアル、およびUBBは、Composite Extensionと互換性がありません。
これらの機能は、Composite Extensionが検出されると自動的に無効になります。

  • UBBについて

    UBBは、(Quadro4 NVSを除く)QuadroファミリのGPUでのみ使用でき、ビデオメモリが十分にある場合はデフォルトで有効になります。
    UBBを有効にすると、すべてのウィンドウが同じバック、ステンシルおよび深度バッファを共有します。
    このため、ウィンドウが多数あるアプリケーションソフトやマルチプラットフォーム用に設計されたグラフィックライブラリを使用する場合に、不具合が生じることが報告されています。
    このような場合には、/etc/X11/xorg.conf中の オプションでUBBを無効にすることができます。
    以下にUBBを無効にする例を示します。
    Section "Device"
           Identifier  "Videocard0"
           Driver      "nvidia"
           VendorName  "Nvidia"
           BoardName   "NVIDIA Quadro"
           Option      "UBB" "False"
    EndSection 
    

  • Compositeついて

    現在のxorg Xサーバーは、CompositeというXプロトコル拡張のサポートを含んでいます。
    この拡張では、ウィンドウを画面上に直接ではなくピックスマップに描画することができます。
    Damage and Render拡張機能と組み合わせることで、コンポジット型ウィンドウマネージャでウィンドウをブレンドして画面を描画することができます。

    ・Version 361.28未満の場合
    Composite拡張機能は、xorg サーバーの制限により、Xineramaと互換性がありません。Xineramaを有効にすると、Composite拡張機能は自動的に無効になります。

    また明示的にX設定ファイルまたはXサーバコマンドラインにXineramaを指定すると、NVIDIAのXinerama拡張機能のインストールが禁止されるので、Xサーバのログファイルに以下が含まれていないことを確認してください。

    (**)Xinerama:enabled


    ・Version 361.28以上の場合
    RedHawk6.xのxorg サーバーでは、 Composite拡張機能はXineramaと互換性がありません。これらのサーバーでXineramaが有効になっていると、Compositeは自動的に無効になり (バージョン1.10より前のxorg サーバー) Xinerama構成のすべての物理X画面でレンダリングイベントが正しく表示されません。 (バージョン1.15より前のxorg サーバー)
    詳細は、Nvidia社のREADME の"Using the X Composite Extension"を参照してください。
    注意:
    ・通常RedHawk/Nvidiaドライバの組み合わせでは、Xineramaを使用せずTwinviwが使用されています。
    ・"Xinarama"を"Enable"にすると、"RandR"がEnableになり、/var/log/Xorg.*.logに以下のメッセージが表示されます。

      (**) Option "Xinerama" "True"
      (==) Automatically adding devices
      (==) Automatically enabling devices
      (**) Xinerama: enabled
      	:
      	:
      (WW) NVIDIA(0): Option "TwinView" is not used
      (WW) NVIDIA(0): Not registering RandR
      (==) RandR enabled
      
    また、"Composite"と"Xinerama"を同時に"True"にすることはできません。
    この場合には、 、/var/log/Xorg.*.logに以下のメッセージが表示され、"Xinerama"が 優先されます。
      (WW) NVIDIA: The Composite and Xinerama extensions are both enabled, which
      (WW) NVIDIA:     is an unsupported configuration.  The driver will continue
      (WW) NVIDIA:     to load, but may behave strangely.
      (WW) NVIDIA: Xinerama is enabled, so RandR has likely been disabled by the
      (WW) NVIDIA:     X server.
      

    ・"Xinarama"オプションは、xorgサーバーの"ServerFlags"セクションに記述してください。
      Section "ServerFlags"
          Option         "BlankTime" "0"
          Option         "StandbyTime" "0"
          Option         "SuspendTime" "0"
          Option         "OffTime" "0"
          Option         "Xinerama" "True"
      EndSection
      
    ・または、"ServerLayout"セクションに記述することも出来ます。
      Section "ServerLayout"
          Identifier     "Layout0"
          Screen      0  "Screen0" 0 0
          InputDevice    "Keyboard0" "CoreKeyboard"
          InputDevice    "Mouse0" "CorePointer"
          Option         "Xinerama" "True"
      EndSection
      

    ・しかしNvidiaのドライバに対する"Device"セクションに記述しても無視されます。

    ・"Composite"拡張機能を"Enable"/"Disable"にするためには、/etc/X11/xorg.confに以下の記述を追加してください。
      Section "Extensions"
          Option "Composite" "Enable"
      または
          Option "Composite" "Disable"
      EndSection
      
    • Version 361.28未満の場合
      "Composite"を"Disable"にすると、"UBB"は"Enable"になります(Compositeを"Enable"にすると、"UBB"は、"Disable"になります)。
    • Version 361.28以上の場合
      "Composite"の設定と"UBB"は独立です。
    • RedHawk7.2でにGnome3を使用している場合に"Composite"を"Disable"にすると、デスクトップ画面が起動しなくなります。

  • RedHawk Xorgバージョンテーブル

      RedHawk Version 6.0 6.3 6.5 7.0 7.2
      Xorg Version 1.7.7 1.10.6 1.13.0 1.15.0 1.17.2

例2: Xinerama,RandRについて

"Xinerama"のディフォルトは、"False"です。

"Xinerama"は、以下のような記述で"True"になりますが、同時にX serverの"RandR"は、"Disable"になります。(NvidiaのRandRがEnableになる)
    Section "ServerFlags"
        Option         "Xinerama" "True"
    EndSection
    Section "Extensions"
        Option         "Composite" "Disable"
    EndSection
    
この時、下記のメッセージが出力されますが、分りにくいのでxrandrコマンドを実行し判断することを奨励いたします。
    (**) Option "Xinerama" "True"
     :
    (**) Xinerama: enabled
     :
    (WW) NVIDIA: Xinerama is enabled, so RandR has likely been disabled by the X server.
     :
    (WW) NVIDIA(0): Not registering RandR
    (==) RandR enabled
    
    # xrandr
    Xlib:  extension "RANDR" missing on display ":0.0".
    RandR extension missing
    
"Xinerama"は、以下のような記述で"Disable"になりますが、同時にX serverの"RandR"は、"Enable"になります。(NvidiaのRandRがDisableになる)
    Section "ServerFlags"
        Option         "Xinerama" "False"
    EndSection
    Section "Extensions"
        Option         "Composite" "Eanbale"
    EndSection
    
この時、下記のメッセージが出力されます。
    (**) Option "Xinerama" "False"
    :
    (--) RandR disabled
    
    
    # xrandr
    Screen 0: minimum 640 x 350, current 1024 x 768, maximum 1024 x 768
    default connected 1024x768+0+0 0mm x 0mm
       1024x768       50.0*    51.0     52.0     53.0     54.0  
       848x480        55.0  
       800x600        56.0     57.0     58.0     59.0     60.0     61.0     62.0  
       720x400        63.0  
       640x480        64.0     65.0     66.0     67.0     68.0  
       640x400        69.0  
       640x350        70.0  
    
例3: マルチスクリーン(Xinerama,RandR,TwinView,Mosaic)について

Nvidia グラフィクスで複数のモニタを定義する手法には、異なる実装が同時に存在するため、 混乱が生じます。
重要なことは、RedHawkでは、RHEL/CentOSでディフォルトのNouveauドライバは使用せず、Nvidia社のドライバを使用していることです。
	1. RHEL/CentOS		nouveau + RandR / Xinerama
	2. RedHawk		nvidia  + RandR / TwinVew または nvidia  + RandR / Xinerama
この混乱を整理している記事に、freedesktop.orgがありますので、参照してください。
RedHawk NVIDIA Xドライバが起動すると、デフォルトでは、接続されているディスプレイデバイスとGPUが同時に駆動をサポートするように、TwinViewが有効になります。
ケプラーアーキテクチャー以上のNVIDIA GPUは、最大4台のディスプレイデバイスを同時に駆動することができます。
ケプラーより古いNVIDIA GPUは、最大2台のディスプレイデバイスを同時に駆動することができます。

  • Xineramaについて

    Xineramaは X のマルチスクリーンを実現する古い手段で、Xアプリケーションとウィンドウマネージャが2つ以上の物理ディスプレイを1つの大きな仮想ディスプレイとして使用できるようにします。
    2Dレンダリング操作が実行されると、すべてのカードで実行する必要があります。 各カードはすべてのレンダリング状態のコピーを保持しているため、すべてのピックスマップ(画像)もすべてのカードにコピーする必要があるのですが、Xサーバーはシングルスレッドなので、レンダリングにはカードの数だけ時間がかかります。
    さらに、XineramaはGLXを処理しないため、3Dアクセラレーションが無効になります。 DPI(dots-per-inch)解像度は、すべてのモニタで同じ値に固定されます。

  • RandRについて

    RandR (Rotate and Resize) はクライアントが動的にスクリーンを変更 (例: リサイズ、回転、反転) できるようにする、X Window System の拡張です。
    ほとんどの場合、RandR は旧 Xinerama のセットアップを完全に置き換えることができます。
    Nvidia GLX Version 302以降では、RandR 1.2/1.3 サポートが追加されました。
    この版では、nvidia-settingを使用することなく、マルチヘッドディスプレイを管理することができますが、IntelHDグラフィクスドライバとの統合はできません。

    Nvidia GLX Version 319以降では、ソース出力機能を備えたRandR 1.4 Providerオブジェクトの初期サポートが追加され、 デスクトップをNVIDIA GPUにレンダリングし、インテルHDグラフィックスデバイスやDisplayLink USB-VGAアダプタなどのシンク出力機能を備えたプロバイダに接続された出力に表示することができます。
    この設定例を以下に示します。Intelのデバイスには、"modesetting"を使用します。
    詳細は、man modesettingを参照してください。
      Section "ServerLayout"
          Identifier "layout"
          Screen 0 "nvidia"
          Inactive "intel"
      EndSection
      
      Section "Device"
          Identifier "nvidia"
          Driver "nvidia"
          BusID ""
      EndSection
      
      Section "Screen"
          Identifier "nvidia"
          Device "nvidia"
          # Uncomment this line if your computer has no display devices connected to
          # the NVIDIA GPU.  Leave it commented if you have display devices
          # connected to the NVIDIA GPU that you would like to use.
          #Option "UseDisplayDevice" "none"
      EndSection
      
      Section "Device"
          Identifier "intel"
          Driver "modesetting"
      EndSection
      
      Section "Screen"
          Identifier "intel"
          Device "intel"
      EndSection
      

  • TwinViewについて

    "TwinView" は Nvidia社による"Xinerama/RandR"の独自実装で、"Nvidia Xinerama"と呼称されています。

    Nividia社は、 Version 302(外部HTML) で "TwinView"というX Configurationオプションを除去しました。
    Version 302以降では、TwinViewがデフォルトで有効化されています。
    以前には、"TwinView"が有効化されていなければ、NVIDIA Xドライバは、Xスクリーンに対して1つのディスプレイ機器しか有効化できませんでした。
    このバージョン以降、NVIDIA Xドライバは、GPUが同時に駆動するディスプレイ機器の数だけディスプレイ機器を有効化できるようになりました。

    302以前の版では、TwinViewオプションを使用できます。
    TwinView はビデオカードに接続された2つのモニターを1つのスクリーンとして表示させる Nvidia の拡張です。
    TwinView は Xinerama 拡張を内包しており、2つのモニターが接続されていることをアプリケーションは知ることができますが、"Option TwinView" は "Option Xinerama" と同時に使用できません。

  • Mosaicについて

    MOSAICでは、単一のXサーバーに複数のディスプレイを接続して、統合されたワークスペースを作成することができます。

    (a) シングルGPU - メタモードオプションを使用して最大4つのディスプレイにMOSAICを構成できます
      MetaModes
      Option         "MetaModes" "1920x1080 +0+0, 1920x1080 +1920+0, 1920x1080 +0+1080, 1920x1080 +1920+1080"
      
    (b) 2ヘッドまたは4ヘッドのシングルGPU - MOSAICは「BaseMOSAIC」および「MetaModes」オプションの組み合わせを使用します。
      BaseMOSAIC + MetaModes Option "BaseMosaic" "TRUE" Option "MetaModes" "GPU-0.DFP-0: 1920x1080 +0+0, GPU-0.DFP-1: 1920x1080 +1950+0, GPU-1.DFP-0: 1920x1080 +0+1100, GPU-1.DFP-1: 1920x1080 +1950+1100"
    (c) MOSAIC with Sync SLIで接続された2枚のGPU SLI互換システムでは、 "SLI" "MOSAIC"オプションと "MetaModes"オプションの組み合わせを使用します
      (1)SLI MOSAIC + MetaModes
        Option        "SLI"   "MOSAIC"    
        Option        "MetaModes" "GPU-0.DFP-0: 1920x1080 +0+0, GPU-0.DFP-1:  1920x1080 +1820+0, GPU-1.DFP-0: 1920x1080 +0+1000, GPU-1.DFP-1: 1920x1080 +1820+1000"
        
      (2)Quadro Sync を持っている 2枚から4枚のGPU(Quadro Syncは、最大4つのGPUに同じ機能を提供します。) MOSAICは"SLI" "MOSAIC"と"MetaModes"オプションの組み合わせを使用します。 Quadro Syncカードでフレームロックを有効にするには、nvidia-settings コマンドによる追加の手順も必要です。 この詳細は、各ドライババージョンのREADMEのConfiguring Frame Lock and Genlockの章を参照してください。 各ドライババージョンのREADMEは、このPDFに示している"NVIDIA INFORMATION URL"を開き、"ADDITIONAL INFOMATION"のタブ中にある"README"リンクをクリックしてください。
        SLI MOSAIC + MetaModes
        Option        "SLI"   "MOSAIC"    
        Option        "MetaModes" "GPU-0.DFP-0: 1920x1080 +0+0, GPU-0.DFP-1:  1920x1080 +1820+0, GPU-1.DFP-0: 1920x1080 +0+1000, GPU-1.DFP-1: 1920x1080 +1820+1000"
        
    SLIについてのFAQは、 このURL を参照してください。
    MOSAIC設定についての詳細は、 このURL か、このPDF を参照してください。 xorg.confファイルを変更して、NVIDIA Quadro + NVS GPUでMOSAICモードを有効にする方法について説明しています。
[back]Back