Re: fix for X crash with the radeon(4) driver

2021-11-16 Thread Matthieu Herrb
On Sun, Nov 14, 2021 at 05:25:32PM +0100, Matthieu Herrb wrote:
> Hi,
> 
> after the upgrade to X server 21.1.1, some people reported crashes in
> the radeon driver when using xrandr(1) or a similar utility.
> 
> If you are seeing these crashes, please test the patch below (copied
> for a similar "fix" in the amdgpu(4) driver)
> 
> get the xenocara sources if you don't alreaady, apply the patch in the
> driver/xf86-video-ati directory and there run (as root)
> 
> make -f Makefile.bsd-wrapper obj
> make -f Makefile.bsd-wrapper build
> 
> Then restart xenodm and try the xrandr invocation again.
> 
> Please report success or failure.

Ping. .

Anyone tried this patch ?

This is not the bug that happens semi-randomly on mouse button events,
but still, if you have a Radeon card and are using xrandr(1) to setup
multiple monitors, you're likely to hit that bug

> 
> Index: src/radeon_kms.c
> ===
> RCS file: /cvs/OpenBSD/xenocara/driver/xf86-video-ati/src/radeon_kms.c,v
> retrieving revision 1.21
> diff -u -p -u -r1.21 radeon_kms.c
> --- src/radeon_kms.c  11 Nov 2021 09:30:14 -  1.21
> +++ src/radeon_kms.c  14 Nov 2021 16:16:08 -
> @@ -931,6 +931,13 @@ radeon_dirty_update(ScrnInfoPtr scrn)
>   }
>  }
>  
> +static void
> +radeonSourceValidate(DrawablePtr draw, int x, int y, int w, int h,
> +  unsigned int subWindowMode)
> +{
> +}
> +
> +
>  
>  Bool
>  radeon_scanout_do_update(xf86CrtcPtr xf86_crtc, int scanout_id,
> @@ -993,7 +1000,7 @@ radeon_scanout_do_update(xf86CrtcPtr xf8
>   SetPicturePictFilter(src, xf86_crtc->filter, xf86_crtc->params,
>xf86_crtc->nparams);
>  
> - pScreen->SourceValidate = NULL;
> + pScreen->SourceValidate = radeonSourceValidate;
>   CompositePicture(PictOpSrc,
>src, NULL, dst,
>extents.x1, extents.y1, 0, 0, extents.x1,
> 
> 
> -- 
> Matthieu Herrb

-- 
Matthieu Herrb



fix for X crash with the radeon(4) driver

2021-11-14 Thread Matthieu Herrb
Hi,

after the upgrade to X server 21.1.1, some people reported crashes in
the radeon driver when using xrandr(1) or a similar utility.

If you are seeing these crashes, please test the patch below (copied
for a similar "fix" in the amdgpu(4) driver)

get the xenocara sources if you don't alreaady, apply the patch in the
driver/xf86-video-ati directory and there run (as root)

make -f Makefile.bsd-wrapper obj
make -f Makefile.bsd-wrapper build

Then restart xenodm and try the xrandr invocation again.

Please report success or failure.

Index: src/radeon_kms.c
===
RCS file: /cvs/OpenBSD/xenocara/driver/xf86-video-ati/src/radeon_kms.c,v
retrieving revision 1.21
diff -u -p -u -r1.21 radeon_kms.c
--- src/radeon_kms.c11 Nov 2021 09:30:14 -  1.21
+++ src/radeon_kms.c14 Nov 2021 16:16:08 -
@@ -931,6 +931,13 @@ radeon_dirty_update(ScrnInfoPtr scrn)
}
 }
 
+static void
+radeonSourceValidate(DrawablePtr draw, int x, int y, int w, int h,
+unsigned int subWindowMode)
+{
+}
+
+
 
 Bool
 radeon_scanout_do_update(xf86CrtcPtr xf86_crtc, int scanout_id,
@@ -993,7 +1000,7 @@ radeon_scanout_do_update(xf86CrtcPtr xf8
SetPicturePictFilter(src, xf86_crtc->filter, xf86_crtc->params,
 xf86_crtc->nparams);
 
-   pScreen->SourceValidate = NULL;
+   pScreen->SourceValidate = radeonSourceValidate;
CompositePicture(PictOpSrc,
 src, NULL, dst,
 extents.x1, extents.y1, 0, 0, extents.x1,


-- 
Matthieu Herrb