2番目の画面が認識/接続されているが表示されない - Ubuntu 18.04/Arch Linux

2番目の画面が認識/接続されているが表示されない - Ubuntu 18.04/Arch Linux

私はUbuntu 18.04 LTSを新しくインストールして2番目のモニタを実行しようとしましたが、Arch Linuxも試してみました。マイプライマリモニタとセカンダリモニタの両方がモニタのオプションメニューに表示され、解像度とリフレッシュレートの正しい値の両方が正しいと表示されます。

マウスとソフトウェアウィンドウを別の画面に移動することもできます。ほとんどすべての方法で動作しているように見えますが、実際には何も表示しません。

興味深いことに、モニターは「信号ケーブルの確認」(私のモニターの「信号なし」警告)をポップアップしないため、技術的に信号を受信して​​います。ただし、実際には画面に何も表示されず、黒い画面のみが表示されます。

コンピュータの仕様/技術の詳細

私は1920x1080モニタ(デフォルト、動作中)と1280x1024モニタ(セカンダリ、動作しません)を実行しています。私はAMD Radeon 380Xを使用しています。両方のモニターは2つのDVIポートを介してグラフィックスカードに直接接続されています。 Windows 10では、設定が正しく機能するため、これがハードウェアの問題であると思われます。

診断情報

ランダル出力:

Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 16384 x 16384
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080     60.00*+
   1680x1050     59.88  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1280x960      60.00  
   1280x800      59.91  
   1152x864      75.00  
   1280x720      60.00  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   640x480       75.00    72.81    66.67    59.94  
   720x400       70.08  
DVI-D-1 connected 1280x1024+1920+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024     60.02*+  75.02  
   1280x800      60.02  
   1152x864      75.00  
   1280x720      60.02  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   640x480       75.00    72.81    66.67    59.94  
   720x400       70.08  

私の2つの画面はDVI-D-0(デフォルトジョブモニター、1920x1080)とDVI-D-1(マイ「非作業」モニター、1280x1024)に接続されています。 xrandrは接続されていると言うので、xrandr出力はマウスとすべてを2番目のモニタに移動でき、UbuntuとArchの両方で正確で認識されているように見えます。

関連lspci-nnk出力:

01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XT / Amethyst XT [Radeon R9 380X / R9 M295X] [1002:6938] (rev f1)
    Subsystem: Tul Corporation / PowerColor Radeon R9 380X [148c:2350]
    Kernel driver in use: amdgpu
    Kernel modules: amdgpu

この行は、表示された唯一のVGAまたは出力関連コンテンツです。ご覧のとおり、amdgpuが使用されており、これについてはこの記事の後半で詳しく説明します。

グラフィックを提供するIntelプロセッサもありますが、両方のモニタはマザーボードではなくグラフィックカード自体に接続されています。 Intelグラフィックlspciには出力が表示されず、出力があってはならないとは思いません。

Xorg.0.logリンクを貼り付ける:https://pastebin.com/TCkfWjcg

私が試したこと

