Search Unity

Linux and SteamVR

Discussion in 'Linux' started by Kaare, Nov 23, 2017.

  1. Kaare

    Kaare

    Joined:
    Jan 5, 2014
    Posts:
    12
    Hi PJayB

    I'm very happy to see new posts/replies from a Unity employee! Thanks for supporting Linux.

    I (and others) have made a couple of posts about SteamVR support for Linux in the last months. It was working fairly well at one point earlier this year, but was then suddenly removed again - with no word or warning.

    It was rumored to be put back with the current version, but I don't think anyone has actually had any luck making it work, so I think it's just not in there. It's also not mentioned in any release notes.

    Can you shed some light on your SteamVR plans for Linux? There probably aren't many Linux users with a VR headset yet - but in the (small) community we agree that it's very important to have it enabled in Unity for Linux ASAP. We're missing out on a good number of games that might easily have been build for Linux, and we need Linux to be on par (or as close as possible) with Windows and Mac with this new tech in order to attract (and keep) developers and new users.

    I know the question isn't "Linux Editor-specific" - but I was hoping that maybe you would have access to some inside knowledge on the subject?
     
  2. PJayB

    PJayB

    Unity Technologies

    Joined:
    Apr 24, 2017
    Posts:
    105
    I'll sync with our XR team again next week and get a status update.
     
  3. Kaare

    Kaare

    Joined:
    Jan 5, 2014
    Posts:
    12
    Thanks!
     
  4. haagch

    haagch

    Joined:
    Nov 9, 2014
    Posts:
    34
    We're missing out on most games and applications, including Valve's own The Lab, SteamVR Media Player, SteamVR performance test, and I think SteamVR Desktop Game Theater.

    I think the SteamVR Tutorial, SteamVR Room Setup and the Locomancer game are the only three available applications that happen to use the old Beta where SteamVR was enabled on Linux and while Unity's Vulkan backend may not have been fully ready back then, they are pretty much fully working and show that at least as a beta feature this should have been enabled in Unity for a long time.
     
  5. PJayB

    PJayB

    Unity Technologies

    Joined:
    Apr 24, 2017
    Posts:
    105
    I caught up with our XR team yesterday (the folks with the context were out of town until recently) and it seems that there was a technical issue that forced us to pull it out and we haven't had the bandwidth to put it back in. We definitely want to though, so we'll work towards restoring it for a future release.
     
  6. Kaare

    Kaare

    Joined:
    Jan 5, 2014
    Posts:
    12
    Thanks for the update!

    Of course, saying they'll work on restoring it for "a future release" really isn't much of a commitment, since that could mean anything between the next release and sometime in 2030 - but tbh. I didn't expect a much clearer answer than that.

    Here's hoping they'll surprise us and prioritize it! Unreal has recently implemented VR support for Linux, so anyone wanting to make a VR game/experience for Linux (along with Windows and Mac) will have to use that for now. I'd really like to see Unity as an option for them as well. There's a (growing) market out there that's ready and waiting.

    Thanks again!
     
  7. PJayB

    PJayB

    Unity Technologies

    Joined:
    Apr 24, 2017
    Posts:
    105
    Yeah, sorry. I knew it was an unfulfilling answer when I posted it, but you can fault me for that. I didn't want to promise things on their behalf, and I also didn't want to promise something that ended up being technically impractical either.

    TL;DR: we're working on it. Sorry for the wait :)
     
  8. haagch

    haagch

    Joined:
    Nov 9, 2014
    Posts:
    34
    So I installed 2017.2.0f3, imported the SteamVR Plugin from the asset store and made a build of the example scene... and it works?
    https://i.imgur.com/c8a4bih.png
    It did not work in one of the 2017.3 betas I tried a while ago.

    Can you comment on that? Is it supposed to be enabled? Will it stay enabled?
     
  9. Kaare

    Kaare

    Joined:
    Jan 5, 2014
    Posts:
    12
    That's really surprising (I guess also for PJayB and the team :) ) -
    I was sure I had tried 2017.2.0f3 (and read that others had, too). Is this a new build after all with the same version name?
     
  10. haagch

    haagch

    Joined:
    Nov 9, 2014
    Posts:
    34
    I did get the message
    Code (csharp):
    1. radv: Illegal resolve operation (src not multisampled), will hang GPU.radv: Illegal resolve operation (src not multisampled), will hang GPU.
    with the "Ultra Quality" that has multisampling enabled. That's from an extra check radv added to avoid GPU hangs for buggy applications and instead just print a warning and make the app stop working: https://cgit.freedesktop.org/mesa/mesa/commit/?id=36a1b61321561634c6b243cf876c347fef73dfa4
    With multisampling disabled, everything works. So I think it's not all fixed up yet.
     
  11. haagch

    haagch

    Joined:
    Nov 9, 2014
    Posts:
    34
    So will it stay? And can you please put this change into the release notes?
     
  12. PJayB

    PJayB

    Unity Technologies

    Joined:
    Apr 24, 2017
    Posts:
    105
    To be clear, it should work on 2017.2. It was just removed from 2017.3.
     
  13. haagch

    haagch

    Joined:
    Nov 9, 2014
    Posts:
    34
    The confusion is that it was enabled in some 5.6 betas, but disabled in 5.6 final and 2017.1 and we only heard it will "probably" be enabled in a future version. We did not hear anything whether it will be definitely enabled in 2017.2. When you say that it had to be disabled again and don't specify you mean 2017.3 it's easy to assume you mean the first time it was disabled for 5.6.

    So from 2017.2 on it should be officially enabled? That took quite some time, but would be awesome to finally have the most important VR Engine support VR on Linux.

    As for the
    that seems like that is still a bug in Unity.
    https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#vkCmdResolveImage says
    but then radv_CmdResolveImage() is called with an image that has src_image->info.samples == 1.
     
  14. mfontoura

    mfontoura

    Joined:
    Oct 12, 2015
    Posts:
    7
    I've thinking of moving my development at home to Linux and use the Linux editor but I didn't because I work with VR in my day job.

    So, is 2017.2 XR features in Linux Editor the same as in Windows?
     
  15. haagch

    haagch

    Joined:
    Nov 9, 2014
    Posts:
    34
    IIRC this check was added to radv months ago because of Unity. Is anyone looking into this?
     
  16. haagch

    haagch

    Joined:
    Nov 9, 2014
    Posts:
    34
  17. haagch

    haagch

    Joined:
    Nov 9, 2014
    Posts:
    34
    I've managed to make a linux build of the Final Audition project on Unity 2017.3.0f1. https://haagch.frickel.club/files/FinalAudition-2017.3.0f1.tar.xz

    And at least the first two scenes work. Then radv runs into some trouble but I don't know if it's unity's fault or just a driver bug.

    Anyway, where the SteamVR demo scene crashed, a real application works so that's nice.
     
  18. Kaare

    Kaare

    Joined:
    Jan 5, 2014
    Posts:
    12
    Very nice. I think I got to see three scenes using Nvidia 1080 before it crashed.
    Horrible performance, though. Was this build with Vulkan? (I guess it had to be?)
     
  19. haagch

    haagch

    Joined:
    Nov 9, 2014
    Posts:
    34
    Yes, it's using the vulkan renderer by default. Performance is good on my RX 480 on the lowest graphics quality, on medium it's already a bit laggy...
    https://github.com/bonzajplc/FinalAudition is the project btw, it's open source.
     
  20. Kaare

    Kaare

    Joined:
    Jan 5, 2014
    Posts:
    12
    I tried building it with 2017.3.0p2, but couldn't (got a lot of errors). I didn't have a lot of time to test, though, so it might have been something I did wrong.
     
  21. haagch

    haagch

    Joined:
    Nov 9, 2014
    Posts:
    34
    With 2017.3.0p2 I just tried building the just open sourced sound stage vr https://github.com/googlearchive/soundstagevr

    https://haagch.frickel.club/files/soundstage-2017.3.0p2.tar.xz

    The gui seems to completely work, only loading examples doesn't do anything and most instruments don't make a sound. I think unity 2017.3+ is actually in decent shape for SteamVR on linux by now.

    Edit: Fixed it, wrote a cmake file to build a native plugin, made the examples directory lowercase. Also you have to manually copy the example directories to the build dir.

    Assets/Scripts/DesktopScripts/FileBrowserControl.cs is using a win32 filebrowser, so if anyone wants to fix it, it will probably fully be working.
    Current status is at https://github.com/ChristophHaag/soundstagevr
     
    Last edited: Jan 21, 2018
  22. haagch

    haagch

    Joined:
    Nov 9, 2014
    Posts:
    34
    A major remaining problem is that the VR preview in the editor only works once. The second time you press play, Unity Editor simply becomes unresponsive and you have to kill and restart it.

    So building something for linux that already works is okay, but if you need to make changes and test them a couple of times, it sucks a lot.