強制表示ポート速度

強制表示ポート速度

私はLinux PCを使用して1.62Gbit Displayportリンク速度をサポートしていない非標準Displayportレシーバーにビデオを送信しています。

Linuxをソースとして使用する場合、リンク速度とチャネル数をネゴシエートする戦略は、最も遅い速度とより少ないチャネルを選択することです。この時点で、速度が選択した解像度を渡すのに十分であると仮定します(これは非常に合理的です)。代わりに、Windowsはサポートされている最大値のみを求めます。

今私のシステムは、Windowsベースのソースでは動作しますが、Linuxソースでは動作しない非常に不幸な状況にあります。

Linuxのディスプレイポートリンク速度を強制する方法はありますか?たぶんカーネルをパッチしてもいいですか?実際のハードウェアはi915ドライバを使用します。この機能はビデオカードに固有のものであると仮定します。

ありがとうございます!

編集する:

編集したと思います。

ドライバ/gpu/drm/i915/display/intel_dp.c

成功した

intel_dp_set_source_rates(struct intel_dp *intel_dp)
{
    /* The values must be in increasing order */
    static const int icl_rates[] = {
        162000, 216000, 270000, 324000, 432000, 540000, 648000, 810000,
        1000000, 1350000,
    };
    static const int bxt_rates[] = {
        162000, 216000, 243000, 270000, 324000, 432000, 540000
    };
    static const int skl_rates[] = {
        162000, 216000, 270000, 324000, 432000, 540000
    };
    static const int hsw_rates[] = {
        162000, 270000, 540000
    };
    static const int g4x_rates[] = {
        162000, 270000
    };

アレイから不要な速度を削除すると、ソースは速度ネゴシエーションからその速度を除外します。もちろん、私の場合、162000を削除すると、DPソースが非準拠に変わります。なぜなら、その値は代替値であり、サポートされないかもしれないからです。

ベストアンサー1

おすすめ記事