Updating Motorcar

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!!

Here are unofficial instructions to build the Motorcar compositor on your machine.

You must be running archlinux for this to work.

In summary:

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 properly

qtwayland-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

Build motorcar

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.