W3C HTML5
This website relies solely on user submissions.
Reviews, speculations, how-tos; anything to share?
Follow us:
#vronlinux @Freenode
Steam Group

To comment or submit articles, register and login.

Speculation: Two Interesting VRDC Sessions on February 28

(schedule.gdconf.com)
Posted by Norbert, 3 months agoTue, 7 Feb 2017, 20:54 (0 comments)
Three weeks from now, on February 28, the Virtual Reality Developers Conference (VRDC) at GDC will host several interesting sessions. Two stand out as being of particular relevance in the context of using VR on Linux.

The first is Refocusing on VR Innovation: Can Standards Simplify Cross-Platform Virtual Reality Development? (schedule link) Even if "cross-platform" exclusively refers to hardware, I cannot imagine Linux won't be a topic of discussion, for various reasons. The session is presented by The Khronos Group. Speakers are Joe Ludwig (Valve), Yuval Boger (OSVR co-founder) and others. According to the session summary it will be an "interactive session", so attendees can tell tales and ask questions. Maybe we'll get lucky and someone asks the Oculus software engineer on the panel about Linux. Face-wink

The second is When Vulkan was One: Looking Back, Looking Ahead (schedule link) With Alen Ladavac (Croteam), Karl Schultz (LunarG) and others. Croteam has been, and still is, a frontrunner when it comes to supporting Linux, and LunarG has been working with/for Valve to improve the graphics driver stack on Linux. Surely, the "looking ahead" portion of this session will include statements about using VR on Linux.

Report: OpenMW Fork With VR Through OpenHMD

(github.com)
Posted by Norbert, 3 months agoTue, 7 Feb 2017, 16:20 (0 comments)
Last weekend, the annual FOSDEM event took place in Belgium. Joey Ferwerda (@JoeyFerwerda), one of the core OpenHMD developers, was present. In his write-up of the conference he writes about meeting fellow community members and exchanging knowledge. He also writes about progress made.

This progress includes his fork of OpenMW, the FOSS (engine) reimplementation of The Elder Scrolls III: Morrowind, that adds basic VR support:

Joey FerwerdaSo, I love me some elder scrolls goodness and the OpenMW project is a great initiative. So I took it on me to implement rudimentary OpenHMD support (currently in my fork) which works fine, but is still pretty basic. There are some problems with the stereo mode in OpenSceneGraph missing very basic but essential features, like setting projection and view matrices per camera. I hope to prepare a patch soon for OSG to solve these issues, implement the lens correction shader and do some fixes to the UI and presentation that makes it more suitable for VR.


OpenHMD now also has initial support for reading the Rift CV1 camera, as can be seen in this video. This uses libuvc and doesn't require a kernel patch. Plus, OpenHMD has initial OSVR HDK2 support. The current implementation is "a bit of a hack and 'close enough'". Nice to read that OpenHMD keeps moving forward.

How-To: CNLohr Continues Reverse Engineering Vive

(youtube.com)
Posted by Norbert, 3 months agoMon, 6 Feb 2017, 21:38 (0 comments)
Early December 2016 we reported on CNLohr's efforts to reverse engineer the Vive. In a new live-stream, of which a recording is available at YouTube, CNLohr gives a recap of what's been done, and then he starts looking into tracking. "Finding intersections and the like!" His libsurvive is still being updated frequently. If you have a couple of hours, check out the video.

Report: Developer Showcases Progress Vulkan Support UE4 Linux

(youtube.com)
Posted by Norbert, 3 months agoSat, 4 Feb 2017, 21:50 (0 comments)
Vulkan is an API that will help deliver fast VR on Linux. Support for it in Unreal Engine 4 (UE4) is getting more and more solid. Developer yaakuro, who is working on the OpenVR SDK for UE4 on Linux, has published a YouTube video that showcases the progress. "Now works with SM4." (Shader Model 4)

