/ Forums
Applications are now open to attend this year's Oculus Connect. Join us October 11–12 and be first in line for an inside look at what’s new and next for VR.

New To The Forum? Click Here To Read The How To Guide. -- Developers Click Here.

Lets make a SDK 0.4 Linux nagging thread!

ElectricMucusElectricMucus Posts: 378
edited July 2015 in PC Development
Since there is no official response as to the status of Linux & OSX I am creating a thread.

I think that cross platform developers shouldn't be treated as second-class citizen. Perhaps this is of no concern and the SDK is on it's way as we are posting, but I'd like to make sure we aren't over looked! ;)
The new way of treating the rift as a specialized device using the windows runtime & driver might complicate things, or not. But before there is further speculation it would be really, really nice if some oculus rep gives us a short heads up. :)


update: thanks for the OSX release, how long until we've got Linux?
«13456789

Comments

  • jhericojherico Posts: 1,419
    Nexus 6
    edited July 2014
    Wouldn't it be simpler to make a Linux & OSX compatible SDK ourselves?

    Personally I'd just be happy if Oculus would QA the GL distortion rendering code before releasing an SDK, instead of letting the community do it for them.

    Sorry, I'm a bit irritable right now.
    Brad Davis - Developer for High Fidelity
    Co-author of Oculus Rift in Action

  • Yes, even a simplified version where the Rift is still a normal screen would be sufficient for a start. Sadly, I have some applications that can't be ported to Windows :-(
  • YbalridYbalrid Posts: 244
    Art3mis
    I mostly work under Linux.

    Each new "major" release of the SDK, there is a Windows only beta, then the Os X and Linux version come shortly after.

    Since I haven't my DK2 yet (I'm probably on the 2nd batch *finger crossed*) I'm not really impatient to get the Linux 0.4 SDK yet... :roll:

    I don't know well Os X, but on Linux, X (graphical server) is a very old system that wasn't designed for multiscreen applications. Sometimes it's capricious.

    I'm glad to wait the developers get something that works properly before shipping it. I'm realy looking forward the "new way" of displaying on the rift under Linux. It's one of the software features I was waiting the most :)
    CV1+Touch; Running on GTX980 - 4770K - 32GB DDR3

    I'm writing a C++ open-sourcre game engine for the Rift http://annwvyn.org/ - https://github.com/Ybalrid/Annwvyn
    For now it's only used for my student projects at my engineering school http://en.esiea.fr/
  • My order went to processing last night but the news of no linux version has tempered my enthousiasm a little... I only use linux so I'll have to wait for the linux SDK :(
  • jhericojherico Posts: 1,419
    Nexus 6
    Ybalrid wrote:
    I'm glad to wait the developers get something that works properly before shipping it. I'm realy looking forward the "new way" of displaying on the rift under Linux. It's one of the software features I was waiting the most :)

    You're quite the optimist. I'm personally doubting if they'll go as far as supporting the 'non-desktop' display functionality in Linux. Up until 0.3.x they were still relying on Xinerama for screen manipulation, and investing in Linux development isn't likely to get them that much return on their investment. I think it's more likely that we'll see a linux runtime that supports the sensor functionality, but that the rendering to the Rift without having it as an active display won't be in the Linux release feature set.
    Brad Davis - Developer for High Fidelity
    Co-author of Oculus Rift in Action

  • jherico wrote:
    Ybalrid wrote:
    I'm glad to wait the developers get something that works properly before shipping it. I'm realy looking forward the "new way" of displaying on the rift under Linux. It's one of the software features I was waiting the most :)

    You're quite the optimist. I'm personally doubting if they'll go as far as supporting the 'non-desktop' display functionality in Linux. Up until 0.3.x they were still relying on Xinerama for screen manipulation, and investing in Linux development isn't likely to get them that much return on their investment. I think it's more likely that we'll see a linux runtime that supports the sensor functionality, but that the rendering to the Rift without having it as an active display won't be in the Linux release feature set.

    I think you're right. Although, I would actually welcome a simpler Linux SDK!

    All I really want from the SDK is easy access to the sensor data. Functions which help with stereo rendering, distortion, time-warp etc. are also very nice to have. But getting involved with actually piping the display to the Rift's display etc.? That's going to be very difficult to make truly portable, and maybe beyond what I personally think the SDK should try and do.
  • kokonutkokonut Posts: 27
    Lawnmower Man (or Woman)
    Although I use Linux at work, I'm too well versed in X.org, but I thought that Xinerama is obsolete (according to Wikipedia) and that xrandr was the way to go? From my limited experience, xrandr seems to provide better information (like which monitor is the "primary" and other info such as being how to knowing bounds of the monitor to center).

    I'm curious as the actual latency of the DK2 on Windows compared to Linux. Is the direct access mode only necessary because of Window's DWM possibly causing an extra frame of latency that there is no clear way to turn off? Like I know in Windows 8 you can't disable the compositor anymore and need hardware fullscreen, or direct X flag, or vendor specific OpenGL flags.

    I'm hoping in the Linux that this is not the case and that a normal window is as fast as it can be.

    But then again, I wonder what will have to happen when Wayland or Mir starts appearing in a few years.
  • YbalridYbalrid Posts: 244
    Art3mis
    I don't realy know how X.org works realy... So I don't know how it can be done. I'm just saying it will be nice to have.

    For the interest, I think if the Rift can works under linux, it means that you can do VR on "Steambox" running Steam OS. It's still an interesting thing for Oculus.
    kokonut wrote:
    Although I use Linux at work, I'm too well versed in X.org, but I thought that Xinerama is obsolete (according to Wikipedia) and that xrandr was the way to go? From my limited experience, xrandr seems to provide better information (like which monitor is the "primary" and other info such as being how to knowing bounds of the monitor to center).

    I think the whole X server stuff is somewhat obsolete. But it works and we have nothing better for now. I don't folow the developement of Wayland, but if I remember, the idea was to have a more modern and simple graphical server.

    Anyway, the only thing we can do now is to wait to get a 0.4.x version running under Linux...

    I hope it will be out before I receive my DK2. I don't mind booting to windows sometimes, but I realy prefer my ArchLinux/KDE environement ^^"
    CV1+Touch; Running on GTX980 - 4770K - 32GB DDR3

    I'm writing a C++ open-sourcre game engine for the Rift http://annwvyn.org/ - https://github.com/Ybalrid/Annwvyn
    For now it's only used for my student projects at my engineering school http://en.esiea.fr/
  • mungewellmungewell Posts: 51
    I don't know that there's been 'no official response', Cyber has said 'in-progress' but no timeline given.

    We all know that Oculus is resource limited (in meat-space), and Windows will be their main platform so that's were the effort is being put. That said, I'd _really_ welcome the Linux SDK and was disappointed it was not available at the same time as Windows.

    Solution? Put what you (Oculus) have up on Git-Hub, it'll be fixed over the weekend.... the terms of the license mean that it's going to be put up there anyhow, might as well make it your own repo.
    Simon.
  • mungewellmungewell Posts: 51
    kokonut wrote:
    but I thought that Xinerama is obsolete (according to Wikipedia) and that xrandr was the way to go?

    Brad has already fixed this in his github/copy of the 0.3.2 SDK, Xinerama is just required for one of the demos I believe.
    Simon
  • bluenotebluenote Posts: 131
    jherico wrote:
    Ybalrid wrote:
    I'm glad to wait the developers get something that works properly before shipping it. I'm realy looking forward the "new way" of displaying on the rift under Linux. It's one of the software features I was waiting the most :)

    You're quite the optimist. I'm personally doubting if they'll go as far as supporting the 'non-desktop' display functionality in Linux.

    I found something interesting on page 29 in the current developer guide:
    In addition to setting up rendering, staring with Oculus SDK 0.4.0 Windows users will need to call
    ovrHmd_AttachToWindow to direct its swap-chain output to the HMD through the Oculus display
    driver. This is easily done with once call:

    [...]

    Going forward, we plan to introduce direct rendering support on all platforms.

    To facilitate cross platform projects it would be very nice to have a simple/consistent way to setup the display across different systems. Especially when you are already in a cross platform environment like the JVM. I had a lot of trouble with display setup using lwjgl since it just lacks the necessary platform-specific functionality like controlling on which display you want to run fullscreen etc. So imho it would be great to encapsulate all these things in the SDK.

    Overall I understand the OP's disappointment about the low priority of Linux support. But since there was a lot of pressure to release an updated SDK to get all these DK2s shipped postponing a Linux release makes sense to me. But just this time :).
  • jhericojherico Posts: 1,419
    Nexus 6
    So far I'm pretty much unconvinced that the Direct HMD mechanism is worth the extra complexity and fragility it brings. People are reporting that their computers are becoming unusable after installing the runtime, which I can only guess is related to the Direct HMD functionality and not the sensor sharing or optical tracking code. It doesn't appear to run properly with OpenGL in my tests.

    I think there are easier ways of resolving the 'extended desktop metaphor to a non-standard display' problem without these problems.
    Brad Davis - Developer for High Fidelity
    Co-author of Oculus Rift in Action

  • FredzFredz Posts: 545
    Lawnmower Man (or Woman)
    Ybalrid wrote:
    I don't know well Os X, but on Linux, X (graphical server) is a very old system that wasn't designed for multiscreen applications. Sometimes it's capricious.
    Hem, the X Window System was specifically designed to support multiple monitors, that was its primary use when it was released in the 80's (one computer server, multiple terminals). And this was way before MS Windows or OS X even existed.

    The problem with multiple monitors today is not X Window, it's the NVIDIA proprietary driver which doesn't play nice with standards (uncomplete XRandR support, recently broken Xinerama support, pushing proprietary TwinView instead).
  • How is direct framebuffer access supposed to work in practice anyway?

    Yeah there is Wayland but proprietary AMD drivers don't support it and it's not even on the roadmap. There are working FOSS drivers for Radeon cards but I tried them and they aren't even mature enough to run webgl shader demos properly. And their performance is so bad that you'd have low-end card performance with high end cards.
    Nvidia promised eventual support, but that's not enough to base short term operation of the DK2 on it.

    So how is the DK2 supposed to run in the mean time?
  • https://support.oculus.com/hc/en-us/articles/201835987-Oculus-Rift-Development-Kit-2-FAQ

    Q: Can I use the Oculus Rift Development Kit 2 on my gaming console?

    A: No. The Oculus Rift Development Kit 2 only works on computer systems running Windows, Mac OS, or Linux.

    :x
  • cyberealitycybereality Posts: 21,760 Oculus Staff
    Yes, other platforms are in the works. It was just important to get the SDK out for the DK2 launch, which is why Windows came out first. However, we have not forgotten about Mac and Linux. Unfortunately I don't have an ETA to when they will be ready.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i
    PowerColor RX 480 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
  • Yes, other platforms are in the works. It was just important to get the SDK out for the DK2 launch, which is why Windows came out first. However, we have not forgotten about Mac and Linux. Unfortunately I don't have an ETA to when they will be ready.

    Thanks, that is at least something. I was really hoping I can use the SDK with Linux when I get my DK2.
    Would you say if the timing of SDK support is done so by design, did you plan to release the Mac and Linux SDKs later?

    That should have been better communicated. I can deal with Windows, I just should have known I'd have to.
  • alexfryalexfry Posts: 40
    Lawnmower Man (or Woman)
    Yes, other platforms are in the works. It was just important to get the SDK out for the DK2 launch, which is why Windows came out first. However, we have not forgotten about Mac and Linux. Unfortunately I don't have an ETA to when they will be ready.

    Well..... If it's not out for Mac and Linux then it isn't really out is it.
    A DK2 that only supports Windows is a brick to me.

    No ETA is pretty poor if you ask me.
  • WatercycleWatercycle Posts: 20
    Dual booting is always an option.
  • jhericojherico Posts: 1,419
    Nexus 6
    alexfry wrote:
    Yes, other platforms are in the works. It was just important to get the SDK out for the DK2 launch, which is why Windows came out first. However, we have not forgotten about Mac and Linux. Unfortunately I don't have an ETA to when they will be ready.

    Well..... If it's not out for Mac and Linux then it isn't really out is it.
    A DK2 that only supports Windows is a brick to me.

    You should still be able to use 0.3.x on Mac, but without positional tracking. It's not ideal, but neither is it useless for development.
    Brad Davis - Developer for High Fidelity
    Co-author of Oculus Rift in Action

  • alexfryalexfry Posts: 40
    Lawnmower Man (or Woman)
    That's a fair point.
    For what I'm using it for, the positional tracking isn't that important.
  • JHibbinsJHibbins Posts: 57
    Lawnmower Man (or Woman)
    It's makes me sad that OSX does not have exactly the same release timeframe as Windows, but at the key point of the new SDK 2, it's very upsetting, please could you update us as to how far it is behind
    Windlands and Crystal Rift
    Twitter:@psytecgames
    Home:http://www.psytecgames.com/
  • JHibbins wrote:
    It's makes me sad that OSX does not have exactly the same release timeframe as Windows, but at the key point of the new SDK 2, it's very upsetting, please could you update us as to how far it is behind

    Yes the "not even an ETA yet" thing sucks.
  • JHibbinsJHibbins Posts: 57
    Lawnmower Man (or Woman)
    So I have my SKD 2!!! YAY!!!

    I'ts a brick on my OSX, even when I managed to get it running as an external monitor (and worked out how to rotate the screen) the eye lenses don't match the screen at all, I imported the Unity Pro Oculus 0.4 and it won't run, which is probably due to drivers!

    I am lucky enough to have a windows 8.1 bootcamp, so I switched (I can't code but hey may as well try a few demos), I ran the tuscany (light with no anime) demo, and NOTHING else will work, I can't even get legacy mode working.

    It's sad that with all the wait, I can't even use it on OSX.
    Windlands and Crystal Rift
    Twitter:@psytecgames
    Home:http://www.psytecgames.com/
  • jhericojherico Posts: 1,419
    Nexus 6
    JHibbins wrote:
    It's makes me sad that OSX does not have exactly the same release timeframe as Windows, but at the key point of the new SDK 2, it's very upsetting, please could you update us as to how far it is behind

    Yes the "not even an ETA yet" thing sucks.

    No, what sucks is that they've withheld the source code for the runtime. Even if they'd only released the windows source code for the runtime along with the SDK, I'm sure someone would have hacked something together by now to allow OSX and Linux developers to work.
    Brad Davis - Developer for High Fidelity
    Co-author of Oculus Rift in Action

  • I haven't thought about it that way, and you are right. I also find the lack of runtime sources unacceptable.
    What's the reason for that? If they are bound by some 3rd party agreement that they can't release the sources they shouldn't have done that in the first place.
    And if they don't release it because they don't want developers to have that much control any more even worse. :cry:

    I get the strange suspicion that we might face a "boiling a frog" thing where more and more functionality is moved into a non-accessible non-modifiable portion of the SDK. Lets hope it doesn't come to that.
    Meanwhile OVR is awfully quiet about these issues. :?
  • PathogenDavidPathogenDavid Posts: 87
    Lawnmower Man (or Woman)
    jherico wrote:
    No, what sucks is that they've withheld the source code for the runtime.

    I agree with this, I really hope we see the source code for the Oculus service and the drivers released soon. They've effectively made a large part of the SDK closed source now by offloading tasks into the service.
  • JHibbinsJHibbins Posts: 57
    Lawnmower Man (or Woman)
    Yeah, maybe open source the drivers, we are a bunch of Developers after all!
    Windlands and Crystal Rift
    Twitter:@psytecgames
    Home:http://www.psytecgames.com/
  • cyberealitycybereality Posts: 21,760 Oculus Staff
    OSX is actually fairly close to being ready. Linux may be a little further out. Sorry I can't be more specific.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i
    PowerColor RX 480 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
Sign In or Register to comment.