可変リフレッシュレート
可変リフレッシュレート (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 |
Xorg 設定
AMDGPU で有効化
Xorg 設定ファイルを使う
.conf ファイルに以下の行を追加してください:
Option "VariableRefresh" "true"
Xorg の設定について詳しくは AMDGPU のページを見てください。
xrandr を使って vrr_capable が 1 に設定されていることを確認してください:
$ 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" をチェックしてください。
Wayland 設定
GNOME
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
Freesync の範囲を変更する
Freesync モニターは基本的に VRR の範囲を制限しており、最大リフレッシュレートよりもずっと低くなっています。モニターをオーバークロックして Freesync の範囲を変更することが可能です。
EDID ファイルの編集
External Display Identification Data (EDID) はモニターに関するドライバーの情報を保存しています。デフォルトでは、このファイルはモニターによって送信され接続時に読み込まれます。read-edid や nvidia-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
ヒントとテクニック
アプリケーションをブラックリストから削除
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 の範囲を変更するを参照。