Garbled display ~~~~~~~~~~~~~~~ Chipset: NV34 (NV34) Family : NV30 NVIDIA Corporation NV34 [GeForce FX 5200] Kernel driver in use: nouveau Kernel modules: nouveau ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fedora 22 i686 1. Starting from - Xpresent support: no commit fee08eafa751a153ff93b04152ea66334141cac5 Author: Olivier Fourdan <fourdan@xfce.org> Date: Thu Apr 9 23:06:38 2015 +0200 compositor: Add support for GLX Bug: 10439 Using texture-from-pixmap extension. Signed-off-by: Olivier Fourdan <fourdan@xfce.org> Build Configuration for xfwm4 version 4.12.0git.fee08ea revision fee08ea: Startup notification support: yes XSync support: yes Render support: yes Xrandr support: yes Xpresent support: no Embedded compositor: yes Epoxy support: yes KDE systray protocol proxy: no ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ ~~~~ ~~~ ~~ ~ 2. Starting from - Xpresent support: yes commit aee242cec4c3d8e8232d67875ec9fbfbeb504a9d Author: Olivier Fourdan <fourdan@xfce.org> Date: Mon Apr 27 21:40:27 2015 +0200 compositor: Prefer GL over Present If both are available, try to use GL first and next Present. Signed-off-by: Olivier Fourdan <fourdan@xfce.org> Build Configuration for xfwm4 version 4.12.0git.aee242c revision aee242c: Startup notification support: yes XSync support: yes Render support: yes Xrandr support: yes Xpresent support: yes Embedded compositor: yes Epoxy support: yes KDE systray protocol proxy: no
Created attachment 6301 Xfwm4 GLX NV34 nouveau - garbled display
Created attachment 6302 glxinfo NV34 nouveau
https://bugs.freedesktop.org/show_bug.cgi?id=90871
I recompiled Fedora 21 versions: libdrm-2.4.60-1.fc22.i686 xorg-x11-server-common-1.16.3-2.fc22.i686 xorg-x11-server-Xorg-1.16.3-2.fc22.i686 xorg-x11-drv-modesetting-0.9.0-2.fc22.i686 xorg-x11-drv-nouveau-1.0.11-1.fc22.i686 mesa-dri-drivers-10.4.7-1.20150323.fc22.i686 mesa-filesystem-10.4.7-1.20150323.fc22.i686 mesa-libEGL-10.4.7-1.20150323.fc22.i686 mesa-libgbm-10.4.7-1.20150323.fc22.i686 mesa-libGL-10.4.7-1.20150323.fc22.i686 mesa-libglapi-10.4.7-1.20150323.fc22.i686 mesa-libGLES-10.4.7-1.20150323.fc22.i686 and tried once more, but the result is the same - "analytical cubism" - with Xfwm4 GLX build $ xfconf-query -c xfwm4 -p /general/use_compositing true Interestingly, in contrast to Xorg-1.17.1, on Xorg-1.16.3 NV30 can work with 'modesetting': [ 8.911] X.Org X Server 1.16.3 Release Date: 2014-12-20 [ 8.911] X Protocol Version 11, Revision 0 [ 8.911] Build Operating System: lnx 4.0.4-303.fc22.i686 [ 8.914] Build Date: 09 June 2015 04:53:40PM [ 8.914] Build ID: xorg-x11-server 1.16.3-2.fc22 [ 8.914] Current version of pixman: 0.32.6 [ 8.914] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Jun 9 19:36:31 2015 [ 8.915] (==) Using config directory: "/etc/X11/xorg.conf.d" [ 8.915] (==) Using system config directory "/usr/share/X11/xorg.conf.d" [ 8.915] (==) No Layout section. Using the first Screen section. [ 8.915] (==) No screen section available. Using defaults. [ 8.915] (**) |-->Screen "Default Screen Section" (0) [ 8.915] (**) | |-->Monitor "<default monitor>" [ 8.916] (==) No device specified for screen "Default Screen Section". Using the first device section listed. [ 8.916] (**) | |-->Device "NVIDIA NV34" [ 8.916] (==) No monitor specified for screen "Default Screen Section". Using a default monitor configuration. [ 8.916] (==) Automatically adding devices [ 8.916] (==) Automatically enabling devices [ 8.916] (==) Automatically adding GPU devices [ 8.916] (==) ModulePath set to "/usr/lib/xorg/modules" [ 8.916] (II) Loader magic: 0x8282740 [ 8.916] (II) Module ABI versions: [ 8.916] X.Org ANSI C Emulation: 0.4 [ 8.916] X.Org Video Driver: 18.0 [ 8.916] X.Org Server Extension : 8.0 [ 8.924] (II) xfree86: Adding drm device (/dev/dri/card0) [ 8.929] (II) LoadModule: "glx" [ 8.929] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so [ 8.948] (II) Module glx: vendor="X.Org Foundation" [ 8.948] compiled for 1.16.3, module version = 1.0.0 [ 8.948] ABI class: X.Org Server Extension, version 8.0 [ 8.948] (==) AIGLX enabled [ 8.948] (II) LoadModule: "modesetting" [ 8.948] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so [ 8.948] (II) Module modesetting: vendor="X.Org Foundation" [ 8.948] compiled for 1.16.3, module version = 0.9.0 [ 8.948] Module class: X.Org Video Driver [ 8.948] ABI class: X.Org Video Driver, version 18.0 [ 8.948] (II) modesetting: Driver for Modesetting Kernel Drivers: kms [ 8.948] (++) using VT number 1 [ 8.949] (II) modesetting(0): using drv /dev/dri/card0 [ 8.949] (II) modesetting(0): Creating default Display subsection in Screen section [ 9.039] (II) modesetting(0): Output DVI-0 has no monitor section [ 9.186] (II) modesetting(0): EDID for output DVI-0 [ 9.215] (II) modesetting(0): Output DVI-0 connected [ 9.217] (==) modesetting(0): Backing store enabled [ 9.217] (II) modesetting(0): RandR 1.2 enabled, ignore the following RandR disabled message. [ 9.238] (==) modesetting(0): DPMS enabled [ 9.260] (--) RandR disabled [ 9.277] (II) AIGLX: Screen 0 is not DRI2 capable [ 9.277] (EE) AIGLX: reverting to software rendering [ 9.295] (II) AIGLX: Loaded and initialized swrast [ 9.295] (II) GLX: Initialized DRISWRAST GL provider for screen 0 [ 9.297] (II) modesetting(0): Damage tracking initialized [ 9.297] (II) modesetting(0): Setting screen physical size to 370 x 277 ...
Let's leave this for upstream - Nouveau/Mesa.
Can you retry with current git code?
(In reply to Olivier Fourdan from comment #6) > Can you retry with current git code? Déjà vu. :)
(In reply to poma from comment #7) > (In reply to Olivier Fourdan from comment #6) > > Can you retry with current git code? > > Déjà vu. :) Please try to be more specific and helpful with your comments, what is that supposed to mean? Trying to guess what you mean in a bugzilla comment is not fun and counter productive for me. The reason I posted my question yesterday is because I have pushed several fixes in git master to help with the proprietary driver, and that means that the implementation is now more in line with the specs. Beside, the previous code was not checking for GL errors at any point whereas now it does and log messages (even more when debug is enabled) when things go wrong. So, what does comment 7 mean, does it mean that you did try after git commit 8a67212 [1] was pushed and it's still the same?... in which case I would ask to try with xfwm4 debug enabled and capture the log. [1] http://git.xfce.org/xfce/xfwm4/commit/?id=8a67212
Note, if that does not work with current, git I'll provide you wit ha much simpler test program to try that we can use for https://bugs.freedesktop.org/show_bug.cgi?id=90871
(In reply to Olivier Fourdan from comment #8) > (In reply to poma from comment #7) > > (In reply to Olivier Fourdan from comment #6) > > > Can you retry with current git code? > > > > Déjà vu. :) > > Please try to be more specific and helpful with your comments, what is that > supposed to mean? Trying to guess what you mean in a bugzilla comment is not > fun and counter productive for me. > > The reason I posted my question yesterday is because I have pushed several > fixes in git master to help with the proprietary driver, and that means that > the implementation is now more in line with the specs. > > Beside, the previous code was not checking for GL errors at any point > whereas now it does and log messages (even more when debug is enabled) when > things go wrong. > > So, what does comment 7 mean, does it mean that you did try after git commit > 8a67212 [1] was pushed and it's still the same?... in which case I would ask > to try with xfwm4 debug enabled and capture the log. > > [1] http://git.xfce.org/xfce/xfwm4/commit/?id=8a67212 Déjà vu - from French, literally "already seen". "already seen" == https://bugzilla.xfce.org/attachment.cgi?id=6301 BTW is it not that particular commit is related to a completely different bug report, completely different module - "NVidia proprietary driver" Here the Nouveau is in use. Tested: --disable-epoxy --disable-xpresent: xfwm4-4.12.3-11.0.git20150615.fc22.i686.rpm -- OK --disable-epoxy: xfwm4-4.12.3-11.1.xpresent.git20150615.fc22.i686.rpm -- OK --: xfwm4-4.12.3-11.2.glx.git20150615.fc22.i686.rpm -- "already seen" Satisfied? -_-
What is going on?
(In reply to poma from comment #11) > What is going on? Busy with work and life, thanks for asking.
Yeah, I've had a team working on this over the past few weeks, and what we've come up with can be reduced to two fundamental concepts. One: People aren't wearing enough hats.
It works started by red rectangle, then gray, but that's all, no discothèque! diff -u a/tfp-test.c b/tfp-test.c --- a/tfp-test.c +++ b/tfp-test.c @@ -101,9 +101,15 @@ XGetWindowAttributes (dpy, win, &gwa); glViewport (0, 0, gwa.width, gwa.height); + glMatrixMode(GL_TEXTURE); + if (texture_type == GL_TEXTURE_RECTANGLE_ARB) + glScaled (pixmap_width, pixmap_height, 1.0); + else + glScaled (1.0, 1.0, 1.0); + glPushMatrix (); - glScaled (1.0, 1.0, 1.0); + glTranslated (0.0, 0.0, 0.0); glBegin (GL_QUADS); @@ -147,8 +153,8 @@ int fb_match; VisualID xvisual_id; - has_texture_rectangle = - epoxy_has_glx_extension (dpy, screen, "GL_ARB_texture_rectangle"); + has_texture_rectangle = 1; /* + epoxy_has_gl_extension ("GL_ARB_texture_rectangle");*/ if (has_texture_rectangle) { printf ("Using texture type GL_TEXTURE_RECTANGLE_ARB\n");
When turned on, remains only background (color) and the mouse cursor. diff --git a/src/compositor.c b/src/compositor.c index 8694956..961245b 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -1108,15 +1108,11 @@ init_glx_extensions (ScreenInfo *screen_info) screen_info->screen, "GLX_EXT_texture_from_pixmap"); - screen_info->has_texture_rectangle = - epoxy_has_glx_extension (myScreenGetXDisplay (screen_info), - screen_info->screen, - "GL_ARB_texture_rectangle"); + screen_info->has_texture_rectangle = 1; /* + epoxy_has_gl_extension ("GL_ARB_texture_rectangle");*/ - screen_info->has_texture_non_power_of_two = - epoxy_has_glx_extension (myScreenGetXDisplay (screen_info), - screen_info->screen, - "GL_ARB_texture_non_power_of_two"); + screen_info->has_texture_non_power_of_two = 1; /* + epoxy_has_gl_extension ("GL_ARB_texture_non_power_of_two");*/ } static gboolean @@ -1532,7 +1528,6 @@ redraw_glx_texture (ScreenInfo *screen_info) TRACE ("entering redraw_glx_texture"); TRACE ("(Re)Drawing GLX pixmap 0x%lx/texture 0x%x", screen_info->glx_drawable, screen_info->rootTexture); - glPushMatrix(); if (screen_info->zoomed) { @@ -1545,15 +1540,33 @@ redraw_glx_texture (ScreenInfo *screen_info) double x = (2.0 * XFixedToDouble (xp)) / screen_info->width - (1.0 - zoom); double y = (2.0 * XFixedToDouble (yp)) / screen_info->height - (1.0 - zoom); - glScaled(1.0 / zoom, 1.0 / zoom, 1.0); + gint texture_type; + gint pixmap_width; + gint pixmap_height; + + glMatrixMode(GL_TEXTURE); + if (texture_type == GL_TEXTURE_RECTANGLE_ARB) + glScaled (pixmap_width, pixmap_height, 1.0); + else + glScaled (1.0 / zoom, 1.0 / zoom, 1.0); glTranslated (-x, y, 0.0); } else { - glScaled(1.0, 1.0, 1.0); - glTranslated (0.0, 0.0, 0.0); + gint texture_type; + gint pixmap_width; + gint pixmap_height; + + glMatrixMode(GL_TEXTURE); + if (texture_type == GL_TEXTURE_RECTANGLE_ARB) + glScaled (pixmap_width, pixmap_height, 1.0); + else + glScaled (1.0, 1.0, 1.0); + glTranslated (0.0, 0.0, 0.0); } + glPushMatrix(); + glViewport(0, 0, screen_info->width, screen_info->height); glBegin(GL_QUADS);
Bonjour!
(In reply to poma from comment #13) > Yeah, I've had a team working on this over the past few weeks, and what > we've come up with can be reduced to two fundamental concepts. One: People > aren't wearing enough hats. -ENOSENSE (In reply to poma from comment #14) > It works started by red rectangle, then gray, but that's all, no discothèque! So that one doesn't work. (In reply to poma from comment #16) > Bonjour! Hi. (In reply to poma from comment #15) > When turned on, remains only background (color) and the mouse cursor. Again, please try to be explicit in your posts, what are you trying to say here, that you copy/paste a patch that doesn't actually work? How does this help? As stated in comment 12 I don't have much time to work on this at the moment, this will have to wait.
Removed OpenGL ARB - Extensions officially approved by the OpenGL Architecture Review Board Interesting name for the extension. After this comps started to work. diff --git a/src/compositor.c b/src/compositor.c index 8694956..f493bab 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -1107,16 +1107,6 @@ init_glx_extensions (ScreenInfo *screen_info) epoxy_has_glx_extension (myScreenGetXDisplay (screen_info), screen_info->screen, "GLX_EXT_texture_from_pixmap"); - - screen_info->has_texture_rectangle = - epoxy_has_glx_extension (myScreenGetXDisplay (screen_info), - screen_info->screen, - "GL_ARB_texture_rectangle"); - - screen_info->has_texture_non_power_of_two = - epoxy_has_glx_extension (myScreenGetXDisplay (screen_info), - screen_info->screen, - "GL_ARB_texture_non_power_of_two"); } static gboolean @@ -1158,11 +1148,6 @@ choose_glx_settings (ScreenInfo *screen_info) return FALSE; } - if (screen_info->has_texture_rectangle) - { - DBG ("Using texture type GL_TEXTURE_RECTANGLE_ARB"); - screen_info->texture_type = GL_TEXTURE_RECTANGLE_ARB; - } else { DBG ("Using texture type GL_TEXTURE_2D"); @@ -1209,32 +1194,6 @@ choose_glx_settings (ScreenInfo *screen_info) continue; } - if (screen_info->texture_type == GL_TEXTURE_RECTANGLE_ARB) - { - if (value & GLX_TEXTURE_RECTANGLE_BIT_EXT) - { - texture_target = GLX_TEXTURE_RECTANGLE_EXT; - DBG ("Using texture target GLX_TEXTURE_RECTANGLE_EXT"); - } - else - { - DBG ("%i/%i: No GLX_TEXTURE_RECTANGLE_BIT_EXT, skipped", i + 1, n_configs); - continue; - } - } - else if (screen_info->texture_type == GL_TEXTURE_2D) - { - if (value & GLX_TEXTURE_2D_BIT_EXT) - { - texture_target = GLX_TEXTURE_2D_EXT; - DBG ("Using texture target GLX_TEXTURE_2D_EXT"); - } - else - { - DBG ("%i/%i: No GLX_TEXTURE_2D_BIT_EXT, skipped", i + 1, n_configs); - continue; - } - } else { DBG ("%i/%i: No GLX_TEXTURE_*_BIT_EXT, skipped", i + 1, n_configs);
Created attachment 6488 Fix GLX compositor on NV34 = NV34 = - current git & patched w/ "Fix GLX compositor on NV34" = the same performance = ~~~~~~~~~~~~~~~~~~~~~~~ $ ./src/xfwm4 --replace Waiting for current window manager (Xfwm4) on screen :0.0 to exit: Done (xfwm4:9058): xfwm4-WARNING **: Cannot find a matching visual for the frame buffer config. (xfwm4:9058): xfwm4-WARNING **: Cannot find a matching GLX config, vsync disabled. ... ~~~~~~~~~~~~~~~~~~~~~~~~ $ vblank_mode=0 glxgears ATTENTION: default value of option vblank_mode overridden by environment. 1388 frames in 5.0 seconds = 277.213 FPS 1388 frames in 5.0 seconds = 277.571 FPS 1453 frames in 5.0 seconds = 290.506 FPS 1480 frames in 5.0 seconds = 295.928 FPS 1468 frames in 5.0 seconds = 293.520 FPS 1478 frames in 5.0 seconds = 294.804 FPS 1464 frames in 5.0 seconds = 292.196 FPS 1494 frames in 5.0 seconds = 298.729 FPS 1465 frames in 5.0 seconds = 292.321 FPS 1474 frames in 5.0 seconds = 294.787 FPS ^C ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ = NV98 (G98) = - current git: ~~~~~~~~~~~~~~~~~ $ xfwm4 --replace Waiting for current window manager (Xfwm4) on screen :0.0 to exit: Done ~~~~~~~~~~~~~~~~~~~~~~~~ $ vblank_mode=0 glxgears ATTENTION: default value of option vblank_mode overridden by environment. 4877 frames in 5.0 seconds = 975.395 FPS 4975 frames in 5.0 seconds = 994.891 FPS 4997 frames in 5.0 seconds = 998.709 FPS 4968 frames in 5.0 seconds = 993.405 FPS 4968 frames in 5.0 seconds = 993.482 FPS 5005 frames in 5.0 seconds = 1000.904 FPS 4973 frames in 5.0 seconds = 994.469 FPS 4955 frames in 5.0 seconds = 990.968 FPS 5008 frames in 5.0 seconds = 1001.600 FPS 4980 frames in 5.0 seconds = 995.966 FPS ^C ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - patched w/ "Fix GLX compositor on NV34" = more performant = ~~~~~~~~~~~~~~~~~ $ xfwm4 --replace Waiting for current window manager (Xfwm4) on screen :0.0 to exit: Done (xfwm4:3477): xfwm4-WARNING **: Cannot find a matching visual for the frame buffer config. (xfwm4:3477): xfwm4-WARNING **: Cannot find a matching GLX config, vsync disabled. ~~~~~~~~~~~~~~~~~~~~~~~~ $ vblank_mode=0 glxgears ATTENTION: default value of option vblank_mode overridden by environment. 6468 frames in 5.0 seconds = 1293.441 FPS 6521 frames in 5.0 seconds = 1304.194 FPS 6563 frames in 5.0 seconds = 1312.469 FPS 6554 frames in 5.0 seconds = 1310.687 FPS 6501 frames in 5.0 seconds = 1300.166 FPS 6550 frames in 5.0 seconds = 1309.931 FPS 6560 frames in 5.0 seconds = 1311.972 FPS 6523 frames in 5.0 seconds = 1304.467 FPS 6556 frames in 5.0 seconds = 1311.073 FPS 6546 frames in 5.0 seconds = 1309.164 FPS ^C
(In reply to poma from comment #19) > $ ./src/xfwm4 --replace > Waiting for current window manager (Xfwm4) on screen :0.0 to exit: Done > > (xfwm4:9058): xfwm4-WARNING **: Cannot find a matching visual for the frame > buffer config. > > (xfwm4:9058): xfwm4-WARNING **: Cannot find a matching GLX config, vsync > disabled. > ... Means that it doesn't fix anything, it breaks GL and therefore vsync.
(In reply to Olivier Fourdan from comment #20) > (In reply to poma from comment #19) > > $ ./src/xfwm4 --replace > > Waiting for current window manager (Xfwm4) on screen :0.0 to exit: Done > > > > (xfwm4:9058): xfwm4-WARNING **: Cannot find a matching visual for the frame > > buffer config. > > > > (xfwm4:9058): xfwm4-WARNING **: Cannot find a matching GLX config, vsync > > disabled. > > ... > > Means that it doesn't fix anything, it breaks GL and therefore vsync. If GL is not used, then what is actually used in this case?
(In reply to poma from comment #21) > (In reply to Olivier Fourdan from comment #20) > > (In reply to poma from comment #19) > > Means that it doesn't fix anything, it breaks GL and therefore vsync. > > > If GL is not used, then what is actually used in this case? Xrender as before
Thank you for your time man.
Xorg nouveau "v1.0.12" and DRI3/XPresent work OK https://bugzilla.xfce.org/show_bug.cgi?id=11861#c8
(In reply to poma from comment #24) > Xorg nouveau "v1.0.12" and DRI3/XPresent work OK > https://bugzilla.xfce.org/show_bug.cgi?id=11861#c8 This bug 11962 is about nv34 card not supporting ARB_texture_rectangle and xfwm4 not handling this case correctly so this should be fixed in xfwm4 as pointed out in f.d.o bug #90871
A fix for this has been pushed as git commit 2cfac64 in master, but I don't have the hardware to test. Can you test an up-to-date build with GL enabled on a nv34 card?
NV34 / 4.3.0-1.fc24.i686 Both, DRI3/XPresent and GLX, use_compositing true: dmesg: WARNING: CPU: 0 PID: 1654 at drivers/gpu/drm/drm_irq.c:924 drm_vblank_count_and_time+0x71/0x80 [drm]() ... Call Trace: [<c071d550>] dump_stack+0x41/0x61 [<c045de97>] warn_slowpath_common+0x87/0xc0 [<f7e1b811>] ? drm_vblank_count_and_time+0x71/0x80 [drm] [<f7e1b811>] ? drm_vblank_count_and_time+0x71/0x80 [drm] [<c045dfa2>] warn_slowpath_null+0x22/0x30 [<f7e1b811>] drm_vblank_count_and_time+0x71/0x80 [drm] [<f7e1c05c>] drm_send_vblank_event+0x6c/0x80 [drm] [<f85d37d6>] nouveau_finish_page_flip+0x66/0x120 [nouveau] [<f85d38b6>] nouveau_flip_complete+0x26/0x220 [nouveau] [<f85d2470>] ? nouveau_display_vblstamp+0x70/0x80 [nouveau] [<f8536c40>] nvif_notify+0x90/0x160 [nouveau] [<c049af8f>] ? __wake_up+0x3f/0x50 [<c0ac2b8d>] ? _raw_spin_unlock_irqrestore+0xd/0x10 [<f7e1d170>] ? drm_handle_vblank+0x210/0x360 [drm] [<f85c8dd8>] nvkm_client_ntfy+0x78/0x80 [nouveau] [<f8536ed8>] nvkm_client_notify+0x28/0x30 [nouveau] [<f8539cb5>] nvkm_notify_send+0x75/0x120 [nouveau] [<f8537d95>] nvkm_event_send+0xb5/0xe0 [nouveau] [<f85c58fe>] nvkm_sw_chan_mthd+0x5e/0x80 [nouveau] [<f85c4f91>] nvkm_sw_mthd+0x91/0xb0 [nouveau] [<f8596d8f>] nv04_fifo_intr+0x5ff/0x770 [nouveau] [<c0ac2b8d>] ? _raw_spin_unlock_irqrestore+0xd/0x10 [<f8537d7b>] ? nvkm_event_send+0x9b/0xe0 [nouveau] [<f85960e1>] nvkm_fifo_intr+0x11/0x20 [nouveau] [<f85375f9>] nvkm_engine_intr+0x19/0x20 [nouveau] [<f853b623>] nvkm_subdev_intr+0x13/0x20 [nouveau] [<f8577871>] nvkm_mc_intr+0x61/0xf0 [nouveau] [<c080e2ee>] ? add_interrupt_randomness+0x14e/0x1b0 [<f857bf42>] nvkm_pci_intr+0x42/0x80 [nouveau] [<c04b5006>] handle_irq_event_percpu+0x76/0x190 [<c04b7d60>] ? handle_simple_irq+0x70/0x70 [<c04b514a>] handle_irq_event+0x2a/0x50 [<c04b7dd2>] handle_fasteoi_irq+0x72/0x120 [<c04060c3>] handle_irq+0xa3/0xd0 <IRQ> [<c040589c>] do_IRQ+0x3c/0xc0 [<c072adad>] ? __copy_to_user_ll+0xd/0x10 [<c0ac3a73>] common_interrupt+0x33/0x38 [<c05cf255>] ? __fget_light+0x35/0x50 [<c05cf282>] __fdget+0x12/0x20 [<c05c825d>] do_sys_poll+0x2bd/0x570 [<c072b07c>] ? _copy_from_user+0x3c/0x50 [<c05b5408>] ? rw_copy_check_uvector+0x58/0x110 [<c0a69076>] ? unix_stream_recvmsg+0x46/0x60 [<c0a66f40>] ? unix_set_peek_off+0x50/0x50 [<c09a476d>] ? sock_recvmsg+0x3d/0x50 [<c09a5be6>] ? ___sys_recvmsg+0x116/0x150 [<c048d8a8>] ? check_preempt_wakeup+0xe8/0x220 [<c05c6ea0>] ? poll_select_copy_remaining+0x130/0x130 [<c09ae2f8>] ? __alloc_skb+0x78/0x1e0 [<c05cf282>] ? __fdget+0x12/0x20 [<c09a6684>] ? __sys_recvmsg+0x44/0x80 [<c09a70ae>] ? SYSC_socketcall+0x7ae/0x9c0 [<c0a68718>] ? unix_stream_sendmsg+0x358/0x380 [<c09a514d>] ? sock_sendmsg+0x2d/0x40 [<c05b4a60>] ? do_readv_writev+0x140/0x350 [<c04cb81a>] ? ktime_get+0x4a/0x120 [<c09a5160>] ? sock_sendmsg+0x40/0x40 [<c04f857f>] ? __audit_syscall_entry+0xaf/0x110 [<c04012a4>] ? do_audit_syscall_entry.isra.9+0x44/0x50 [<c0401607>] ? syscall_trace_enter_phase1+0x107/0x130 [<c05c8643>] SyS_poll+0xc3/0x100 [<c0ac32e1>] syscall_call+0x7/0x7 ---[ end trace aac837c2925b2e70 ]--- nouveau 0000:01:00.0: Xorg[494]: failed to idle channel 0xcccc0000 [Xorg[494]] nouveau 0000:01:00.0: Xorg[494]: failed to idle channel 0xcccc0000 [Xorg[494]] nouveau 0000:01:00.0: DRM: 0xDBBA: Parsing digital output script table nouveau 0000:01:00.0: DRM: 0xDB7C: Parsing digital output script table nouveau 0000:01:00.0: DRM: GPU lockup - switching to software fbcon nouveau 0000:01:00.0: DRM: 0xDBBA: Parsing digital output script table nouveau 0000:01:00.0: Xorg[1847]: failed to idle channel 0xcccc0000 [Xorg[1847]] nouveau 0000:01:00.0: Xorg[1847]: failed to idle channel 0xcccc0000 [Xorg[1847]] nouveau 0000:01:00.0: DRM: 0xDBBA: Parsing digital output script table nouveau 0000:01:00.0: gr: intr 00100000 [ERROR] nsource 00000100 [DMA_W_PROTECTION] nstatus 04000000 [PROTECTION_FAULT] ch 1 [Xorg[2211]] subc 0 class 0039 mthd 0100 data 00000000 nouveau 0000:01:00.0: Xorg[2211]: failed to idle channel 0xcccc0001 [Xorg[2211]] nouveau 0000:01:00.0: Xorg[2211]: failed to idle channel 0xcccc0001 [Xorg[2211]] nouveau 0000:01:00.0: Xorg[2211]: failed to idle channel 0xcccc0000 [Xorg[2211]] nouveau 0000:01:00.0: timeout at drivers/gpu/drm/nouveau/nvkm/engine/gr/nv20.c:46/nv20_gr_chan_fini()! nouveau 0000:01:00.0: Xorg[2211]: failed to idle channel 0xcccc0000 [Xorg[2211]] nouveau 0000:01:00.0: fifo: DMA_PUSHER - ch 0 [DRM] get ff2c4784 put ff2c4784 state df2c4785 (err: MEM_FAULT) push 00000100 nouveau 0000:01:00.0: Xorg[2211]: failed to idle channel 0xcccc0000 [Xorg[2211]] nouveau 0000:01:00.0: Xorg[2211]: failed to idle channel 0xcccc0000 [Xorg[2211]] nouveau 0000:01:00.0: DRM: 0xDB7C: Parsing digital output script table nouveau 0000:01:00.0: timeout at drivers/gpu/drm/nouveau/nvkm/engine/gr/nv04.c:1223/nv04_gr_idle()! nouveau 0000:01:00.0: gr: idle timed out with status 00022001 nouveau 0000:01:00.0: timeout at drivers/gpu/drm/nouveau/nvkm/engine/gr/nv04.c:1223/nv04_gr_idle()! nouveau 0000:01:00.0: gr: idle timed out with status 00022001 nouveau 0000:01:00.0: DRM: 0xDBBA: Parsing digital output script table $ dmesg | grep drm_vblank_count_and_time | wc -l 256 WARNING going and going, doesn't spare ring buffer.
The final results of the testing are coming in a few days ...
(In reply to Olivier Fourdan from comment #26) > A fix for this has been pushed as git commit 2cfac64 in master, but I don't > have the hardware to test. > > Can you test an up-to-date build with GL enabled on a nv34 card? http://git.xfce.org/xfce/xfwm4/commit/?id=2cfac64 repairs GLX compositorr on NV34: - configure --disable-xpresent --enable-epoxy Build Configuration for xfwm4: Xpresent support: no Epoxy support: yes However it is slow - has noticeable lag, as if running on e.g. QXL paravirtual graphic card. Also XPresent compositor - which otherwise has the best performance, ist kaputt https://bugs.freedesktop.org/show_bug.cgi?id=92893 So I switched on XRender compositor, which ain't tear-free but at least has a decent performance.
Development of nouveau pre-NV50 and whatnot radeon and intel "oldtimers" is pretty nondeterministic, if not stale. Therefore, not to waste time and resources with build-time configuration, please consider implement run-time switch to disable GL compositing, therefore to switch to XRender for those for which the use of GL is sub-optimal or broken.
You have to specify a comment when changing the Resolution of a bug from (empty) to WONTFIX.
Why wontfix? A fix for this has been pushed in git master as indicated in comment 26, the kernel issue you see after is something different.