「可変リフレッシュレート」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→Freesync の範囲を変更する: Wayland 設定を英語版よりコピー) |
Kusanaginoturugi (トーク | 投稿記録) (→Freesync の範囲を変更する: テストを英語版より転載) |
||
88行目: | 88行目: | ||
Adaptive sync: enabled |
Adaptive sync: enabled |
||
}} |
}} |
||
+ | |||
+ | == テスト == |
||
+ | |||
+ | [https://github.com/Nixola/VRRTest VRRTest] is a simple testing tool which should work for FreeSync and G-Sync. Install {{AUR|vrrtest-git}} or, manually install {{Pkg|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 [[AMDGPU#Tear free rendering|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 {{AUR|gl-gsync-demo}}. This program will allow you to test VRR and Vsync so you can observe resulting effects. See project's [https://github.com/dahenry/gl-gsync-demo/blob/master/README.md Readme] for more information. |
||
+ | |||
+ | According to [https://linuxreviews.org/HOWTO_enable_Adaptive_Vertical_Sync_(Freesync)_on_AMD_GPUs#Get_ready_for_much_disappointment_once_you_have_it_working 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 の範囲を変更する == |
2023年1月20日 (金) 10:17時点における版
可変リフレッシュレート (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
テスト
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-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 の範囲を変更するを参照。