I've been tracking the bleeding edge Intel experience (drm/mesa/xserver) with the exception of kernel modesetting and after this particular change to the driver, text and pixmaps stopped rendering with EXA (and UXA just renders garbage as if the row stride is wrong) It can't be reverted cleanly against the current tip. My hardware is an Acer TravelMate 5720 with an X3100.
You could try something like this, but I'm seeing some bugginess too. with GEM enabled kernels. Trying to track it down. diff --git a/src/i965_render.c b/src/i965_render.c index a4334c6..180bcfd 100644 --- a/src/i965_render.c +++ b/src/i965_render.c @@ -1450,7 +1450,7 @@ gen4_render_state_init(ScrnInfoPtr pScrn) render_state->card_state_offset = pI830->gen4_render_state_mem->offset; - if (pI830->gen4_render_state_mem->bo) { + if (pI830->use_drm_mode) { ret = dri_bo_map(pI830->gen4_render_state_mem->bo, 1); if (ret) { xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
That seems to have got things back to where they were. Thanks.
Philip, are you using GEM kernel? Is the sympton the same as bug#17304?
Yes, it seems like the same bug. His EXA and UXA + tiling symptoms seem exactly like mine. I have not tried UXA without tiling yet, but I'll check today.
Created attachment 18570 [details] [review] don't use drm_bo_map if !use_drm_mode Here's a more complete patch that fixes the teardown path as well.
That fixes EXA but UXA without tiling looks the same - no pixmaps and text. And UXA with tiling shows the incorrect stride corruption. As a bonus, attempting to VT switch from X with UXA turned on causes it to immediately switch back to X. But who knows what's going on there.
Yeah, tiling & UXA don't get along right now, so you have to disable it manually. The VT switch problem probably deserves a separate bug though.
Just to clarify - UXA without tiling is *not* fixed by your patch. The patch only fixes EXA.
Jesse, how about commit your patch? I hope it could also help bug#17304 and #17425.
Ok, just pushed this workaround.
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.