Report: Croteam Ready with Serious Sam VR When SteamVR for Linux Arrives

(vronlinux.com)
Posted by Norbert, 3 months agoTue, 31 Jan 2017, 18:21 (0 comments)
A couple of weeks ago, Serious Sam VR depots for Linux showed up on SteamDB.
I've contacted Croteam to ask how the Linux port is coming along.
Alen Ladavac (@alenl), Croteam's chief technology officer (CTO), replied to my questions.

About the port:

Alen LadavacWe have some tests that work, and that we will have a build ready as soon as SteamVR is publicly available. I have to put up front a disclaimer that performance will be dependent on Vulkan performance, which may depend on hardware, driver and distribution used. You can get an estimate of how that works on a particular system if you check our Vulkan beta builds for Linux in The Talos Principle.


About using VR on Linux:

Alen LadavacPersonally, I'm excited to see that the progress on that front is coming up nicely, since I see Linux+Vulkan+VR as a great combination for living-room gaming in the (hopefully near) future.


OpenVR SDK 1.0.6 was released today.
It includes changes related to OS X IOSurfaces.
I asked Ladavac about VR on OS X.

Alen LadavacNot sure. Performance is a huge problem on OSX even without VR - mostly due to hardware configurations used. But if there will be changes in that respect, it's of course doable.


Valve's Joe Ludwig said about SteamVR, in mid-October, during the Steam Dev Days, that they "hope to get support for [OS X and Linux] into a beta in the next few months".
January is about to end, so Vive owners might be able to try Serious Sam VR on Linux soon.

Report: Red Hat Dev Uses Vulkan on Linux for Vive and for DOOM via Wine

(youtube.com)
Posted by Norbert, 3 months and 1 day agoWed, 25 Jan 2017, 12:57 (0 comments)
Last week, on Thursday 19 January, Red Hat developer David Airlie (LiveJournal, GitHub) gave a talk at linux.conf.au 2017, about "The Vulkan Graphics API - what it means for Linux". His talk was roughly about what Vulkan is, he compared Vulkan and OpenGL, and discussed the status of the Linux Vulkan drivers.

Two excerpts from the recording. One at 39:07:

David AirlieSo, what can I run on this? As I said, Talos Principle, Dota 2, DOOM [via Wine]. That's pretty much it. And a few demos. But there's more games. Game engines that are moving, Unity 3D is out, it - it's got - we run its demos pretty well. And you can also soon, hopefully, cross my fingers, I don't have any dates for this, but... we'll be running this. [Shows Vive.] Because I got one. [Audience laughs.] Valve were kind enough to ship me one. I have been advising on what we need to get done for this to work. [...] One of the guys from Valve built his system using my driver, [...]


Yes, DOOM, the 2016 video game. Via Wine, with RADV (source, source), which was merged into mainline Mesa last October.

One at 40:25:

David AirlieSteamVR stuff is a Vulkan based rendering. So, this is what will be happening in the future. [...] Vulkan needs some extensions, it needs some work to get this working, but we have implemented it. Last week, apparently, they have the Dota 2 viewer maybe running inside.


The "Dota 2 viewer" is probably the Dota VR Hub. On the one hand, this sounds promising. On the other, if Valve got this to work on Linux "last week", we may still be many months away from seeing general SteamVR support for Linux.

Report: SteamDB Linux Depots for Valve VR and Serious Sam VR Games

(twitter.com)
Posted by Norbert, 3 months and 2 weeks agoFri, 13 Jan 2017, 22:07 (0 comments)
Twitter user D2KX_ has spotted something interesting:

D2KX_@gamingonlinux @michaellarabel @rustedLuke @VRonLinux but the SteamDB depots for Valve's Destination is from today and Serious Sam yesterday


Two day ago, Serious Sam VR: The First Encounter added a Linux depot.
And two hours ago, Valve's Destinations added a Linux depot.
A depot "SSVRTFE_Common_LinuxVR", sounds good!

