Hi Riccardo, My guess for this failure is that your GPU hangs too often, which results in refusing GPU workloads.
probably execbuffer2 ioctl fails with EIO -> probably i915_gem_validate_context fails with hs = &ctx->hang_stats; if (hs->banned) { DRM_DEBUG("Context %u tried to submit while banned\n", ctx_id); return ERR_PTR(-EIO); } This happens when "context hanging too fast" or "gpu hanging too fast". It's worth investigating why this is happening, but note that we are currently in the middle of updating the DRM code. I wonder if the new code already resolves your problem. You can find the branch for the update here: https://github.com/riastradh/netbsd-src/tree/reredrm56 If you'd like to give it a shot. On Tue, Aug 24, 2021 at 07:23:17PM +0200, Riccardo Mottola wrote: > Hi, > > I traced down my WebGL problems to core OpenGL issues. > If I run glxgears I get bad results. > The display does not show rotating gears but either two images vibrating > between (strobo-effect like) or even just one frozen image. > > Sometimes I get a crash, like this: > $ glxgears > Running synchronized to the vertical refresh. The framerate should be > approximately the same as the monitor refresh rate. > i965: Failed to submit batchbuffer: Input/output error ... > [ 8185.721137] kern error: > [drm:(/usr/src/sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c:132)intel_pipe_update_start] > *ERROR* Potential atomic update failure on pipe A: -35 > [ 24956.434454] kern error: > [drm:(/usr/src/sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c:132)intel_pipe_update_start] > *ERROR* Potential atomic update failure on pipe A: -35 > [ 25038.667770] kern error: > [drm:(/usr/src/sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c:132)intel_pipe_update_start] > *ERROR* Potential atomic update failure on pipe A: -35 > [ 25866.454467] kern error: > [drm:(/usr/src/sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c:132)intel_pipe_update_start] > *ERROR* Potential atomic update failure on pipe A: -35 > > now, If I rerun glxgears, I get a segfault: > $ glxgears > Running synchronized to the vertical refresh. The framerate should be > approximately the same as the monitor refresh rate. > [1] Segmentation fault (core dumped) glxgears > > Thread 1 "" received signal SIGSEGV, Segmentation fault. > 0x0000717487fe5850 in brw_workaround_depthstencil_alignment () from > /usr/X11R7/lib/modules/dri/i965_dri.so > (gdb) bt > #0 0x0000717487fe5850 in brw_workaround_depthstencil_alignment () from > /usr/X11R7/lib/modules/dri/i965_dri.so > #1 0x0000717487fa34d5 in ?? () from /usr/X11R7/lib/modules/dri/i965_dri.so > #2 0x000000017f001f8a in draw () > #3 0x000000017f00353d in main () > > doesn't look nice!! > > Riccardo > >