フルスクリーンゲームやコンポジターでフレームレートが5秒ごとに「トリム」

フルスクリーンゲームやコンポジターでフレームレートが5秒ごとに「トリム」

私はamdgpu(xf86-video-amdgpu 19.1.0-1)を使用してXfceデスクトップ環境でManjaro GNOME 18.1.4を実行しています。

v-syncが有効な状態でゲームをフルスクリーンで実行し、Xfwm4のビルダーが無効になると、画面が数秒間停止する小さな「グリッチ」が5秒ごとに発生します。ただゲームがフルスクリーンで実行されているとき。 Vsync がアクティブで Quakespasm が実行される Gallium HUD の外観は次のとおりです。

5秒ごとにフレームレートが低下することを示すGallium HUDチャートのスクリーンショット

Xfwm4で合成を有効にすると、グラフに次のように表示されますが、「問題」は残ります。

約60fpsのフレームレートを示すGallium HUDチャートのスクリーンショット

合成が有効なウィンドウモードでglxgearsを実行すると、「グリッチ」の影響を受けますが、グラフには表示されません。

これはQuake Crampの誤りではなく、glxgearsRetroarchでも発生します。

実行時にxrandr --verbose現在使用中の画面が表示されます。リフレッシュレートは60.02Hzです。

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
eDP connected primary 1920x1080+0+0 (0x59) normal (normal left inverted right x axis y axis) 382mm x 215mm
    Identifier: 0x55
    Timestamp:  3131421
    Subpixel:   unknown
    Gamma:      1.0:1.0:1.0
    Brightness: 1.0
    Clones:    
    CRTC:       0
    CRTCs:      0 1 2 3 4 5
    Transform:  1.000000 0.000000 0.000000
                0.000000 1.000000 0.000000
                0.000000 0.000000 1.000000
               filter: 
    EDID: 
        00ffffffffffff0030e4e80400000000
        001a0104952615780a0bb5a35955a027
        0c505400000001010101010101010101
        0101010101012e3680a070381f403020
        35007ed71000001a0000000000000000
        00000000000000000000000000fe004c
        4720446973706c61790a2020000000fe
        004c503137335746342d53504635004c
    GAMMA_LUT_SIZE: 4096 
        range: (0, -1)
    DEGAMMA_LUT_SIZE: 4096 
        range: (0, -1)
    GAMMA_LUT: 0 
        range: (0, 65535)
    CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 
        0 1 
    DEGAMMA_LUT: 0 
        range: (0, 65535)
    TearFree: auto 
        supported: off, on, auto
    vrr_capable: 0 
        range: (0, 1)
    max bpc: 8 
        range: (8, 16)
    underscan vborder: 0 
        range: (0, 128)
    underscan hborder: 0 
        range: (0, 128)
    underscan: off 
        supported: off, on, auto
    scaling mode: None 
        supported: None, Full, Center, Full aspect
    link-status: Good 
        supported: Good, Bad
    CONNECTOR_ID: 59 
        supported: 59
    non-desktop: 0 
        range: (0, 1)
  1920x1080 (0x59) 138.700MHz +HSync -VSync *current +preferred
        h: width  1920 start 1968 end 2000 total 2080 skew    0 clock  66.68KHz
        v: height 1080 start 1083 end 1088 total 1111           clock  60.02Hz
  1680x1050 (0x5a) 138.700MHz +HSync -VSync
        h: width  1680 start 1968 end 2000 total 2080 skew    0 clock  66.68KHz
        v: height 1050 start 1083 end 1088 total 1111           clock  60.02Hz
  1280x1024 (0x5b) 138.700MHz +HSync -VSync
        h: width  1280 start 1968 end 2000 total 2080 skew    0 clock  66.68KHz
        v: height 1024 start 1083 end 1088 total 1111           clock  60.02Hz
  1440x900 (0x5c) 138.700MHz +HSync -VSync
        h: width  1440 start 1968 end 2000 total 2080 skew    0 clock  66.68KHz
        v: height  900 start 1083 end 1088 total 1111           clock  60.02Hz
  1280x800 (0x5d) 138.700MHz +HSync -VSync
        h: width  1280 start 1968 end 2000 total 2080 skew    0 clock  66.68KHz
        v: height  800 start 1083 end 1088 total 1111           clock  60.02Hz
  1280x720 (0x5e) 138.700MHz +HSync -VSync
        h: width  1280 start 1968 end 2000 total 2080 skew    0 clock  66.68KHz
        v: height  720 start 1083 end 1088 total 1111           clock  60.02Hz
  1024x768 (0x5f) 138.700MHz +HSync -VSync
        h: width  1024 start 1968 end 2000 total 2080 skew    0 clock  66.68KHz
        v: height  768 start 1083 end 1088 total 1111           clock  60.02Hz
  800x600 (0x60) 138.700MHz +HSync -VSync
        h: width   800 start 1968 end 2000 total 2080 skew    0 clock  66.68KHz
        v: height  600 start 1083 end 1088 total 1111           clock  60.02Hz
  640x480 (0x61) 138.700MHz +HSync -VSync
        h: width   640 start 1968 end 2000 total 2080 skew    0 clock  66.68KHz
        v: height  480 start 1083 end 1088 total 1111           clock  60.02Hz
DisplayPort-0 disconnected (normal left inverted right x axis y axis)

この問題を解決するためにどこで見つけることができるかわかりません。次のコマンドを使用して、xorg設定ファイルで変数の更新を有効にしてみました。

Section "Device"
     Identifier "AMD"
     Driver "amdgpu"
     Option "VariableRefresh" "true"
EndSection

私が使っているノートパソコン(Asus ROG GL702zc)は、40〜60HzのFreesyncをサポートするのにVRRを有効にできない理由がわかりません。

ベストアンサー1

編集:Redshiftが問題を引き起こしていることを発見しました!やめるとすぐに、このようなことは再び起こりませんでした!

Xfceセッションを使用して自動的に実行するように設定しました。


前の答え:

Xfwm4のvblank_modeXfconf設定をに設定しoffて合成をオンにすると問題が解決するようです。これを行った後、「欠陥」は表示されなくなります(またはより微妙ですか?)。

xfwm4 --replace --vblank=off &これをテストするには、respawn xfwm4を実行しvblank_modeますoff。この変更を永久に適用するには、を実行しますxfconf-query -c xfwm4 -p /general/vblank_mode -t string -s "off" --create

しかし、唯一の問題は、画面が破れる現象が発生することですが、これは理想的ではありません。垂直同期はオフですね:(

おすすめ記事