Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vsync stuttering with egl backend #1214

Open
pasja opened this issue Mar 3, 2024 · 0 comments
Open

vsync stuttering with egl backend #1214

pasja opened this issue Mar 3, 2024 · 0 comments

Comments

@pasja
Copy link

pasja commented Mar 3, 2024

Platform

Debian Bookworm (12.5)

GPU, drivers, and screen setup

Radeon RX 6750 XT 12GB GDDR6, one 1140p monitor

glxinfo -B:
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: AMD (0x1002)
    Device: AMD Radeon RX 6750 XT (navi22, LLVM 15.0.6, DRM 3.54, 6.5.0-5-amd64) (0x73df)
    Version: 22.3.6
    Accelerated: yes
    Video memory: 12288MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 11429 MB, largest block: 11429 MB
    VBO free aux. memory - total: 15927 MB, largest block: 15927 MB
    Texture free memory - total: 11429 MB, largest block: 11429 MB
    Texture free aux. memory - total: 15927 MB, largest block: 15927 MB
    Renderbuffer free memory - total: 11429 MB, largest block: 11429 MB
    Renderbuffer free aux. memory - total: 15927 MB, largest block: 15927 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 12288 MB
    Total available memory: 28284 MB
    Currently available dedicated video memory: 11429 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 6750 XT (navi22, LLVM 15.0.6, DRM 3.54, 6.5.0-5-amd64)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 22.3.6
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
 
OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.3.6
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
 
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.3.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Environment

xmonad with this config: https://github.com/pasja/dotfiles/blob/master/.xmonad/xmonad.hs%23%23hostname.asgard

picom version

vgit-89c2c

Diagnostics picom --diagnostics [ 03/03/2024 14:10:25.074 get_cfg WARN ] The egl backend is still experimental, use with care.

Version: vgit-89c2c

Extensions:

  • Shape: Yes
  • RandR: Yes
  • Present: Present

Misc:

  • Use Overlay: No
    (Another compositor is already running)
  • Config file used: /home/pasja/.config/picom/picom.conf

Drivers (inaccurate):

AMDGPU, Radeon

Backend: glx

  • Driver vendors:
  • GLX: Mesa Project and SGI
  • GL: AMD
  • GL renderer: AMD Radeon RX 6750 XT (navi22, LLVM 15.0.6, DRM 3.54, 6.5.0-5-amd64)
  • Accelerated: 1

Backend: egl

  • Driver vendors:
  • EGL: Mesa Project
  • EGL driver: radeonsi
  • GL: AMD
  • GL renderer: AMD Radeon RX 6750 XT (navi22, LLVM 15.0.6, DRM 3.54, 6.5.0-5-amd64)
    pasja@asgard ~ %

Configuration:

Configuration file
#################################
#       General Settings        #
#################################

# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false

# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
# `xrender` is the default one.
#
backend = "egl";
# backend = "xrender";

# Enable/disable VSync.
# vsync = false
vsync = true

Steps of reproduction

  1. Watch a fullscreen youtube video for ~2 minutes with my config
  2. Experience a small freeze, audio works well, but screen is frozen, keyboard inputs are not working
  3. after 1-2s everything goes back to normal

Expected behavior

picom should not freeze with the egl backend

Current Behavior

freezes are happening

Remarks

  • the symptoms are very similar to vsync causes intermittent freezes with picom v11 #1166 but I use amdgpu and egl backend
  • with xrender the issue happens less frequently, but the vsync introduced delay is almost unbearable
  • please let me know if you need any further information from me
pasja added a commit to pasja/dotfiles that referenced this issue Mar 11, 2024
This reverts commit 3ab78c2.

Let's disable vsync temporary instead of completely turning off
compositing.

See yshui/picom#1214 for the upstream bugreport
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant