Date: Tue, 20 Oct 2020 01:21:57 +0000 From: bugzilla-noreply@freebsd.org To: x11@FreeBSD.org Subject: [Bug 250307] graphics/mesa-dri: iris_dri.so is missing Message-ID: <bug-250307-7141-IYf2DQMqp4@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-250307-7141@https.bugs.freebsd.org/bugzilla/> References: <bug-250307-7141@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D250307 --- Comment #8 from Jung-uk Kim <jkim@FreeBSD.org> --- It's little off-topic but I was not able to use SNA with iris. It always failed with "(WW) intel(0): Detected unsupported/dysfunctional hardware, disabling acceleration." in the log file. I did some debugging and found it always failed at test_has_execbuffer2() function although we've been suppor= ting DRM_IOCTL_I915_GEM_EXECBUFFER2 ioctl for many years. IIRC, it was supported even in drm2 days. As a work-around, commenting out the test function let me enable SNA successfully, i.e., Index: x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c (nonexisten= t) +++ x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c (working co= py) @@ -0,0 +1,29 @@ +--- src/sna/kgem.c.orig 2020-05-15 16:56:58 UTC ++++ src/sna/kgem.c +@@ -1186,6 +1186,7 @@ static int gem_param(struct kgem *kgem, int name) + return v; + } +=20 ++#ifndef __FreeBSD__ + static bool test_has_execbuffer2(struct kgem *kgem) + { + struct drm_i915_gem_execbuffer2 execbuf; +@@ -1197,6 +1198,7 @@ static bool test_has_execbuffer2(struct kgem *kgem) + DRM_IOCTL_I915_GEM_EXECBUFFER2, + &execbuf) =3D=3D -EFAULT; + } ++#endif +=20 + static bool test_has_no_reloc(struct kgem *kgem) + { +@@ -1252,8 +1254,10 @@ static bool is_hw_supported(struct kgem *kgem, + if (DBG_NO_HW) + return false; +=20 ++#ifndef __FreeBSD__ + if (!test_has_execbuffer2(kgem)) + return false; ++#endif +=20 + if (kgem->gen =3D=3D (unsigned)-1) /* unknown chipset, assume futur= e gen */ + return kgem->has_blt; In fact, I've been using this for few weeks now without a problem. My gues= s is the ioctl wrapper do_ioctl() isn't working for our ioctl handler. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-250307-7141-IYf2DQMqp4>