Re: Wayland on FreeBSD

Frederic Chardon <[email protected]>
Newsgroups gmane.os.freebsd.devel.x11,gmane.os.freebsd.questions
Message-ID <CAMODbkkreoL=RsUF9B9z1pVtL2SMK+aXA6Z+YY1xcZP4h8U9rQ@mail.gmail.com>
Le lun. 20 avr. 2020 à 20:54, Jan Beich <[email protected]> a écrit :
>
> Frederic Chardon <[email protected]> writes:
>
> > Le lun. 20 avr. 2020 à 15:20, Jan Beich <[email protected]> a écrit :
> >
> >>
> >> Frederic Chardon <[email protected]> writes:
> >>
> >> > Le lun. 20 avr. 2020 à 12:20, Niclas Zeising
> >> > <[email protected]> a écrit :
> >> >
> >> >>
> >> >> On 2020-04-20 12:07, Greg V wrote:
> >> >> > Apr 20, 2020 12:56:35 PM Frederic Chardon <[email protected]>:
> >> >> >
> >> >> >> Le dim. 19 avr. 2020 à 13:50, Jan Beich <[email protected]> a écrit :
> >> >> >>
> >> >> >>>
> >> >> >>>
> >> >> >>> I'm using Sway myself primarily with X11 applications. For example,
> >> >> >>> "vblank_mode=0 glxgears" shows 3x more FPS than on real Xorg server. ;)
> >> >> >>>
> >> >> >>
> >> >> >> I decided to give it a try, is hardware acceleration supposed to work?
> >> >> >> glxgears gives 10x less fps than with X, and 3D is incredibly
> >> >> >> sluggish.
> >> >> >> eglinfo output that leads me to believe it is not:
> >> >> >> GBM platform:
> >> >> >> i965_dri.so does not support the 0xffffffff PCI ID.
> >> >> >>
> >> >> >> It is with sway, -current from yesterday, intel HD4000 iGPU (Ivybridge i5-3320M)
> >> >> >> no difference between drm-devel-kmod or drm-current-kmod.
> >> >> >
> >> >> > Sway itself wouldn't even start without hardware rendering, it doesn't *have* a software renderer.
> >> >> >
> >> >> > For the X applications like glxgears, I guess with the mesa build
> >> >> > that's in official ports currently you still need that DRI3
> >> >> > something environment variable..
> >> >>
> >> >> You shouldn't need that one.  We switched the default to use DRI3 not
> >> >> long after xorg-server was updated to 1.20.
> >> >> https://svnweb.freebsd.org/ports?view=revision&revision=528071
> >> >> It should also be in the latest quarterly branch.
> >> >> Regards
> >> >> --
> >> >> Niclas
> >> >
> >> > With or without LIBGL_DRI3_ENABLE=1 in the environment the result is
> >> > the same. I use official packages, updated yesterday.
> >> >
> >> > The problem I face might be due to permission issue. ktrace shows this:
> >> > 28047 eglinfo  CALL  openat(AT_FDCWD,0x7fffffffc820,0x100002<O_RDWR|O_CLOEXEC>)
> >> > 28047 eglinfo  NAMI  "/dev/dri/card0"
> >> > 28047 eglinfo  RET   openat 3
> >> > /..../
> >> > 28047 eglinfo  CALL  ioctl(0x3,0xc0106446,0x7fffffffbc70)
> >> > 28047 eglinfo  RET   ioctl -1 errno 13 Permission denied
> >>
> >> What initializes DRI3 is Xwayland which is started by Sway. DRI3 can
> >> fail for weird reasons (e.g., bug 241821), so make sure you have
> >>
> >> https://reviews.freebsd.org/D23846
> >>
> >> As graphics/mesa-demos doesn't install eglgears_wayland to check OpenGL
> >> acceleration in native Wayland clients try multimedia/mpv instead e.g.,
> >>
> >>   $ pkg install mpv
> >>   $ mpv --no-config --msg-level=vo/gpu=v --gpu-api=opengl --gpu-context=wayland /path/to/foo.mp4
> >
> > Thanks, I'm at r360105 so this fix is included. mpv doesn't output any error.
>
> What does mpv show as GL_RENDERER? If not llvmpipe (or swrast) then
> hardware acceleration in native Wayland clients works fine for you.

[vo/gpu/wayland] GL_RENDERER='Mesa DRI Intel(R) Ivybridge Mobile '

>
> > I installed benchmarks/glmark2, it scores an average of 8 times less
> > fps under wayland than X11. So wayland in general works, but OpenGL is
> > slow. Is it expected?
>
> glmark2 doesn't seem to support Wayland natively, so like glxgears it
> tests Xwayland support. If Xwayland failed to initialize DRI3 then
> all X11 clients would use slow software rendering.
>
>   $ printenv | fgrep -i display
>   DISPLAY=:0
>   WAYLAND_DISPLAY=wayland-0
>
>   $ env -u DISPLAY glmark2
>   Error: main: Could not initialize canvas
>
>   $ env -u DISPLAY glmark2-es2
>   Error: main: Could not initialize canvas

I have the exact same output for all 3.

>
> Try starting Sway via "ktrace -i" or replace Xwayland binary with a
> wrapper (see below) that starts it via ktrace. Tracing glxgears is too
> late as Mesa will simply give up if DRI3 is not initialized.
>
> # Make sure Xwayland on restart prints "i965_dri.so does not support the 0xffffffff PCI ID."
> $ pkill Xwayland
> $ PATH=$HOME/.local/bin:$PATH
> $ cat ~/.local/bin/Xwayland
> #! /bin/sh
>
> # Exclude current directory from PATH
> PATH=$(IFS=:; for p in $PATH; do case $p in (${0%/*});; (*) echo -n "$p:" ;; esac; done)
>
> # Run the actual app
> exec ktrace -f /tmp/xwayland.$(id -u).ktrace ${0##*/} "$@"

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 ?

I also have this output:
Refusing to try glamor on llvmpipe
EGL setup failed, disabling glamor
Failed to initialize glamor, falling back to sw
_______________________________________________
[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.