6 ms·
Still no Linux love for WebVR :( Since I have no intention of switching to Windows after 20+ years on Linux, I'm going to have to wait, as usual.
by undoware 9y ago
Still no Linux love for WebVR :(
Since I have no intention of switching to Windows after 20+ years on Linux, I'm going to have to wait, as usual.
- undoware 9y agoThis wouldn't even be worth commenting on it's so normal, except that Mozilla has a strong history of getting all their stuff working on all platforms before letting a release drop, so as much as I love VR, Mozilla, and Linux, I'm going to sit here and pout until I can do my thing on my tower. <3
- mncharity 9y ago> Mozilla has a strong history of getting all their stuff working on all platforms That mindset has been starkly absent with WebVR. As in... * "Mozilla Brings Virtual Reality to all Firefox Users" means "WebVR will ship on by default for all Windows users" [1] https://blog.mozilla.org/blog/2017/06/01/mozilla-brings-virtual-reality-to-all-firefox-users/ https://blog.mozilla.org/blog/2017/06/01/mozilla-brings-virt... * "Announcing WebVR on Mac via Firefox Nightly"[2] says "web developers can build and test content on their preferred platform, whether it’s Windows, MacOS, or Linux (also available!)", where "available" means "crashes within seconds"[3] for almost a year, with no fix in sight. [2] https://hacks.mozilla.org/2017/06/announcing-webvr-on-mac/ https://hacks.mozilla.org/2017/06/announcing-webvr-on-mac/ [3] https://github.com/OSVR/OSVR-Docs/issues/83 https://github.com/OSVR/OSVR-Docs/issues/83 * The alleged blocker, "direct mode", is needed to get acceptable performance on Windows... but not on linux. [4] https://www.reddit.com/r/Vive/comments/6lepou/linux_gamers_anyone_with_steam_running_fine_with/djugskl/ https://www.reddit.com/r/Vive/comments/6lepou/linux_gamers_a... Once upon a time, Microsoft would create Windows-only web extensions, to the detriment of the web. Nowadays, Mozilla does it for them. A good rule of thumb for WebVR has been that there's always an unstated "on Windows", and anything said about non-Windows platforms working, is at best misleading. Especially anything said by Mozilla - it's been very bizarre. https://webvr.rocks/ https://webvr.rocks/ doesn't even bother to have a linux column.
- kuschku 9y agoNot just WebVR. Hardware video decoding was dropped for Linux years ago, never added back. Hardware compositing is only provided in edge cases. The performance results are ridiculous, you're maxing out an entire processor core just for a 1440p H264 video on Firefox.
- hsivonen 9y agoFor hardware decoding to make sense, there needs to be a way to present the decoded frames in a way that doesn't involve a read-back and that works with the rest of the browser graphics pipeline. That's currently a problem on Linux.
- kuschku 9y agoThat used to be one, but not with the Quantum compositor, which already can use frames from the GPU's memory.
- TD-Linux 9y agoThe issue without "Direct Mode" is latency, as your link says. You need to bypass both the browser compositor and the system compositor. On Linux, most compositors will implement something like Direct Mode (compositor bypass) when you go fullscreen, but it's a bit hit and miss with multimonitor setups. It might fly as a stopgap, though. Here's the tracking bug for WebVR on Linux, if you want to follow progress: https://bugzilla.mozilla.org/show_bug.cgi?id=1310655 https://bugzilla.mozilla.org/show_bug.cgi?id=1310655 Something more directly analogous to "Direct Mode" on Windows are DRM leases, which give direct control over the scanout, rather than simply bypassing the compositor. This isn't possible on Linux at all yet, but Valve is working on it: https://keithp.com/blogs/DRM-lease/ https://keithp.com/blogs/DRM-lease/
- mncharity 9y agoHere is the DocOk/Vrui post on latency, A Trip Down the Graphics Pipeline (2014) http://doc-ok.org/?p=1057 http://doc-ok.org/?p=1057 (from which the reddit-linked graphs came). Highlights include: > Under a non-compositing window manager, regular double-buffering under OpenGL does not incur undue latency (and there is a window manager hint to tell a compositing manager to grant pass-through to a window). > At least using the Nvidia graphics driver [...] OpenGL can vsync to any connected display, primary or secondary. > OpenGL and X Windows allow applications to draw directly into a video controller’s frame buffer, allowing single-buffered rendering and racing the video controller’s scanout. [...] With front buffer rendering, display latency on the Rift DK2 dropped to about 4.3ms And from Zero-latency Rendering (2015) http://doc-ok.org/?p=1313 http://doc-ok.org/?p=1313 > with some new rendering configuration options in Vrui 4.0 I can disable vsync, and render directly into the display window’s front buffer. In other words, I can let these applications “race the beam.”
- hobarrera 9y agoNot even close. Mozilla has been windows-centric for years. While they've kept Linux support really well, and most features make it, windows tends to be the first platform they address. Under the hook, it's extra windowsy. For example, they just dump config/cache/etc in a way similar to what's done on windows, and refused to support the XDG spec, which most desktop apps use.
- bigbugbag 9y ago> Mozilla has a strong history of getting all their stuff working on all platforms before letting a release drop I would like to see some substantation of this claim, my experience as linux user for 20 years is that firefox on linux is a second class citizen and mozilla developers often answer linux specific bugs by "wontfix, not a big enough portion of our users, would be a waste of resources".
- mncharity 9y ago> I'm going to have to wait Especially with WebVR, you can use Windows as a troublesome device driver. Running the browser under Windows, either on a separate machine, or if the stars align with your hardware, in a VM. I sometimes run a Vive off a Windows VM - setting up the VM to perform well was a bit fiddly, but it works. And Windows is a lot easier to manage when you can accumulate VM snapshots of it. For non-WebVR Vive or Rift use, there's http://idav.ucdavis.edu/~okreylos/ResDev/Vrui/ http://idav.ucdavis.edu/~okreylos/ResDev/Vrui/ https://www.youtube.com/user/okreylos/videos https://www.youtube.com/user/okreylos/videos . For WebVR-ish development, there's my https://github.com/mncharity/node-webvr-alt-stack https://github.com/mncharity/node-webvr-alt-stack . Insecure, with no a-frame or lens correction - it was MVP for me. But I use it comfortably on laptop integrated graphics, at 30 fps, in coffeehouses and conference rooms, so that's fun. I have to wonder if the WebVR spec might be less bad, if it had drawn from a larger community. My favorite bit was WebVR 1.1's getFrameData() - it was spec'ed to take an immutable object, which it would then modify with new data. Sigh.
- larsberg 9y agoLinux (and macOS) should work on Firefox Nightly. For both, the Valve services are currently in beta and we can't really ship something that relies on beta drivers past our own beta releases. If you encounter any bugs on Linux or macOS in Nightly, please do report them! The team is awesome about testing and fixing them. That said, the VR & driver/OS stack for support on those two platforms is still seeing a lot of flux and is not yet at the same level of performance and stability as Windows, depending on which particular version you grab.
- haagch 9y agoHave you tried it? It spams "[GFX1]: SharedSurfaceType::Basic not supported for WebVR" to the console and doesn't send any frames to the SteamVR compositor. And as I understand it, the OSVR implementation never even bothered to implement OSVR-Rendermanager support, let alone fix the tab crashing after 1-2 seconds. I'm pretty sure they all know it's broken. A while ago kip said he wanted to work on OSVR "soon" and later that we could expect WebVR on Linux "soon", but it looks like he is literally the only one who wants to work on it and doesn't have the time, at all. After all it's still an open bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1310663 https://bugzilla.mozilla.org/show_bug.cgi?id=1310663
- larsberg 9y agoSorry for my ambiguity here! On Linux I specifically mean OpenVR support. We're currently looking more at OpenXR as a cross-device solution rather than investing more on OSVR, though certainly if more devices that can only work on OSVR appear we could resource additional investments. That particular work is fairly well-separated from the rest of the core of Firefox and doesn't require somebody like Kip or Daosheng with years of experience hacking on VR hardware.
- haagch 9y agoPerhaps what I said was ambiguous. The error message is from the OpenVR support. The OSVR support wouldn't have such an error message because the rendering support wasn't implemented in the first place. I understand the reluctance to spend time investing in it, especially when developers say the OSVR-Rendermanager API and the OpenGL context sharing is awkward to use, but what's the point in investing in it in the first place, with a big announcement from Sensics http://sensics.com/osvr-comes-webvr/ http://sensics.com/osvr-comes-webvr/ etc? The thing is, at the moment the only OpenVR implementation is the proprietary SteamVR runtime and it looks like it's unlikely that anyone will implement a FLOSS OpenVR runtime. Isn't Mozilla usually all over libre stuff like OSVR? Not even ideologically, imagine you're buying a Talos II POWER9 Workstation, plop a Vega 64 in, compile firefox, connect your HMD, and what's that? SteamVR is only available on x86? Tough luck, no WebVR for you! Meanwhile you can compile OSVR for whatever architecture you like. > though certainly if more devices that can only work on OSVR There's no such thing because with SteamVR-OSVR all OSVR supported devices can be used in SteamVR (they are having some trouble with controllers, e.g. the Nolo controllers, but that's getting sorted out currently). The point is really more that Mozilla seems to give a lot more love to proprietary platforms like windows and runtimes like steamvr now than to libre ones. It's funny because in 2014/2015 with the Oculus Rift DK2 we first got a chromium webvr build for linux and then when it got into firefox nightly, it worked on linux too. Then Oculus stopped their linux support and both browsers stopped caring about WebVR on linux too. That announcement from Sensics is a year old and falls in the time where the OSVR SDK was the only major current and working VR SDK on Linux (and Mac OS X!) but it seems nobody wanted to make the effort to actually make it work. Fair enough, the OSVR SDK is an SDK literally nobody on Linux uses, so we could wait for SteamVR. That came out in February and today here we are, wondering what the problem is.
- fulafel 9y agoLearning to walk first: do they already have WebGL performance fixed on Linux? It has been blocked on lack of accelrated compositing for years, ref https://bugzilla.mozilla.org/show_bug.cgi?id=1010527 https://bugzilla.mozilla.org/show_bug.cgi?id=1010527 (less than half the framerate of Chrome on WebGL demos). It's blocked on this meta-bug: https://bugzilla.mozilla.org/show_bug.cgi?id=594876 https://bugzilla.mozilla.org/show_bug.cgi?id=594876 which is in turn blocked by many bugs.
- bigbugbag 9y agoThey don't have WebGL on linux, they have a "webgl if available" thing which is mostly not available. I've heard that when available (never was on any linux machine I've had in my hands and tested since firefox introduced webgl, after a while I started disabling it to protect from the webgl vulnerabilities), it performs poorly compared to other browsers.
- fulafel 9y agoNowadays it works as widely as on other operating systems, just with the abovementioned performance caveat.
- bigbugbag 9y agoThere's very little Linux love from firefox and mozilla. 10 years later and still no QT build[1], drops alsa because their implementation is broken and instead of fixing their own mess forces everybody to use pulseaudio[2] and quite a few in between. It seems there's a reccuring "you do not represent a big enough portion of our users for us to care" attitude over time that made several not big enough portion of their users to stop caring and supporting firefox accelerating its demise caused by trying to be a chrome-like browser (among other mismanagement). [1]: https://bugzilla.mozilla.org/show_bug.cgi?id=451129 https://bugzilla.mozilla.org/show_bug.cgi?id=451129 [2]: https://bugzilla.mozilla.org/show_bug.cgi?id=1345661 https://bugzilla.mozilla.org/show_bug.cgi?id=1345661
- navlelo 9y agoIm using KDE, and I don't really think its a big deal that there isnt a Qt build. I think FF looks great.
- veeti 9y agoWhat is the tangible benefit of providing a Qt build? Do you expect them to support both a GTK+ and Qt backend?
- littlestymaar 9y agoHaving no love for Qt and Alsa is not the same as having no love for Linux. GTK+ is the main graphic toolkit in the linux world and pulseaudio won the war a decade ago ! You may not like where the Linux world has been going the past few years (boo redhat, systemd and Lennart) but that's how it is now. You can't blame mozilla for supporting only the modern Linux world and not every esotheric configuration : that's the job of the distribution's maintainers !
- wiz21c 9y agoyeah, sure but how many linux lovers do suffer from that lack of love ? For example, I use FF on Linux every day and my kids too. I mainly browse news sites; the kids browse youtube and a few other video services. It's not like I need to play 3D games in the browser. So for me, FF level of love for linux is perfectly fine.
- haagch 9y agoWith AMD GPUs the "direct mode" implementation is not quite ready, so when doing stuff with SteamVR it's a very good idea to disable compositing. Except then with firefox 55 https://bugzilla.mozilla.org/show_bug.cgi?id=1377950 https://bugzilla.mozilla.org/show_bug.cgi?id=1377950 happens and you have to close all tabs and reopen them. I don't want to bash mozilla for this bug. Bugs happen. But this has been known for over a month and firefox 55 released with it...