これらすべてを始めるために、インターネット全体を見て、いくつかのStack Exchangeサイトや他のサイトで見たほとんどの修正を試しました。以下は私が試したことを思い出したすべてのもののリストです。

  • xrandr値の変更:xrandrを介してモニター値を変更しようとしています。私のxrandr出力は事前に大丈夫に見えましたが、それを正しい値に変更した場合(xrandrがすでにモニターが正しい値にあることを示しているにもかかわらず)、私の問題は解決しませんでした。
  • xorg.confを変更します。画面が実行するアクションを明示的に定義しようとしてxorg.confを変更しましたが、うまくいきません。そのために、私は基本的にArch Wikiの指示に従いました。私はこれをArchでのみテストしましたが、オンラインで読んだことによると、Ubuntuでも動作します。
  • 他のディストリビューション/新規インストール: もともとArchでこの問題があったのでそこから内容を変更してから新しくインストールしましたが、問題が続くことがわかりました。以来、Ubuntu 18.04を新しくインストールしようとしましたが、問題は解決しません。
  • ドライバーの更新:AMDのウェブサイトから最新のamdgpuドライバをダウンロードしてインストールしました。再起動後も問題は発生せず、メインモニターはまだうまく機能しましたが、問題は解決しませんでした。
  • ドライバの変更 amdgpu -> radeon:amdgpuドライバからradeonドライバに変更してみました。 Arch Linux Wikiのページの指示に従ってradeonドライバをインストールしましたが、実際にradeonドライバを使用するようにシステムをインポートすることはできません。 amdgpuは常に使用され、modprobe.dの.confファイルを介してブラックリストに追加すると、グラフィック表示が開始されずに強制的に端末に戻り、すべてを復元して再起動する必要があります。
  • amdgpu-proを試してください:私はこれをUbuntuでのみ試しましたが、問題は解決しませんでした。これにより、Ubuntuのグラフィカルインターフェイスが破損して許可されないため、amdgpuからamdgpu-proに切り替えようとしたときに新しくインストールする必要がありました。私をインストールするには、端末に簡単に入ります。
  • 機能しないモニターの解像度を下げます。2番目のモニターの解像度を非常に低いレベル(800×600)に下げてみました。問題が解決した場合は、ドライバの問題がある可能性があることを意味するためです。私が試したどんな解像度でもモニターに何らかの出力を得ることはできません。
  • モニターのアスペクト比の変更:両方のモニターを同じアスペクト比にすると問題が解決されるという内容をどこかで見たことがあり、補助モニターを基本モニターと同じ16:9に変更してみましたが、問題は解決されませんでした。

私の疑い

モニター設定はWindowsでうまく機能するため、壊れたワイヤやコネクタがなく、ハードウェアの問題ではないという証拠として受け入れられます。

これはおそらくxrandr(またはxorg、xサーバーなど - 違いについてよく知らない)の問題ではないでしょう。なぜなら、すべての出力が私にとっては大丈夫で正確に見えるからです。

明らかに接続され、一種の信号を受け取りますが、実際には何も表示しないので、これが私のドライバ設定に問題がある可能性があると思います。私が知る限り、私のグラフィックカードはサポートされていますが、amdgpuまたは私のドライバの設定に問題がある可能性があると思います。私のシステムでamdgpuの代わりにradeonを使用することはできません。これは関連している可能性があります。

答え1

amdgpu.dc=0カーネルブートパラメータにGRUBを追加してこの問題を解決しました。

バラよりこのスレッド回避策のいくつかの説明です。

答え2

部分的な答え:

私はこれが既存のサーバーを使用してXorg.logXサーバーを起動した結果であると仮定します。xorg.confそうでない場合は、削除してxorg.confもう一度やり直してください。

Xorg.log特に最初は大丈夫に見えます。

[     4.129] (II) AMDGPU(0): Output DVI-D-0 using initial mode 1920x1080 +0+0.
[     4.129] (II) AMDGPU(0): Output DVI-D-1 using initial mode 1280x1024 +1920+0

これは、フレームバッファ(「デスクトップ」)があり、各出力がフレームバッファの一部を表示することを意味します。

しかし、状況はここでは終わりません。後ろにすべてが正しく初期化されているようで、次のような結果が得られます。

[     4.702] (II) AMDGPU(0): EDID vendor "SAM", prod id 161
...
[     4.817] (II) AMDGPU(0): Allocate new frame buffer 1920x1080
[     4.817] (II) AMDGPU(0):  => pitch 8192 bytes

したがって、「DVI-D-1」の「SAM」のEDIDを取得します。第二時間が経つと新しいフレームバッファを割り当てますが、これは共有の「デスクトップ」フレームバッファとは異なると思います。つまり、対応するフレームバッファが表示されると、必要に応じて「デスクトップ」フレームバッファの内容を変更できますが、「DVI-D-1」では他のフレームバッファのみが表示されます。これは黒である可能性があり、それがまさにあなたが見るものです。

私はこのようなことを見たことがなく、何を期待すべきかわからなかった。

AMDGPU管理者にバグレポートを送信し、アイデアがあるかどうかを確認します。完全なものを含みますXorg.log

関連情報