web-dev-qa-db-ja.com

フォースモニター検出、低レベル

ラップトップを起動した後にのみオンにすると、Asusラップトップで外付けモニター(Dell)が検出されません。

インテルi915ドライバーでLinuxを検出/再プローブする方法は? に似たケースですが、私の場合、ラップトップで認識されたら、プラグを抜いて再び差し込むことができます。検出されます。

起動時に外付けモニターがオフになっている場合のみ、検出されません。

echo detect > /sys/class/drm/card0-DP-1/statusを使用したソリューションは機能しません。これは、関連するディレクトリがcard0-DP-2であり、モニターがオフになっているときに起動した後に存在しないためです。

CTRL-ALT-F1などのその他のソリューションも同様に機能しません。

ケーブルを抜いて再度差し込んでも効果はありません。ラップトップのディスプレイポートプラグ全体が単に完全にオフになっているように感じます。

奇妙な発見:起動中にディスプレイポートケーブルが接続されていない場合、モニター起動後にケーブルを接続してケーブルを接続したときに検出されました(:-(したがって、「ケーブルが接続されている/起動中にモニターがオフになっている」という組み合わせは、「このハードウェアに煩わされることはもうありません」と解釈されます。

何かがディスプレイポートに接続されているかどうかの質問を再検討するようにシステムに指示するコマンドはありますか?

2
Harald

これはあなたの質問自体に完全に答えるものではありませんが、おそらく技術的に正しい答えです。そのため、私は回答に与えられたより良いフォーマットを利用しているので、これは壁のコメントではありません。

十分なドメイン固有の知識が存在しないため、SO/SEで回答を得る可能性はほとんどありません。 i915カーネルドライバーの開発者と直接話をする方がはるかにましです。

https://01.org/linuxgraphics/documentation/how-report-bugs にはvery整理された方法で行う方法に関する包括的な説明が含まれています仕方。

バグレポートの言い方は、ブート後にDisplayPortケーブルを接続すると_/sys/class/drm/card0-DP-2/status_doesが存在することを意味しますが、ケーブルと画面がない場合は存在しません接続されています。まあ、_/sys/*_に関連するものはすべてX11関連ではなく、パスのdrmは、_1.1 - DRM Kernel_ /をたどることを絶対に確認します上記のリンクのセクション。

私はそのセクションで要求された詳細を確認しましたが、理解できないビットは実際には必要ないことを合理的に確信しています。つまり、カーネルとディストリビューションの情報、_drm.debug=0xe_で再起動した後の完全なdmesgなどは、すべて非常に優れたアイデアです。

ある程度明らかなように、ここでは2つのdmesgsが論理的に適切です。 1つはコネクタが存在しないブーツから、もう1つはコネクタがあるものです。コネクタを実際に接続する正確な点またはおおよその点に注釈を付けると非常に便利です。

5分のことを考えると、簡単に注釈を付けるための適切なハックですが成功する方法が思い付きました。

_script -c 'dmesg -w | cat' dmesg.txt
_

_dmesg -w_を実行し、ターミナルにテキスト行を直接入力して注釈を追加することもできます、そして_^C_ dmesg情報の収集が完了しました。 (_dmesg -w | cat_は_dmesg -w --color=never_より短いです。)

万が一の場合に備えて、これはこれまでに機能したことがありますか?はいの場合、何時に覚えていますか?インストールされている場合は、それらの時点で使用していた古いバージョンのディストリビューションをインストールしてみて、問題がなければ、カーネルバージョンを収集してください。

また...これを聞きたくないかもしれませんが、いつものように最新のカーネルバージョンを不用意に動作させても魔法のようにすべてが修正されない場合は100%確実ではありません。 :)

ありがたいことに、これはあなたが恐れているよりもはるかに恐れが少ないです: https://cgit.freedesktop.org/drm-tip/ は、drmのツリーの先端パッチを備えたLinuxカーネルの完全なクローンです既に折りたたまれています。できる限り、これを複製してビルドすれば、準備は完了です。

...とは言っても、用心深いこととして、最新のカーネルリリースをダウンロードしてthat既知の機能を最初に取得し、次に_.config_を_drm-tip_ツリーに渡します。最初にこれを行わず、すべてが横に爆発する場合は、メインラインカーネルをビルドして起動できることを確認することは、最初のファイアスカッシング健全性チェックとして有効です。

必要なBugzillaページは次のとおりです。 https://bugs.freedesktop.org/enter_bug.cgi?product=DRI

実際、ほぼ確実にログインビューが表示されます。その場合、最初にこのURLが必要になります。 https://bugs.freedesktop.org/createaccount.cgi

最後に、質問したい場合は、 https://01.org/linuxgraphics/community/kernel がfreenodeの#gfx-intelについて言及しています。

FWIW、私が上で説明したことは、理想的な一連のステップです。たとえば、カーネルの再構築に行って、他に試すことができるデバッグ手順がないかどうかを確認する前に、freedesktop.orgで暫定的なバグを開く可能性があります。 (ただし、バグエントリページではバージョンセクションに「drm git」のみがリストされているため、reallygitバージョンを使用してほしい... heh)

IRCチャネル-実際には_drm-tip_ gitリポジトリをリストしました。これはドキュメントで言及されているものですが、_drm-intel_リポジトリもあります。カーネルツリーのようにも見え、数分ごとに更新されます。

2
i336_

これは解決策ではありませんが、可能な回避策です。

$ env DISPLAY=:0 xset dpms force off
$ env DISPLAY=:0 xset dpms force on

上記の方法は、このAUのQ&Aのタイトルです: 電源をオフにして再度オンにするとDisplayPortモニターが検出されません にも同様の問題の他の解決策がありました。

このU&L Q&Aのタイトル: モニターが接続または切断されたときにどのように検出できますか? には、ここでも役立つポーリングメソッドがありました。

0
slm