Re: No hardware acceleration with Xwayland and i915kms (was: Wayland on FreeBSD)

Frederic Chardon <[email protected]>
Newsgroups gmane.os.freebsd.devel.x11
Message-ID <CAMODbkmd9sAZezOsz7_ViFSTaChC9U1BVBfWUA4VpVgaohuavw@mail.gmail.com>
Le jeu. 23 avr. 2020 à 11:43, Frederic Chardon
<[email protected]> a écrit :
>
> Le jeu. 23 avr. 2020 à 11:36, Emmanuel Vadot <[email protected]> a écrit :
> >
> > On Thu, 23 Apr 2020 11:24:37 +0200
> > Frederic Chardon <[email protected]> wrote:
> >
> > > Le jeu. 23 avr. 2020 à 00:35, Jan Beich <[email protected]> a écrit :
> > > >
> > > > Frederic Chardon <[email protected]> writes:
> > > >
> > > > > Le mer. 22 avr. 2020 à 16:51, Jan Beich <[email protected]> a écrit :
> > > > >
> > > > >>
> > > > >> Frederic Chardon <[email protected]> writes:
> > > > >>
> > > > >> > Le lun. 20 avr. 2020 à 23:06, Jan Beich <[email protected]> a écrit :
> > > > >> >
> > > > >> >>
> > > > >> >> Frederic Chardon <[email protected]> writes:
> > > > >> >>
> > > > >> >> >
> > > > >> >> > The trace shows usage of llvmpipe after the failed ioctl on
> > > > >> >> > /dev/dri/card0, so as I understand the lack of hardware acceleration
> > > > >> >> > concerns only Xwayland, whereas wayland itself is accelerated ?
> > > > >> >>
> > > > >> >> Yep. Check which ioctls fail then try to reproduce outside of Mesa or
> > > > >> >> hardcode the result. Overriding PCI ID via INTEL_DEVID_OVERRIDE is
> > > > >> >> unlikely to help e.g.,
> > > > >> >
> > > > >> > All below failure occurs only in xwayland, X11 and wayland succeed.
> > > > >> >
> > > > >> > The first failure is with I915_PARAM_CHIPSET_ID. When I hardcode the
> > > > >> > correct ID I get a failure with I915_PARAM_HAS_RELAXED_DATA. When I
> > > > >> > force the result to be true (as with X11 and Wayland), the ioctl
> > > > >> > DRM_I915_GEM_EXECBUFFER2_WR fails with errno EPERM.
> > > > >>
> > > > >> Thanks for investigating. Maybe either DRM_AUTH or DRM_RENDER_ALLOW fails.
> > > > >> Does setuid bit on Xwayland binary help?
> > > > > Yes, hardware acceleration works. eglinfo still complain about invalid
> > > > > 0xffffffff PCI ID though
> > > > >
> > > > >> Does disabling render node help
> > > > >> e.g., chmod 0000 /dev/dri/renderD128 ?
> > > > > No
> > > > >
> > > > > What helps however is to mount the different linux filesystems after
> > > > > i915kms is loaded.
> > > > > eg I added "late" keyword to fstab as below
> > > > > devfs   /compat/linux/dev     devfs     rw,late 0 0
> > > > > fdesc /compat/linux/dev/fd  fdescfs   rw,late,linrdlnk 0 0
> > > > > linproc /compat/linux/proc    linprocfs rw,late 0 0
> > > > > linsys  /compat/linux/sys     linsysfs  rw,late 0 0
> > > > >
> > > > > without the late keyword, acceleration works if devfs alone is
> > > > > mounted. any other fs (with or without devfs) makes Xwayland use
> > > > > software rendering.
> > > > > As with setuid Xwayland, eglinfo complains about invalid PCI ID.
> > > >
> > > > manu@ fixed major/minor usage upstream. Can you try the following patch?
> > >
> > > No change. major are still different, minor doesn't have the 0x80 bit
> > > set, and hw accel is disabled if I mount linux pseudofs before kldload
> > > i915kms
> >
> >  major/minor are irrelevent on FreeBSD, upstream code now don't care
> > about them and should properly detect the node type.
> >  I haven't followed the whole thread as it's a typical mailing list
> > thread that switched to troll and unreleated content. Can someone
> > explain what is the problem that you have please ?
> >
>
> Yes, let's fork the thread
>
> System is a recent -current (from last Sunday), intgegrated intel
> HD4000 and drm-devel-kmod
>
> Hardware acceleration works with X11 and native wayland, but not with Xwayland.
>
> With help of Jan I found a weird workaround to mount devfs, fdescfs,
> linprocfs and linsysfs under /compat/linux _after_ i915kms is loaded.

Forgot to re-add some maybe relevant info
- eglinfo complains about an invalid PCI ID (with or without hw accel):
i965_dri.so does not support the 0xffffffff PCI ID.
-  some ioctl fails.
The first failure is with I915_PARAM_CHIPSET_ID. When I hardcode the
correct ID I get a failure with I915_PARAM_HAS_RELAXED_DATA. When I
force the result to be true (as with X11 and Wayland), the ioctl
DRM_I915_GEM_EXECBUFFER2_WR fails with errno EPERM.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-x11
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.