전체 화면 게임 및 컴포지터에서 프레임 속도가 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.

그러나 유일한 문제는 화면이 찢어지는 현상이 발생한다는 것인데 이는 이상적이지 않습니다. 수직동기화는 꺼지네요 :(

관련 정보