
すべての出力がIntelカードに接続されているnvidia optimus / intelハイブリッドグラフィックカードを搭載したLinuxを実行しているラップトップがあります。 i915ドライバで駆動されます。
外部モニタまたはプロジェクタは起動サイクルで一度だけ検索されます。無効にするか、切断してから再接続すると、Linuxカーネルはこれを検出しなくなったため、再度有効にすることはできません。私の場合、udevやacpiはありません。 、プラグ/プラグ解除、およびsysfsイベントは、/sys/class/drm/card0-DP-1/status
出力接続が失われたことを示します。再起動後、モニターは引き続き検出されました。一時停止/休止状態と再開も十分ですが、再起動時に出力が切断される場合にのみ適用されます。
私はこれが起動時に出力デバイスのカーネル検索/再検索とある程度関連していると思います。どういうわけか、カーネルがモニターを再スキャンしてモニターを再検出するように誘導できますか?
答え1
これはXで動作するxrandrメソッドではありませんが、コンソールではこれを試すことができます。書く/sys/class/drm/card0-DP-1/status
また、対応するファイルに移動します。適切なドキュメントが見つかりませんでしたが、幸い、Linuxはオープンソースです。レビューソースコードdetect
、複数の値(、、および)on
が必要なようです。on-digital
off
したがって、echo detect > /sys/class/drm/card0-DP-1/status
モニターを強制的に再確認する必要があります。あるいは、echo on-digital > /sys/class/drm/card0-DP-1/status
テスト結果に関係なく電源を入れることもできます。
編集する:Xは、HDMIが接続されていると検出されない問題を処理するためにこの機能を使用します。これにより、出力が強制的にアクティブになります。しかし、残念ながらビデオ、HDMIオーディオだけは機能しません(カーネルパッチなしでは不可能です)。
xrandr --newmode "Mode 2" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
xrandr --addmode HDMI-1 "Mode 2"
xrandr --output HDMI-1 --mode "Mode 2" --right-of LVDS-1
これらの数字はすべてビデオタイミングを指定します。通常、自動的に検出され、これを取得する最も簡単な方法は、起動時に使用されているモードをインポートして操作できるようにすることです(表示されますxrandr --verbose
)。