「可変リフレッシュレート」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→Freesync の範囲を変更する: テストを英語版より転載) |
Kusanaginoturugi (トーク | 投稿記録) (カテゴリを修正) |
||
(同じ利用者による、間の3版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category:グラフィック]] |
+ | [[Category:グラフィックス]] |
[[Category:X サーバー]] |
[[Category:X サーバー]] |
||
[[Category:ゲーム]] |
[[Category:ゲーム]] |
||
68行目: | 68行目: | ||
=== GNOME === |
=== GNOME === |
||
− | {{Warning| |
+ | {{Warning|GNOME の VRR パッチはまだ[https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1154 開発中]であり、誤動作する場合やクラッシュを引き起こす可能性があります。}} |
+ | [[GNOME]]で VRR を使用するには、{{AUR|mutter-vrr}} と {{AUR|gnome-control-center-vrr}} をインストールします。VRR は、''ディスプレイ設定''でサポートされている各モニターで有効にする必要があります。サポートされ、有効化されたモニターで実行している場合、GNOME は全画面のアプリケーションで自動的に VRR を有効にします。 |
||
− | Install {{AUR|mutter-vrr}} and {{AUR|gnome-control-center-vrr}} 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 === |
||
− | KDE Wayland |
+ | KDE Wayland は、全画面のアプリケーションで自動的に VRR を有効にするはずです [https://www.reddit.com/r/kde/comments/nwxxgy/how_does_the_automatic_vrr_mode_on_wayland_work/h1bvfuo]。 |
=== Sway === |
=== Sway === |
||
+ | Sway は可変リフレッシュレートをサポートしています。すべての出力に対してそれを有効にするためには、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 |
output * adaptive_sync on |
||
+ | swaymsg でディスプレイがアダプティブ同期をサポートしているかどうかを確認できます: |
||
− | You can verify that your display supports adaptive sync with swaymsg: |
||
{{hc|$ swaymsg -t get_outputs| |
{{hc|$ swaymsg -t get_outputs| |
||
91行目: | 91行目: | ||
== テスト == |
== テスト == |
||
− | [https://github.com/Nixola/VRRTest VRRTest] |
+ | [https://github.com/Nixola/VRRTest VRRTest] は FreeSync と G-Sync の両方で動作するシンプルなテストツールです。{{AUR|vrrtest-git}} をインストールするか、手動で {{Pkg|love}} パッケージをインストールし、リポジトリをクローンしてください。 |
$ love /path/to/cloned/repository |
$ love /path/to/cloned/repository |
||
+ | VRR がオフの場合、アプリケーションの FPS がモニターのネイティブリフレッシュレートより低いと、フレームがスキップされるためバーが非常に頻繁にスタッタリングします。VRR がアクティブな場合、画面のリフレッシュレートがアプリケーションのリフレッシュレートと一致するため、バーは常にスムーズに画面上を移動します。VRR が機能していても、画面が裂ける場合があります。その場合は、AMDGPU 用の[[AMDGPU#Tear free rendering|TearFree]] オプションも有効にできます。両方が有効な場合、スタッタリングや裂け目はないはずです(nvidia の同等のものは?)。 |
||
− | 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?). |
||
− | + | Nvidia GPU を使用している場合、{{AUR|gl-gsync-demo}} で G-SYNC の互換性をテストできます。このプログラムを使用すると、VRR と Vsync をテストして、結果として得られる効果を観察できます。詳細は、プロジェクトの [https://github.com/dahenry/gl-gsync-demo/blob/master/README.md Readme] を参照してください。 |
|
− | + | [https://linuxreviews.org/HOWTO_enable_Adaptive_Vertical_Sync_(Freesync)_on_AMD_GPUs#Get_ready_for_much_disappointment_once_you_have_it_working この] ページによれば:"gl-gsync-demo は G-SYNC 用に作られていますが、それは関係ありません。AMD のアダプティブ同期をちゃんとテストします。" しかし、FreeSync のテストとしては、期待通りに動作しない場合があります。 |
|
== Freesync の範囲を変更する == |
== Freesync の範囲を変更する == |
2024年9月3日 (火) 22:43時点における最新版
可変リフレッシュレート (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
GNOMEで VRR を使用するには、mutter-vrrAUR と gnome-control-center-vrrAUR をインストールします。VRR は、ディスプレイ設定でサポートされている各モニターで有効にする必要があります。サポートされ、有効化されたモニターで実行している場合、GNOME は全画面のアプリケーションで自動的に VRR を有効にします。
KDE
KDE Wayland は、全画面のアプリケーションで自動的に VRR を有効にするはずです [2]。
Sway
Sway は可変リフレッシュレートをサポートしています。すべての出力に対してそれを有効にするためには、Sway の設定に以下を追加するか、出力ごとの設定で適用できます:
output * adaptive_sync on
swaymsg でディスプレイがアダプティブ同期をサポートしているかどうかを確認できます:
$ swaymsg -t get_outputs
Output DP-1 'Display Name' Adaptive sync: enabled
テスト
VRRTest は FreeSync と G-Sync の両方で動作するシンプルなテストツールです。vrrtest-gitAUR をインストールするか、手動で love パッケージをインストールし、リポジトリをクローンしてください。
$ love /path/to/cloned/repository
VRR がオフの場合、アプリケーションの FPS がモニターのネイティブリフレッシュレートより低いと、フレームがスキップされるためバーが非常に頻繁にスタッタリングします。VRR がアクティブな場合、画面のリフレッシュレートがアプリケーションのリフレッシュレートと一致するため、バーは常にスムーズに画面上を移動します。VRR が機能していても、画面が裂ける場合があります。その場合は、AMDGPU 用のTearFree オプションも有効にできます。両方が有効な場合、スタッタリングや裂け目はないはずです(nvidia の同等のものは?)。
Nvidia GPU を使用している場合、gl-gsync-demoAUR で G-SYNC の互換性をテストできます。このプログラムを使用すると、VRR と Vsync をテストして、結果として得られる効果を観察できます。詳細は、プロジェクトの Readme を参照してください。
この ページによれば:"gl-gsync-demo は G-SYNC 用に作られていますが、それは関係ありません。AMD のアダプティブ同期をちゃんとテストします。" しかし、FreeSync のテストとしては、期待通りに動作しない場合があります。
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 の範囲を変更するを参照。