「可変リフレッシュレート」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎Freesync の範囲を変更する: テストを英語版より転載)
68行目: 68行目:
 
=== GNOME ===
 
=== GNOME ===
   
{{Warning|VRR patches for GNOME are still [https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1154 under development] and may behave incorrectly or cause crashes.}}
+
{{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 should automatically enable VRR for full screen applications [https://www.reddit.com/r/kde/comments/nwxxgy/how_does_the_automatic_vrr_mode_on_wayland_work/h1bvfuo].
+
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|

2023年8月19日 (土) 19:39時点における版

関連記事

可変リフレッシュレート (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

警告: GNOME の VRR パッチはまだ開発中であり、誤動作する場合やクラッシュを引き起こす可能性があります。

GNOMEで VRR を使用するには、mutter-vrrAURgnome-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 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 の範囲を変更するを参照。