Closer now...

Report: Developer Uses Google Daydream Controller on Linux

(medium.com)
Posted by Norbert, 4 months agoWed, 11 Jan 2017, 12:23 (0 comments)
Google Daydream, a VR platform for Android version 7.1 and newer, includes software and hardware specifications. On the hardware side, the wireless controller binds only with some smartphones running Google's mobile operating system. However, Matteo Pisani (xonoxitron), CTO and co-founder of Remoria VR, has extended the controller's compatibility to iOS (in 2016) and now also Linux.

On publishing platform Medium, Pisani explains how he managed to get the controller to work on Linux.

Matteo PisaniIn the last weeks I continued to develop my hack, on a mission to liberate the Google Daydream controller from its chains. My goal was now to extend its compatibility from iOS to other platforms. [...] Having JS in mind, I came across noble, an amazing Node.js module that facilitates the implementation of BLE (Bluetooth Low Energy) peripherals. [...] I started to implement the required code to make Google Daydream controller talk with Node.js.


The video below shows Pisani using the Google Daydream controller with Ubuntu 14.04 LTS.

Site News: Freenode IRC Channel #vronlinux

(vronlinux.com)
Posted by Norbert, 4 months agoWed, 11 Jan 2017, 10:58 (0 comments)
It might be useful and convivial ("gezellig") to have an Internet Relay Chat (IRC) channel to facilitate communication about using VR on Linux. If you ever feel chatty, you are welcome to join us in the #vronlinux channel on the Freenode (irc.freenode.net) network. Some IRC clients that should help you get there are HexChat, ircII, Irssi, Konversation, Quassel and WeeChat. Or, use Freenode's web chat.

As for the code of conduct,
  • be patient with and civil towards others,
  • don't distribute pirated software, and
  • try to keep your language in check.

Interview: yaakuro, Developer Working on OpenVR SDK for UE4 Linux

(vronlinux.com)
Posted by Norbert, 4 months agoWed, 11 Jan 2017, 09:55 (0 comments)
He is one of the community developers for Unreal Engine 4 on GNU/Linux (UE4 Linux). Cengiz Terzibas, better known (on the web) as "yaakuro" (GitHub, Twitter). Late 2016 he published an interesting YouTube video related to the OpenVR SDK for UE4 Linux. So interesting that some of us wanted to know more about him and his work. He was kind enough to answer my questions about his UE4 Linux work, VR efforts, and related topics. ("GNUX" in his answers is short for GNU/Linux.)

Q: Where were you born, where are you currently living, and what is your professional background?

yaakuroI was born in İstanbul, Türkiye. I live in Germany and Japan; mainly Germany. I studied Physics in Germany, where I got my MPhys. I was working at the Max Planck Institute in Germany, then went to Japan. I've worked in Brain-Machine Interface Research and Robotics for a while.


Q: What is the origin and meaning of your nick, "yaakuro"?

yaakuroThat is tricky. Actually, I made that name up. How did I come up with it? Because of the sound of it. Sounds strange, right? Face-grin And because it sounds a bit Japanese. My wife is Japanese, you know. Other than that, really no meaning.


Q: What kind of hardware do you use?

yaakuroI would assume I did the same as most of us: put together my own. I have an Intel i7-4770K CPU @3.50GHz, 16GB RAM, Nvidia 750Ti 2GB, 128 GB SSD for my GNUX OS (Xubuntu 16.04), 256 GB SSD for my /home (to have faster build times; building might overuse my SSD but I calculated that is worth it), 1 TB normal hard drive. Plus a MacBook Pro, 8GB. So, nothing big here.


Q: What kind of software do you use?

