画面のリフレッシュレートを60hzに減らすには?

画面のリフレッシュレートを60hzに減らすには?

私はLenovo Legion 5ノートブックでPop!_OS 21.04(Nvidia)を実行しています。画面の走査率を通常144から60hzに下げたいです。 Windowsではディスプレイ設定でこれを実行できますが、Linuxでは実行できないようです。 xrandrを実行すると、唯一のオプションは144Hzです。

jeff@pop-os:~/.local/share/applications$ xrandr
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-4 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 381mm x 214mm
   1920x1080    144.00*+

私が試したこと:

  • 「ディスプレイ」に移動して速度を60hzに変更しますが、ドロップダウンメニューの唯一のオプションは144です。

  • BIOSに入り、リフレッシュレートを変更してみましたが、そうするオプションはありませんでした。

  • Windowsでは、リフレッシュレートを手動で設定してLinuxで再起動しましたが、Linuxではリフレッシュレートは常に144に固定されます。

  • 実行xrandr -r 60やその他の変更もありますが、Rate 60.00 Hz not available for this sizeWindowsでこれを行うことができるにもかかわらず、常に表示されます。

  • 実行中ですがxrandr --output DP-4 --mode 1920x1080 --refresh 60出力がなく、何も変更されていないようです。

  • 編集~/.config/monitors.xml中ですが、ファイルは私のシステムに存在しません。

  • x設定を保存して/etc/X11/xorg.conf注射率を60に変更しましたが、あまり効果がないようです。

  • カスタム解像度+画面の走査率を追加するには:xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsyncただし、次のような結果が表示されます。

    X 失敗要求エラー: BADMATCH 失敗要求の主な操作コード (無効なパラメーター属性): 140(RANDR) 失敗要求の失敗要求: 18(RRADDDOUTPUTMODE) シーケンス番号: 出力ストリームの現在のシリアル番号: 39 出力ストリーム: 39 出力ストリーム:39出力ストリーム:39出力ストリーム:39出力ストリーム:39出力ストリーム:39出力ストリーム:39出力ストリーム:39出力ストリームシーケンス番号:40

(この数字はの出力から得られますcvt 1920 1080 60)。

今アイデアが足りません。オンラインで見つけたすべての解決策を試しましたが、そのうち何も機能しませんでした。モニターを更新する頻度を減らすのに役立つ人はいますか?

ベストアンサー1

数日間の努力の終わりに、最終的にEDIDを修正してレジオン5で解決策を見つけました。わからない場合、グラフィックドライバはモニタのEDIDにアクセスして、サポートされているビデオモードを確認します。

EDIDは更新頻度範囲やピクセルクロックなどの値を定義しますが、サポートされている特定のビデオモードも報告します。私はxrandrとNvidia Xサーバーの設定の両方が明示的に定義されたモードのみを使用でき、他のすべてのモード、さらに有効なモードも拒否できることを発見しました。これが私がこの問題を解決した方法です。

  1. Nvidia X Server設定を開き、左のGPU 0で内蔵モニターを選択します。右下に「Get Edit...」ボタンがあります。 EDID.binファイル(モニターのEDIDダンプ)を取得するには、このボタンをクリックしてください。
  2. 以下を使用してファイルを変更するため、何らかの方法でそのファイルをWindowsに転送する必要があります。カスタム解像度ユーティリティ。 CRUを開き、「インポート」ボタンをクリックしてください。右上のボックスに、必要な解像度とデフォルトのリフレッシュレートを含む「詳細モード」を少なくとも1つ表示する必要があります。強調表示して[編集...]をクリックして記録します。みんな灰色で表示されていない値は何も変更しません。
  3. それでもCRUに新しい「詳細」解像度を追加します。置くみんなの値は既存のモードで見つかった値とまったく同じですが、リフレッシュレートを希望の値(60 Hz)に変更します。
  4. CRUの右下隅にある「エクスポート」をクリックし、単純な名前(「60edid.bin」など)で保存します。
  5. ファイルをLinuxに返し、便利な場所に保存します。私の場合は/home/my_name/.60edid.bin
  6. を開き、xorg.conf次を追加します(コネクタ名として「DP-4」を使用しましたが、xrandrに従ってコンピュータの名前に切り替えました)。
Section "Device"

...

Option "CustomEDID" "DP-4:/path/to/60edid.bin"

Option "IgnoreEDID" "false"

Option "UseEDID"    "true"

...

EndSection
  1. 保存xorg.confして再起動してください。 Nvidia X Server設定を開き、モニターを選択して解像度を1920×1080に変更します。これで、リフレッシュレートオプションとして60hzを使用できます。選択後、必ず「Xプロフィールに保存」をクリックしてください!

これをすべて行った後も、耐久性はありません。これを継続的にするために、次のスクリプトを生成し、これを.profileからバックグラウンドプロセスとして呼び出しました(例. myscript.sh &:)。

sleep 3s
xrandr --output DP-4 --mode 1920x1080 --rate 60

おすすめ記事