Mar 4th, 2020
- From: https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1163126-firefox-75-on-wayland-now-to-have-full-webgl-working-va-api-acceleration
- 1. KDE has major troubles working around Wayland which speaks volumes about Wayland APIs. It's not like KDE devs are stupid.
- 2. X.org has maybe crashed on me three times in my entire life. KWin and other window managers crash far too often and the system lives on. In Wayland a WM and a graphical subsystem are the same entity. That's absolutely wrong. Neither Windows, nor X.org was designed this way. How do you go about replacing your DM/WM in Wayland on the fly? Not possible at all?
- 3. Using experimental Pipewire? How fast does it work in comparison to ssh -X/RDP? Can you watch videos over poor connections? Can you pass-through OpenGL/any sort of HW acceleration? No, nothing? Oh, crap. Wayland works with raw rectangles made of pixels. It cannot even say which parts of an application need updates to be sent over the net and which don't. Each active application window needs to be encoded in its entirety and sent. Wow, such an utter crap.
- 4. Windows is always not comparable, only it offers vector very efficient GUI + video streams pass-through + Direct3D pass-through + audio compression and other perks. It was designed way before Microsoft even thought of remote desktopping yet they made it near perfect. Wayland designers perfectly got all the knowledge of the real world requirements and designed the protocol which is 100% ill-unsuitable for remote desktopping.
- 5. Wayland requires GUI APIs to handle raw output, scaling and font rendering and antialiasing as it does nothing itself. Let's say you have three applications running using three different APIs (Qt, Enlightenment, Gnome). Let's say the user wants to upscale all three or change font antialiasing for all of three. Wow, we have some crazy crap going on here as each GUI API has to independently implement these features instead of relying on one common API which does everything for them, e.g. Win32 or xlib (though honestly Xlib has long been abandoned and Xorg works in many ways close to Wayland nowadays since it wasn't designed to handle modern GUIs).
- Wayland is great, isn't it? And this crap will forever require XWayland which is just nice. And XWayland applications cannot even properly interact with native Wayland apps. Tons of useful X.org utilities outright don't work under Wayland in any shape or form.
- X.org works everywhere, all the time, and supports 100% of GUI Linux applications nothing of which can be said about Wayland which is selective as hell and still has tons of issues. Not to mention it absolutely sucks in terms of remote desktopping - it's worse than Windows and X.org combined. And the fact that once a Wayland compositor crashes it brings down all the running GUI apps is just fabulous. Such a great tech we have here. Windows can perfectly run without DWM. X.org applications can perfectly run without a window manager.
- MPV supports vdpau/vaapi under X.org perfectly. Don't tell me implementing those for X.org by Firefox would be difficult. They could have as well embedded mpv into Firefox - it's not like Firefox has its own libraries for audio/video decoding - it uses ffmpeg.
- mpv uses VAAPI in the exact same way under X and Wayland and there's no copies being done either way. It's very simple - grab hardware surface handle using vaExportSurfaceHandle(), import surface data into OpenGL using EGL_EXT_image_dma_buf_import. mpv does exactly that, and it doesn't matter if it's under X or Wayland. If Firefox can't do that in X, that's a Firefox limitation, not something inherent in X.
Please, Sign In to add comment