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]"