2枚のグラフィックカード(インテルとnvidia)を使用してデュアルヘッドを設定しようとしたときのxorgの問題

2枚のグラフィックカード(インテルとnvidia)を使用してデュアルヘッドを設定しようとしたときのxorgの問題

私がしたいのは、FreeBSD 13.1を使用するときに2つの異なるモニタに接続されている2つのGPUを同時に使用したいので、xorg.confファイルを正しく設定することです。 1台のモニター/GPUでBlenderを使用していくつかの3Dモデリングを実行し、2番目のモニター/GPU(nvidia 1060またはIntel UHD Graphics 630)を使用していくつかのチュートリアルを視聴する場合に便利です。 3番目のGPU(geforce RTX 2080 ti)もありますが、bhyve Linux VMを配信するために維持したいと思います。 BIOSでNvidia Geforce 1060またはIntel GPUをPCの起動に使用するGPUに設定できます。デフォルトで選択する必要があるGPUが正しいかどうかわかりません。だから私がフォローしたい計画は次のとおりです。

  1. AOCモニタリング - > HDMIケーブル --- > GPU nvidia Geforce 1060

  2. モニター Samsung SynchMaster ---> hdmiケーブル ---> GPU intel 'CoffeeLake-S GT2 [UHD Graphics 630]'

  3. 後で購入した他のモニターに接続されたGPU Geforce RTX 2080 Ti

実際、私はこのxorg.confを使用しています。https://pastebin.ubuntu.com/p/DhW6RHS3zb/

代わりに、Xorg.0.log ファイルは次のようになります。https://pastebin.ubuntu.com/p/YtdPq9fngQ/

私の前には、Geforce 1060のHDMIポートにAOCモニターが接続されています。私の右側には、Intel GPUのHDMIポートに接続されているモニタsamsung syncmasterがあります。何が起こっているのかは、Samsungディスプレイが部分的に機能していることです。このデバイスに接続できる唯一のアプリは次のとおりです(HDMIケーブルを介してIntel GPUに接続されています)。

[marietto@marietto ~]$ export DISPLAY=:0.1 ; konsole

and :

[marietto@marietto ~]$ export DISPLAY=:0.1 ; chrome

(firefoxは画面0.0にのみ表示できます。理由はわかりません)

ここでは、マイコンピュータに接続されているすべてのPCIデバイスのリストを見つけることができます。

https://pastebin.ubuntu.com/p/Gx5DqckFQP/

一部のアプリをDISPLAY=:0.1(モニターSamsung SynchMaster ---> hdmiケーブル---> gpu intel 'CoffeeLake-S GT2 [UHD Graphics 630])にエクスポートできます。しかし、この方法はまったく不便ではありません。実際、セッションはすでに実行中であるため、他のxorgセッションを実行することはできません。他のxfce4セッションを実行できません。一部のアプリケーションのみが表示されている場合は、xorg.confファイルのケーブルとドライバを逆にし、Intel GPUをAOCモニタにプライマリGPUに接続し、nvidia 1060をSamsung同期ホストにセカンダリGPUに接続すると、次のように動作します。同じ、違いはディスプレイを逆にしたということです。 Xineramaを有効にしようとしましたが、正常に動作しませんでした。マウスがフリーズし、とにかく2つの画面を1つに接続することは物理的に接続されていないため、愚かです。私が望むのは、モニター1でいくつかのタスクを実行し、モニター2でいくつかの他のタスクを実行することです。

# xrandr -q

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DVI-D-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
   1920x1080     60.00*+  59.94    50.00    60.00    50.04  
   1680x1050     59.95  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x720      60.00    59.94    50.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94    59.93  
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)

arandrは、接続された唯一のモニターは、nVidia 1060 GPUに接続されたモニターAOCであるHDMI-0と言います。しかし、xorg.confでドライバとケーブルを逆にすると、接続された唯一のモニターは再びHDMI-0になりますが、今回はSamsung Synchmasterになります。

NVidiaドライバは実際にいくつかのXorgライブラリを置き換えるため、問題が発生する可能性があります。今日、この問題はlibmap.conf(5)を賢く使用して解決できます。しかし、Xorg自体が2つの異なるグラフィックカードが同時に動作することを好まないかもしれないという事実は変わりません。たとえば、NVidiaドライバはlibEGL.soの修正バージョンを使用します。 Xorg(実際にはmesa)はまったく同じライブラリを提供しますが、NVidiaドライバには修正されたNVidiaバージョンが必要です。以前は、NVidiaドライバのインストールがXorg libEGL.soを上書きまたは置き換えました。これは許可されなくなりました(あるパッケージは別のパッケージのファイルを上書きできません)。この問題は、libEGL.soのNVidia修正バージョンをNVidia-libEGL.soとして保存し、それに応じてlibmap.conf(5)を設定することで解決されました。 NvidiaドライバがlibEGL.soのロードを要求すると、実際にNVidia-libEGL.soをロードします(libmap.conf(5)のマッピングのため)。

私は解決策がありません。あなた?

ベストアンサー1

おすすめ記事