可変リフレッシュレート

提供: ArchWiki
2023年1月20日 (金) 10:17時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎Freesync の範囲を変更する: テストを英語版より転載)
ナビゲーションに移動 検索に移動

関連記事

可変リフレッシュレート (Variable refresh rate, VRR) は adaptive sync とも呼ばれ、モニターが信号出力のリフレッシュレートを調整することを可能とします。垂直同期の欠点を気にすることなくゲームにおいて画面のちらつき (別名スタッタリング) を排除することができます。VRR についての詳しい解説は PC Gaming Wiki を見てください。

概要

VRR の実装は複数存在します:

  • FreeSync は VESA の VRR 標準の AMD による実装で、よく言い換えられることがあります。FreeSync ブランドのモニターは全ての VESA 準拠のドライバーと互換性があります。
  • Gsync は VRR の NVIDIA によるプロプライエタリなハードウェア・ソフトウェア実装です。
  • Intel は第10世代の GPU で VESA の標準を実装する予定です [1]

VRR の互換性と実装

ドライバー VESA Gsync
AMDGPU FreeSync No
Intel 予定 No
Nouveau 未対応 未対応
NVIDIA Gsync 準拠 Gsync
ノート: 10 シリーズ以前の Nvidia 製 GPU は "Gsync Compatible" のモニターに対応していません。

Xorg 設定

AMDGPU で有効化

Xorg 設定ファイルを使う

.conf ファイルに以下の行を追加してください:

Option "VariableRefresh" "true"

Xorg の設定について詳しくは AMDGPU のページを見てください。

xrandr を使って vrr_capable1 に設定されていることを確認してください:

$ xrandr --props
vrr_capable: 1
        range: (0, 1)

NVIDIA で有効化

nvidia-settings を使う

Gsync モニターは自動的に有効化されます。Gsync compatible モニターを有効化するには以下を実行してください:

  • nvidia-settings で "X Server Display Configuration" ページを開いて、Advanced ボタンの下に "Allow G-SYNC on monitor not validated as G-SYNC Compatible" オプションがあるので、クリックして有効にしてください。
  • それから、OpenGL 設定の "Allow Gsync/Gsync Compatible" をチェックしてください。
ヒント: 同じメニューの "show Gsync indicator" オプションをチェックすることで、Gsync が機能していることが右上に表示されます。

Wayland 設定

GNOME

警告: VRR patches for GNOME are still under development and may behave incorrectly or cause crashes.

Install mutter-vrrAUR and gnome-control-center-vrrAUR to use VRR in GNOME. VRR needs to be enabled for each supported monitor in the Displays settings. When running on a supported and enabled monitor, GNOME automatically enables VRR for all full screen applications.

KDE

KDE Wayland should automatically enable VRR for full screen applications [2].

Sway

Sway supports variable refresh rate. To enable it for all of your outputs you can add the following to the sway configuration, or apply the setting to on a per output basis:

output * adaptive_sync on

You can verify that your display supports adaptive sync with swaymsg:

$ swaymsg -t get_outputs
Output DP-1 'Display Name'
  Adaptive sync: enabled

テスト

VRRTest is a simple testing tool which should work for FreeSync and G-Sync. Install vrrtest-gitAUR or, manually install love package, clone repository, then run

$ love /path/to/cloned/repository

With VRR off, if the application's FPS is less than the monitor's native refresh rate then the bars will stutter a lot since frames are being skipped. With VRR active, the bars will always move smoothly across the screen since the screen's refresh rate will match the application's refresh rate. Even with VRR functional you may experience tearing in which case you can also enable the TearFree option for AMDGPU; with both enabled there should be neither stuttering nor tearing (what is the nvidia equivalent?).

If you are using a Nvidia GPU, you can test G-SYNC compatibility with gl-gsync-demoAUR. This program will allow you to test VRR and Vsync so you can observe resulting effects. See project's Readme for more information.

According to this page: "gl-gsync-demo is made with G-SYNC but that does not matter, it will test AMD adaptive sync just fine". However, it may still not work as expected for FreeSync testing.

Freesync の範囲を変更する

Freesync モニターは基本的に VRR の範囲を制限しており、最大リフレッシュレートよりもずっと低くなっています。モニターをオーバークロックして Freesync の範囲を変更することが可能です。

警告: モニターをオーバークロックすると過度に発熱して故障する可能性があります。自己責任で実行してください。

EDID ファイルの編集

External Display Identification Data (EDID) はモニターに関するドライバーの情報を保存しています。デフォルトでは、このファイルはモニターによって送信され接続時に読み込まれます。read-edidnvidia-settings などを使ってファイルを抽出してください。

wxedidAUR でファイルを編集することができます。

Windows で freesync の範囲を変更するガイドにしたがって編集してください: [3][4]

Linux でオーバークロックする手順はこちら: [5]

Xorg の .conf ファイルを作成して編集したカスタム EDID ファイルのパスを追加してください。モニターに関する情報を確認する方法は xrandr を見てください。

/etc/X11/xorg.conf.d/10-monitor.conf
Section "Screen"
    Identifier "Screen0"
    Device "nvidia" # e.g. Radeon, nvidia
    Monitor "DP1"
    Option “CustomEDID” “MONITOR:/home/USER/Desktop/modified-edid.bin”
EndSection
ノート: “MONITOR” は適切なディスプレイ ID に置き換えてください。xrandr -query コマンドでディスプレイ ID を取得できます。

ヒントとテクニック

アプリケーションをブラックリストから削除

Mesa は予期しない挙動を避けるためにブラックリストに含まれるアプリケーションのリストを備えています。ブラックリストは以下のファイルで編集できます:

/usr/share/drirc.d/00-mesa-defaults.conf

制限

  • Gsync の場合、モニターは display port で接続する必要があります。Freesync の場合、モニターが HDMI 2.1 に対応していれば display port である必要はありません。
  • Gsync や Freesync が使えるモニターは一度にひとつだけです。
  • OpenGl/Vulkan プログラムを起動する前に一部のコンポジタは無効化する必要があります。
  • Mesa のブラックリストには動画プレイヤーなど様々なアプリケーションが含まれています。
  • 高リフレッシュレートでちらつきは抑えられますが、大抵の Freesync モニターでは最大リフレッシュレートが 90Hz までとなっています。#Freesync の範囲を変更するを参照。