yaakuroOS as mentioned Xubuntu 16.04. A long time ago I was playing with other distros, but I stopped because I don't have the time to play around anymore, and for my development I need something more solid. Yes, Ubuntu is solid for me. Face-grin When I need to use another OS for my programming, I am using LXC. My editor for fast editing is just gedit or Atom, but for programming I really prefer CodeLite. You might be suprised by that right? I think the developer behind CodeLite is quite nice and open to suggestions, and CodeLite is cross-platform. So, when I have to program something on Windows or Mac OS - I have a MacBook Pro too - I use CodeLite. For software source management I use Git, command-line.


Q: When did you first start using GNU/Linux, and why?

yaakuroMmmm, good question. I don't remember anymore. Face-grin Quite a long time ago, maybe since 1998. One reason is: I use it because of programming. I think GNUX provides a really nice programming environment. On Mac OS, usually you have to hack around things, and on Windows you have to install yourself to death until you can compile a simple line of C++ code or manage your sources. Perhaps more importantly, I love the philosophy behind of all the Free Software. It is nice that people help each other to make a better environment for all of us. I contributed to some projects and have my own cross-platform C++ framework XdevLSDK, which is on GitHub.


Q: What are your core skills as a developer?

yaakuroI love developing cross-platform stuff. Mainly in C++ and OpenGL, and now Vulkan. For my previous jobs, I was working on Brain Research and Robotics, so I was allowed to use my own platform to develop the stuff.


Q: What kind of FOSS have you written or contributed to?

yaakuroI contributed to CodeLite, as mentioned previously. But mainly my own libraries: XdevLSDK, tinymath, Taimaa and Singularity (a small engine that uses XdevLSDK to implement and test game engine related stuff). Also, OpenVR. Mainly I've tried to support - even though it sounds strange - UE4 on GNUX. I thought we need it on Linux; it might help us later, to get more games and attention. Furthermore, related to UE4, I helped with SDL: a couple of things got merged into main SDL2.


Q: What are your main contributions to Unreal Engine 4?

yaakuroMmmm, that is difficult. Here [Requires a free Epic Games account. -Ed.] you can see the list. (The following patches were adapting the UE4 source path to make it work on GNUX. I didn't fully implement them. You can see them via the link above when you click the separate items.) Adapt the VulkanRHI path on GNUX. (Working again on this. You might soon see a new video on my YouTube channel.) Make UE4 work with Mesa drivers. (At least back then. Face-grin I didn't test for a while.) Adapt Android packaging support on GNUX. Adapt HTML5 packing support on GNUX. Adapt CEF on GNUX. Adapt tons of SDL2 UE4 Slate/UI Window Manager handling stuff; mainly the UI behavior with different window managers. That was pain, I tell you. Face-plain (For the following I did everything.) Native CodeLite project support for the Unreal Engine 4.


Q: How have Epic Games and other companies reacted to your Linux-related contributions and pull requests?

yaakuroEpic Games reacted quite good. Most got merged into main. Other companies... I don't know. Didn't get any feedback from them, neither job offers. Face-grin


Q: You have a Patreon account. Have you asked companies for financial support, and was there a specific reason you chose Patreon?

yaakuroNot really asked companies. I am a shy person, you know. Face-grin Sometimes I do official things for Epic, which is not always GNUX related. Patreon is a nice platform. It helps me to survive a bit. I am really more thankful to the patrons for supporting me. This way, I can focus more on GNUX related issues on UE4, and we might get somewhere with it as Epic Games merges my stuff from time to time.


Q: You appear to develop without an HTC Vive. Did you ask Valve for one?

yaakuroActually, a Valve employee asked me if I would be interested in the Vive hardware to do some development related to the UE4 on GNUX. This was before Christmas. So, actually I "got" one, but I didn't order yet, because I went to Japan for a while. What I did is to add and fix stuff so that UE4 is running the SteamVR plugin on GNUX. When I go back to Germany I will get the Vive and can finish the stuff for UE4 on GNUX.


Q: What is it like to develop without an HTC Vive, with the SteamVR NULL device, does it complicate things?

