I have finally had time again to work on Motorcar . For now I put the Oculus SDK update on hold until they get a more stable version out. So my efforts have been working updating motorcar to use QtWayland stable. After this initial go here are some issues I am having.
The example client will crash with a segfault
Running qtcreator -platform wayland executes properly but does not show an application window.
My DK1 is not being detected. Not sure if this is a configuration issue for the usb devices or I broke something in the motorcar code base. The example application that comes with Oculus sdk2.3 displays it does not detect the HMD also but is reading the sensor and moving correctly.
I guessed allot with the new use of wayland surface views and some sort of QtWaylandBufferAttacher requirement. I am sure there is a way better way to have performed this.
Screenshot one of initial progress
Screenshot two of desktop
UPDATE March 6 2015 I now have the clients rendering properly!!
- Screenshot three of clients running and rendering correctly!
Here are unofficial instructions to build the Motorcar compositor on your machine.
You must be running archlinux for this to work.
Save the following PKGBUILD's into directories for their respective names. Build and install qt5 first then qt5-wayland
QT 5.4 modified PKGBUILD, Added lines that enable support for opengl.qt5-opengl modified PKGBUILD
Added lines that enable egl and fixes a line that did not install the headers properlyqtwayland-egl modified PKGBUILD
Clone my fork of Motorcar
git clone https://github.com/thegreatpissant/motorcar.git
Checkout the jaf-notation branch
git checkout jaf-notation
cd motorcar qmake make
Copy the built libs to your /usr/libs dir
\sudo cp ./libs/* /usr/libs
Download the Oculus sdk v2.3 and Sixense SDK
Modify the src/examples/compositors/rift-hydra-compositor/Makefile You must set the variables to point to your sdk locations. Mine have ‘thegreatpissant’ in them, change appropriately.
In src/examples/compositors/rift-hydra-compositor you may build and run the rift and hydra enabled compositor.
Also in src/examples/compositors/simple-compositor you may build and run the bare example compositor
All of my modifications are between comments @@JAF and @@JAF - END That way I could keep track of what the heck I was doing. All of this code is new to me so this helped. The final branch commit will erase these when I'm done.
Automated script - not done yet
I am not a package maintainer for arch if you have suggestions for a better way we are listening. The following script will download and setup the environment that I am using to develop motorcar with. The following layout will be created
projects/motorcar projects/motorcar/packages/qt5-egl projects/motorcar/packages/qtwayland projects/motorcar/src/
It will then checkout the motorcar repo, download the modified PKGBUILD's for qt5-egl and qtwayland from this site.
If you don't want it to do all that you may do it manually or copy and paste the lines of the script.
My ultimate goal would be to have it create and setup a dev environment for all libs and variables needed. That way you can keep your system up to date with arch's rolling release schedule and still have a semi staged base to develop motorcar on. Again if anyone has any ideas let the https://groups.google.com/forum/#!forum/motorcar-devel ">mailing list know.