ここでどこに行くべきかわかりません。どんなアイデアがありますか?

ここでどこに行くべきかわかりません。どんなアイデアがありますか?

私は最近、Slackwareがインストールされている現在のノートブックでPrimeを使用することにしました(NVIDIAはアプリケーションをGPUにオフロードし、システムは統合GPU(私の場合はIntel HD630)を使用します)。統合Intel GPUを実行しているこのポートはNvidia GPUカードに接続されているため、要求時にのみ有効になります。私がすぐに見つけた解決策は新しいリバースプライムでしたが、うまくいかないようです。奇妙なことが起こっています。フード。何が起こっているのかを調べようと助けを求めています。

最初はPrimeがノートパソコンの画面で正常に動作しているようです(最初はGPU集約型アプリケーションを実行するためにPrimeを使用していましたが、予想通り最大のパフォーマンスで実行されました)。 NVIDIA GPUで実行したいアプリケーションを実行し、ここにいくつかの環境変数を付けることができます。しかし、テストしようとしたとき、__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfoglxinfoでは特に動作せず、次のエラーが発生することがわかりました。

name of display: :0
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  151 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  39
  Current serial number in output stream:  4

その後、環境変数を使用または使用せずに試しましたが、nvidia-settings --verboseエラーも受け取りました。

WARNING: NV-CONTROL extension not found on this Display.
ERROR: Unable to load info from any available system

ERROR: Unable to assign attribute SyncToVBlank specified on line 22 of ........
ERROR: Unable to assign attribute FSAA specified on line 24 of ........
        (repeat similar message to several other video settings previously saved on nvidia-settings-rc file)
ERROR: Unable to assign attribute SynchronousPaletteUpdates specified on
       line 38 of configuration file
       '/[home path, redacted]/.nvidia-settings-rc' (no Display
       connection).

実行すると、nvidia-smi通常はnvidia GPUに関する正確な情報が得られます(異常には環境変数を使用して実行する必要はありません)。glxinfo私のメインGPUが現在実際にIntelであり、実際に統合Intel GPUであることを確認するためにnvidia変数なしで確認しました。その後、実行して以下をxrandr --listproviders取得します。

Providers: number : 2
Provider 0: id: 0x43 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 1 associated providers: 1 name:modesetting
Provider 1: id: 0xca cap: 0x2, Sink Output crtcs: 4 outputs: 1 associated providers: 1 name:modesetting

2つのGPUを検出しますが、2番目のGPUは検出しません(プロバイダー1)の名前はNVIDIA-G0でなければなりませんが、次のように設定されています。モード設定、良いプロバイダ0(Intel IGPU).その後、設定しました。xorg.confクイック一時テストのためにNVIDIA GPUをベースにしてXを実行しますxrandr --listprovidersプロバイダ0これで、NVIDIAに対応する銀はNVIDIA-G0という名前で正しく認識されます。プロバイダー1そしてモード設定。私は回復したxorg.confPrime / Optimus設定に戻ります(つまり、IntelをアクティブGPUとして使用)。実行中はlsmod | grep -i nvidianvidiaドライバがロードされました新しいスタイルドライバが期待どおりにブロックされました。modprobe.d構成:

nvidia_uvm           1155072  0
nvidia_drm             65536  1
nvidia_modeset       1232896  2 nvidia_drm
nvidia              34177024  19 nvidia_uvm,nvidia_modeset
drm_kms_helper        266240  2 nvidia_drm,i915
drm                   610304  15 drm_kms_helper,nvidia_drm,i915
i2c_core               94208  12 i2c_designware_platform,videodev,i2c_hid,i2c_designware_core,drm_kms_helper,i2c_algo_bit,nvidia,i2c_smbus,i2c_i801,i915,psmouse,drm

HDMIケーブル接続が正しく認識され(まだ信号はありません)、xrandr --propsHDMI-1-1ソースリストによるとマスター同期できるようにする:

PRIME Synchronization: 1 
        supported: 0, 1
link-status: Good 
        supported: Good, Bad
CONNECTOR_ID: 74 
        supported: 74
non-desktop: 0 
        range: (0, 1)

ここで何が起こっているのか気になってHDMI出力をテストしてみました。Arch wikiのReverse PRIMEチュートリアルラップトップ画面のPrime設定で他のすべてがうまくいったので(理由はわかりませんが失敗しglxinfoましnvidia-settingsたが)、プロバイダ名が間違っていたので、その参照番号を使用することにしました。xrandr --setprovideroutputsource 0 1その結果、次のエラーが発生しました。からglxinfo

X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  139 (RANDR)
  Minor opcode of failed request:  35 (RRSetProviderOutputSource)
  Value in failed request:  0xca
  Serial number of failed request:  16
  Current serial number in output stream:  17

引き続き手がかりを見つけようとしましたxrandr --output HDMI-1-1 --auto --above eDP-1(eDP-1はラップトップに組み込まれた画面です)。結果は次のとおりです。

xrandr:crtc 3の設定に失敗しました。

Xorg.0.logには明らかなエラーはありませんが、いくつかのエラーがあります。情報起動中にNVIDIAドライバが動作するのを妨げないようです。

[drm:nv_drm_dumb_map_offset [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to lookup gem object for mapping: 0x00000006
[drm:nv_drm_dumb_map_offset [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to lookup gem object for mapping: 0x00000007

そして汚染されたカーネルに関するNVIDIAの警告:

nvidia: module license 'NVIDIA' taints kernel.
Disabling lock debugging due to kernel taint

編集1:Prime変数の削除がグラフィカルインターフェイスなしでコマンドラインプログラムを使用しているノートブックのメイン画面でのみ機能することを疑った後、いくつかのLutrisゲームを実行してみましたが、実際には同じエラーが発生しました。グローバル情報ネットワーク。それでは、これはモニターを接続しようとしているものと関係がありますか?

ここでどこに行くべきかわかりません。どんなアイデアがありますか?


システムメッセージ:

  • ノートパソコンAcer Nitro 5、i7第7世代、NVIDIA 1050
  • カーネル5.10.19はTKGのfsyncにパッチされており、現在64ビットにはAlienbob multilibがあります。
  • NVIDIAドライバ460.56、CUDAバージョン11.2、V11.2.67ビルドcuda_11.2.r11.2/compiler.29373293_0
  • Xorgサーバー1.20.10
  • /etc/X11/xorg.conf(私はまだ.d彫刻モデルに慣れていません):https://pastebin.com/0d13wDHY
  • これがある90-intel.conf存在するxorg.conf.dしかし、Intel DRI3を強制することを目指しています。
Section "OutputClass"
    Identifier "Force DRI 3"
    MatchDriver "modesetting"
    Option "DRI" "3"
EndSection
  • Xorg.0.log(キーボード、カメラ、Bluetoothに関係のない行が削除されました):https://pastebin.com/s0Ebu2AY
  • 情報いくつかの機密データが修正されました。https://pastebin.com/w0qWzxD9
  • NVIDIAドライバがモードセットに設定されました(confファイル経由)modprobe.d options nvidia-drm modeset=1)

関連情報