nvidia gpuのxorg.conf設定をxrandrで検出された画面に関連付ける方法は?

nvidia gpuのxorg.conf設定をxrandrで検出された画面に関連付ける方法は?

Alienware M15でRTX 2070でRHEL 7.9を使用する状況に直面しましたが、最近はあまり進歩がありませんでした。 Nvidiaから最新の互換ドライバーをダウンロードしました(ファイル名:NVIDIA-Linux-x86_64-510.60.02.run)、nouveauドライバをブラックリストにアップロードし、初期化レベル3に設定してドライバを正常にインストールします(lsmodロードされたショー)。ただし、インストール中に起動プロンプトでxorg.confファイルをビルドするかどうかを尋ねるメッセージが表示されます。 「はい」を選択しましたが、デフォルトでは効果がなく、RHEL 7グレーの壁紙を再起動した後にのみ表示されますが、X11/GDM の残りの部分をロードしないでください。。ログは理由を示しています。

>> Nvidiaドライバがロードされましたが、Xorgが利用可能な画面を見つけることができません<<

Xorgログは、DP-0、-1、-2などのさまざまな出力スクリーンデバイスを列挙しようとしていることを示しています(明らかにxorgではDP(またはDFP)=デジタルフラットスクリーンと呼ばれます)。これにより、最終的にXがロードされないか停止します。 RHEL 7の壁紙を表示するとX11起動画面がハングするため、代替テキスト端末の1つでOSと対話する必要があります(<Ctrl><Alt><Fn> (n=1..6))そしてxrandrが何も接続できないというエラーを表示し続けたとき、X11が実際に実行されていないことがわかりました(ターミナル1のいくつかのグラフィックアイテムにもかかわらず)。

最初からxorg.confファイルを作成する方法を広く検索した後、RTX 2070カードのBusIDを指定し、nvidiaドライバを指定する設定ファイルを作成しようとしましたが、同じ「黒い画面」(背景のみ)の結果得ました。

だから私は(オンラインで見つけたトラブルシューティングスレッドに従って)xorg.confを削除して実行しました。開始x(これはうまくいくとは思っていませんが、最終的には奇跡的に完全なデスクトップを得ました!)その後、xrandrを実行して接続されたDPや他のモニターを見ることができます。ついにローカルノートパソコンの画面の画面IDを見ました(下記参照)。

(クイックノート:Alienware M15内蔵インテルカード私はそれを表示するためにドライバを使用していると思います。いいえNVIDIAドライバを正常に使用しました。 )

>>私は何を探していますか<<

この問題に対する私の考えは次のとおりです。 xorg.confでxrandrを使用して検出された特定のモニタをどのように指定しますか?

だからここに問題があります。これはノートパソコンで、最初は外部モニターに接続するつもりはありません。デスクトップGUIが起動してxrandrが実行された後、以前の呼び出しのXorgログで新しいデバイスの名前がまだ指定されていないか、検出されません。eDP-1(追加注金利プレフィックス)は明らかにローカルノートパソコンの画面の名前です。

また、今日は外部HDMI画面に接続することにしましたが、xrandrにもデバイス名が表示されました。私の質問は次のとおりです。xrandrが提供するこの情報を使用してこれらの画面を使用するためにxorg.confを構築する方法NvidiaドライバRTX2070はこれを処理できますか?

返品、ここで仮定をチェック:Alienware M15がモニタに接続されていないときにRTX 2070を使用してローカル画面にコンテンツをレンダリングできると思うのは間違っていますか?外部モニターのみ処理できるカードですか? RTX 2070がネイティブ/内蔵ノートパソコンの画面を制御できない場合、私のNVIDIAドライバがそれを表示できないのは当然のことです。この時点では、外部HDMI接続モニタに表示する方法さえわかりません(インテルドライバを使用しても外部モニタは信号レベルで検出されますが、何らかの理由で完全に黒く表示されます)。


アップデート:面白いです。 nouveauドライバのブラックリストを削除し、grub設定を更新して再起動し、ブラックリストに追加して再起動しました(lsmodはnvidiaドライバがロードされたことを示しました)。xorg.confが存在しません(おそらくxorg.conf.dにドロップダウンしていくつかの基本設定を抽出します。)今回は手動で起動したときと同じようにGUIを取得しました。開始x。 xorg.confファイル以外に何が変更されたのかわかりません。しかし、これを行うか、ローカルノートパソコンの画面に表示するためにnvidiaドライバを使用していますが、Intelドライバを使用しているかどうかは本当に疑わしいです。以下は、さまざまなコマンドのいくつかの出力です。他に追加する必要がある場合はお知らせください。

HDMI経由でHP Envyモニターを接続すると、/var/log/messagesに新しい内容が表示されます。

