Created attachment 141654 [details] Xorg.1.log I get constant video freezes in firefox (e.g. on youtube) with xf86-video-amdgpu-18.1.0. This is a regression since 18.0.1. Long freezes can be stopped by hovering mouse cursor over the video. $ git bisect bad 739181c8d3334ff14b5a607895dfdeb29b0d9020 is the first bad commit commit 739181c8d3334ff14b5a607895dfdeb29b0d9020 Author: Michel Dänzer <michel.daenzer@amd.com> Date: Wed Jul 25 13:00:15 2018 +0200 Add amdgpu_drm_handle_event wrapper for drmHandleEvent Instead of processing DRM events directly from drmHandleEvent's callbacks, there are three phases: 1. drmHandleEvent is called, and signalled events are re-queued to _signalled lists from its callbacks. 2. Signalled page flip completion events are processed. 3. Signalled vblank events are processed. This should make sure that we never call drmHandleEvent from one of its callbacks, which would usually result in blocking forever. :040000 040000 02eec05d22520cd515a137b18ab912a7f2fdc77e cec6036a94d5f35eceb772a8de0b86c2b62cf913 M src $ git bisect log git bisect start # good: [9f37a44473ded8c669897379acbc750362c15ec6] Bump version for 18.0.1 release git bisect good 9f37a44473ded8c669897379acbc750362c15ec6 # bad: [d5e17dc4c78aee5d37de399728066b9be881e044] Bump version for the 18.1.0 release git bisect bad d5e17dc4c78aee5d37de399728066b9be881e044 # good: [14db71a606128c4a207f43298809af279b77e2a8] modesetting: Record non-desktop kernel property at PreInit time git bisect good 14db71a606128c4a207f43298809af279b77e2a8 # good: [7f65a8c9e03bddf2378aaa928460632ed6b1a688] glamor: Check glamor module version for depth 30 support git bisect good 7f65a8c9e03bddf2378aaa928460632ed6b1a688 # bad: [34e851d1f284da5afcfe449f349cf1eb5e962408] Use AC_CONFIG_MACRO_DIR instead of AC_CONFIG_MACRO_DIRS git bisect bad 34e851d1f284da5afcfe449f349cf1eb5e962408 # bad: [e52872da69ecc84dafb3355839e35b0383f0d228] Defer vblank event handling while waiting for a pending flip git bisect bad e52872da69ecc84dafb3355839e35b0383f0d228 # good: [6029794e8a35417faf825491a89b85f713c77fc1] Add amdgpu_drm_wait_pending_flip function git bisect good 6029794e8a35417faf825491a89b85f713c77fc1 # bad: [739181c8d3334ff14b5a607895dfdeb29b0d9020] Add amdgpu_drm_handle_event wrapper for drmHandleEvent git bisect bad 739181c8d3334ff14b5a607895dfdeb29b0d9020 # first bad commit: [739181c8d3334ff14b5a607895dfdeb29b0d9020] Add amdgpu_drm_handle_event wrapper for drmHandleEvent
I'm unable to reproduce the problem. Please attach the following: * The output of about:support in Firefox * The output of glxinfo, xrandr --verbose and dmesg Can you provide an URL of a video which reproduces the problem? Does it only happen if the video is (not) in fullscreen? How long after starting playback does it start freezing? Does only the video itself freeze, or also the rest of the Firefox window, or even the whole desktop?
Can confirm that the problem reproduces to me too. It happens on youtube or other HTML5 videos, as well as when scrolling around on webpages. It's not constant though - there could be several seconds without hangs, but the overall experience is sluggish. The freezes only happen when hardware acceleration is enabled in Firefox (OpenGL under "Compositing" in about:support. It could be enabled by changing "layers.acceleration.force-enabled" to "true" in about:config). As for your question, the whole Firefox window becomes unresponsive for a second or two.
(In reply to Dudu Edri from comment #2) > The freezes only happen when hardware acceleration is enabled in Firefox > (OpenGL under "Compositing" in about:support. It could be enabled by > changing "layers.acceleration.force-enabled" to "true" in about:config). Confirming this. Can't reproduce the bug with hardware compositing disabled (layers.acceleration.force-enabled = false). > > As for your question, the whole Firefox window becomes unresponsive for a > second or two. I sometimes have much longer freezes. (In reply to Michel Dänzer from comment #1) > I'm unable to reproduce the problem. Please attach the following: > > * The output of about:support in Firefox > * The output of glxinfo, xrandr --verbose and dmesg Do you still need this info? > Can you provide an URL of a video which reproduces the problem? I did bisect using the following video: https://www.youtube.com/watch?v=jJ_dPh6wcA0 > Does it only happen if the video is (not) in fullscreen? Both fullscreen and non-fullscreen. > How long after starting playback does it start freezing? It's random. Maybe ~10 seconds. > Does only the video itself freeze, or also the rest of the Firefox window, > or even the whole desktop? The whole firefox window. Not sure about the whole desktop - when I move mouse to gnome shell panel firefox unfreezes.
I see similar freezes in Steam client when playing videos on the store pages. But unlike firefox this doesn't happen in fullscreen mode.
(In reply to Alexander Tsoy from comment #3) > > * The output of about:support in Firefox > > * The output of glxinfo, xrandr --verbose and dmesg > > Do you still need this info? Yes, please. I have hardware acceleration enabled in my Firefox configurations as well, but am still unable to reproduce.
Created attachment 141667 [details] firefox about:support
Created attachment 141668 [details] glxinfo
Created attachment 141669 [details] xrandr --verbose
Created attachment 141670 [details] dmesg
Thanks. I was able to reproduce the problem after all. It's actually gnome-shell/mutter that freezes, not Firefox itself. My best guess so far is that it's somehow related to delivery / processing of X11 events, but I'm not sure yet what's going on. A possible workaround might be having something in the session which updates regularly. E.g. I suspect I might not have noticed this before myself because I usually have gkrellm running in my session.
I suspect this is the same issue as bug 108008 => https://gitlab.freedesktop.org/xorg/lib/libx11/issues/79 .
This libX11 patch fixes it for me: https://gitlab.freedesktop.org/xorg/lib/libx11/merge_requests/1
(In reply to Michel Dänzer from comment #12) > This libX11 patch fixes it for me: > https://gitlab.freedesktop.org/xorg/lib/libx11/merge_requests/1 Thanks! It fixes it for me as well.
(In reply to Michel Dänzer from comment #12) > This libX11 patch fixes it for me: > https://gitlab.freedesktop.org/xorg/lib/libx11/merge_requests/1 Can confirm that this patch fixes the problem for me as well.
Thanks for the report and for testing the fix, which has now landed in libX11 Git master: commit 406afe4b0f1b655c0db19bbc9a0c48da9a46acf5 Author: Michel Dänzer <michel.daenzer@amd.com> Date: Tue Sep 25 17:10:58 2018 +0200 poll_for_response: Call poll_for_event again if xcb_poll_for_reply fails
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.