Skip site navigation (1)Skip section navigation (2)
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>