yaakuroNot complicated, because I got help with setting up the NULL device. With that I could develop quite a lot to get UE4 and the SteamVR stuff to run. Of course, I can't test everything, which I will do when I get back to Germany. Or, if I stay longer in Japan, maybe I can ask for the hardware to be delivered to Japan.


Q: Does Valve support you in other ways, do you work for/with them?

yaakuroYes, they supported me a lot. (Provide me the Vive hardware, beta SteamVR keys and maybe a GFX card to test things.) We are talking back and forth about problems and solutions. I was working a bit on the SteamVR SDK on GitHub, and my changes have already been merged internally. They will be available to the public. What I did is to fix a small crash of the SteamVR SDK (= OpenVR) when using it with UE4, and made it so that the library can be compiled using Clang plus a custom libc++ which UE4 is using. (Long story. Face-grin)


Q: You appear to be using the SteamVR compositor. How did you get it to run/render?

yaakuroThe SteamVR compositor is rendering (opening) when you initialize it. What you do in your client application (UE4) is to provide the left and right eye texture id, and then submit it to the system. That will be rendered in the compositor.


Q: So, are you adding the VR Editor to the Linux Unreal Editor?

yaakuroNo, no. It is already in the Unreal Editor. It is just not activated, because the code path for GNUX was missing. The part which was missing is to send the textures' id using the OpenGL renderer to the compositor.


Q: How does your OpenVR differ from the original?

yaakuroI guess I explained it already. UE4 is using Clang with a custom libc++ instead of libstdc++, because of compatibility issues. To be cross-distro, libc++ is better and I think because of the license. What I did is that OpenVR can be compiled using Clang with the custom libc++, plus small fixes.


Q: You appear to be using the SteamVR GUI tool. Did you get a preview release from Valve?

yaakuroYes, to test the environment and to develop the stuff for UE4 on GNUX.


Q: Is this small GUI tool called "vrmonitor"?

yaakuroI think so, but don't quote me on that. Face-grin


Quoted that you think so. Face-wink

Q: What is the state of this software? Is it good to go or barely alpha?

yaakuroI would say it's quite cool. Even though I didn't use the real hardware it runs nicely.


Q: Is it complete, with room setup and all the tools?

yaakuroYes. But I didn't test everything. It wasn't important for me to develop the stuff.


Q: What can you tell me about your Taranome engine?

yaakuroHehe, where did you get that? Face-grin That is my own super small engine, which is using XdevLSDK (on GitHub) and is cross-platform. It runs on GNUX, Mac OS, Windows and Android. It is not online yet, but when I have more time I will make it happen. Nothing serious, really. It is more like playing around with new things. For example, when I was doing the VR stuff I implemented for XdevLSDK a simple VR plugin so that I can use the Vive too. But this is all long story.


Q: Are you using a non-public pre-release graphics driver that includes support for "shared memory extension" functions? If so, did you get this driver from Valve? Is it from Nvidia?

yaakuroI can't say that much here, because I really don't know. I got a key from Valve to test SteamVR and develop the stuff I mentioned already. I think the shared memory extension is for Vulkan. I am not sure if the spec is out yet. No, I use normal Nvidia 375.26 drivers.


Q: Your Unreal Engine work renders with OpenGL. Does this mean the VR compositor has an OpenGL mode?

yaakuroGood question, next question. Face-grin I'm not sure what the compositor does, but when you look into libopenvr, you submit either Direct3D, OpenGL or Vulkan texture ID's. Maybe it's using Vulkan as renderer, but don't quote me on that either.


Q: Anything else of interest for people waiting for more VR on Linux?

yaakuroNot really, but SteamVR might come soon. Face-smile


Again, yaakuro, thank you for all your interesting answers and for the work you are doing.

Feel like supporting yaakuro?
Check out his Patreon page, including his last three posts about OpenVR SDK for UE4 Linux.

« older

» newer