Mar 31 11:23:06  kernel: ACPI Exception: AE_NOT_FOUND, Evaluating _DOD (20130517/video-1257)
Mar 31 11:23:12  kernel: ACPI Exception: AE_NOT_FOUND, 
Evaluating _DOD (20130517/video-1257)
Mar 31 11:23:18  kernel: ACPI Exception: AE_NOT_FOUND, Evaluating _DOD (20130517/video-1257)
Mar 31 11:23:20  kernel: ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130517/nsarguments-95)
Mar 31 11:23:20 kernel: ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130517/nsarguments-95)
Mar 31 11:23:20  kernel: ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130517/nsarguments-95)
# lspci | egrep "VGA|3D"
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile)
01:00.0 VGA compatible controller: NVIDIA Corporation TU106M [GeForce RTX 2070 Mobile] (rev a1)
# xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080     60.01*+  60.01    59.97    59.96    48.01    59.93  
   1680x1050     59.95    59.88  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1280x800      59.99    59.97    59.81    59.91  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   640x400       59.88    59.98  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
# nvidia-xconfig --query-gpu-info
Number of GPUs: 1

GPU #0:
  Name      : NVIDIA GeForce RTX 2070 with Max-Q Design
  UUID      : GPU-ccc50115-935f-364f-d0a5-46e1799a9092
  PCI BusID : PCI:1:0:0

  Number of Display Devices: 1

  Display Device 0 (TV-0):
      EDID Name             : HPN HP ENVY 27
      Minimum HorizSync     : 135.000 kHz
      Maximum HorizSync     : 135.000 kHz
      Minimum VertRefresh   : 40 Hz
      Maximum VertRefresh   : 60 Hz
      Maximum PixelClock    : 600.000 MHz
      Maximum Width         : 3840 pixels
      Maximum Height        : 2160 pixels
      Preferred Width       : 3840 pixels
      Preferred Height      : 2160 pixels
      Preferred VertRefresh : 60 Hz
      Physical Width        : 600 mm
      Physical Height       : 340 mm

xrandrがeDP-1(ノートブック画面)を検出する方法に注意してください。ただし、nvidiaコマンドは外部HP Envyモニタのみを検出します。

これは、バックアップファイルに名前が変更されたxorg.confでの以前の試みでもあります。これがうまくいかなかったので、xorg.confを削除しましたが、これは現在の状態です。

# nvidia-xconfig:  version 510.60.02


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Inactive       "IntelDevice"
#    InputDevice    "Keyboard0" "CoreKeyboard"
#    InputDevice    "Mouse0" "CorePointer"
EndSection


Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
#    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "NvidiaDevice"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:1:0:0"
EndSection


Section "Device"
    Identifier     "IntelDevice"
    VendorName     "Intel Corporation"
    BusID          "PCI:0:2:0"
EndSection


Section "Screen"
    Identifier     "Screen0"
    Device         "NvidiaDevice"
    Monitor        "Monitor0"
    Option         "UseDisplayDevice" "None"
#    DefaultDepth    24
#    SubSection     "Display"
#        Depth       24
#    EndSubSection
EndSection

答え1

非常に一方的な答え:

  • 存在しない場合、xorg.confXはすべてを自動的に検出し、情報に基づいた選択を試みます。そのため、ないことがよくあるxorg.confよりも優れています。

  • インストール中に作成した項目は、xorg.confNVIDIA機能を考慮していない可能性があります。

  • Nvidiaドライバは奇妙な獣です。ドライバの仕組みについてNvidia独自の抽象化(一部のWindowsで再利用されるため)を取り、それをX抽象化と一致させようとしています。これは時々摩擦を引き起こします。

  • この問題をデバッグしようとしたときに情報を見つけることができる場所は通常Xorgログにあります/var/log/Xorg.0.log(RHELでもそのログを保存するかどうかはわかりません)。

  • Nvidiaドライバの追加情報ファイルの付録Bを必ずお読みください。ここ(これがあなたのバージョンであることを確認してください)。このConnectedMonitorオプションに注意してください。

答え2

独自のNVIDIAドライバをデフォルトのレンダリングプロバイダとして指定し、内蔵ラップトップディスプレイを使用する場合:

xorg.fileを生成しますが、Screenセクションでのみ識別子を使用し、xorgがbuitlinディスプレイを見つけることができるように、Intel DeviceセクションでBusidとドライバ(モード設定)を指定します。

  • Nvidiaカードを使用する予定です
  • xorgファイルに解像度を表示することはできません。

はい(Severlayoutセクションに2つのInputDeviceセクションとInputDeviceエントリを追加)

/etc/X11/xorg.conf

Section "ServerLayout"
Identifier "layout"
Screen  "ScreenU"
EndSection

Section "Device"
Identifier "nvidia"
Driver "nvidia"
EndSection
   
Section "Screen"
Identifier "ScreenU"
EndSection

Section "Device"
Identifier     "intel"
Driver         "modesetting"
BusID          "PCI:0:2:0"
EndSection

確認する

prime-select query

必要に応じて調整します。

prime-select on-demand

xrandr を使用してモニターを設定し、場所を指定し、これらのコマンドを ~.profile に入れることができます。

結果は次のようになります。

xrandr --listproviders 
Providers: number : 2
Provider 0: id: 0x1b8 cap: 0x1, Source Output crtcs: 4 outputs: 8 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x204 cap: 0x6, Sink Output, Source Offload crtcs: 3 outputs: 1 associated providers: 1 name:modesetting

関連情報