Friday, May 8, 2015

Notes on Building Hifi with Razer Hydra motion controller in Ubunti Vivid

November 22, 2015 update: It appears that the sixense sdk is automatically downloaded by the current git version therefore there may be no need for the ff. steps to get the hydra working on hifi.

Update source

cd ~/source/hifi/
git pull


Update: May 8 pull of source appears to have resolved crash in interface on startup but it crashes when I log-in to hifi headquarters.

Download and extract Sixense SDK

Download Sixense SDK from http://sixense.com/linuxsdkdownload
Extract the sixenseSDK_linux_OSX.zip file

Install SDK

Correct the source path for the libraries in install.cfg

gedit ~source/sixenseSDK_linux_OSX/install/install.cfg

In lines 45 and 50 delete glibc4.6

from original

#linux_64_debug
linux_64_debug_destination = /usr/local/lib
linux_64_debug_source = ../lib/linux_x64/glibc4.6/debug
linux_64_debug_file = *.*

#linux_64_release
linux_64_release_destination = /usr/local/lib
linux_64_release_source = ../lib/linux_x64/glibc4.6/release
linux_64_release_file = *.*

to correct source path
#linux_64_debug
linux_64_debug_destination = /usr/local/lib
linux_64_debug_source = ../lib/linux_x64/debug
linux_64_debug_file = *.*

#linux_64_release
linux_64_release_destination = /usr/local/lib
linux_64_release_source = ../lib/linux_x64/release
linux_64_release_file = *.*

Make install.py executable
Open a terminal and install
cd ~source/sixenseSDK_linux_OSX/install/
sudo ./install.py

Copy SDK to HiFi interface source folder


cp -R ~/source/sixenseSDK_linux_OSX/* ~/source/hifi/interface/external/sixense/

Clean hifi build

cd ~/source/build/
make clean

Rebuild interface

cmake ../hifi/
make interface


Result:


Tuesday, May 5, 2015

Notes on building HiFi Stack Manager on Ubuntu 15.04

These notes are on building the High Fidelity Stack Manager on Ubuntu Vivid Vervet. The Stack Manager is the GUI to start and stop the HiFi domain-server and assignment-client. It probably have other functions that I'm not aware of.

Please note that I assume that the domain-server, assignment-client and interface had already been built as noted in the updated post http://matangdilis.blogspot.com/2015/05/notes-on-building-high-fidelity-vr.html .

Install dependencies

sudo apt-get install libquazip-qt5-dev libquazip-dev libquazip-headers libquazip-qt5-1 libquazip1 libquazip-doc libqt5widgets5 libqt5gui5 libqt5svg5 libqt5svg5-dev libqt5core5a libqt5network5 libqt5webkit5-dev libqt5webkit5 zlib1g-dev

Download source

mkdir ~/source
cd ~/source
git clone https://github.com/highfidelity/StackManagerQt.git

Type the path of the hifi source directory in /source/StackManagerQt/src/GlobalData.cpp

gedit /source/StackManagerQt/src/GlobalData.cpp

Type in the path of the hifi build directory in line 71

// allow user to override path to binaries so that they can run their own builds
    _hifiBuildDirectory = "/home/myhome/source/compile/";

    _domainServerBaseUrl = "http://localhost:40100";

Build StackManager

mkdir build-sm
cd build-sm
cmake ../StackManagerQt/
make StackManager

StackManager expects the interface and stack manager (domain server & assignment-client) in /home/dilis/.local/share/High Fidelity/
move domain server & assignment-client to /home/dilis/.local/share/High Fidelity/

cp ~/source/build/domain-server/domain-server ~/.local/share/'High Fidelity'/'Stack Manager'/
cp -R ~/source/hifi/domain-server/resources/web ~/.local/share/'High Fidelity'/'Stack Manager'/
cp -R ~/source/build/domain-server/resources/describe-settings.json ~/.local/share/'High Fidelity'/'Stack Manager'/
cp ~/source/build/assignment-client/assignment-client ~/.local/share/'High Fidelity'/'Stack Manager'/
cp ~/source/build/interface/interface ~/.local/share/'High Fidelity'/Interface/
cp -R ~/source/build/interface/resources ~/.local/share/'High Fidelity'/Interface/

Run StackManager

cd ~/source/build-sm/
./StackManager

(the computer needs to be online in first run because it downloads resources.zip and requirements.zip from the hifi public repo)

Start Server

 
Run assignment






Get content set
(There must be something wrong with what I did, or I'm missing some steps because the content did not appear in the interface. Maybe I need to configure the Stack Manager first.)






Run Interface

Run Interface from ~/.local/share/'High Fidelity'/Interface/
(one could create a link instead in the Ubuntu menu)

Open a new terminal
cd ~/.local/share/'High Fidelity'/Interface/
./interface

(note: I had to start the interface four times because I was still getting the crash errors I noted before in http://matangdilis.blogspot.com/2015/05/notes-on-building-high-fidelity-vr.html)

Click on File>Show address bar
Enter localhost
Then click on the right arrow to connect to the Stack Manager.


Monday, May 4, 2015

Notes on High Fidelity on Ubuntu Vivid: First successful run of the interface.

I've finally been able to run the interface without crashing. I just updated the source,

cd ~/source/hifi
git pull


then recompiled the interface.

I ran the domain-server and assignment-client first before running the interface and here is the first result:


I still have no idea what the heck I'm doing but will hopefully be able to start creating content rather than messing with compile issues.


Saturday, May 2, 2015

Notes on building High Fidelity VR Platform on Ubuntu 15.04

I'm trying to use High Fidelity for a LAN based sim project but
I could not find updated build instructions for High Fidelity (https://highfidelity.com/) so I'm documenting my notes on what worked for me.

This is for Ubuntu Vivid Vervet because it has QT 5.4.1 that is needed by the recent High Fidelity.

Note that I've already built  Rift DK2'S Oculus SDK for Linux version 0.5.0.1-beta (https://developer.oculus.com/downloads/) but I have not tried it yet with the HiFi interface while writing these notes.

BTW. I'm using UbuntuStudio.

1. Install dependencies

I just mashed up a couple of online references so I really don't know if all the dependency packages listed are needed. The ones highlighted are what I found needed but not in the existing docs while building from git:

sudo apt-get install git build-essential cmake qt5-default qtscript5-dev libssl-dev qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5svg5-dev libqt5webkit5-dev libsdl2-dev libasound2 libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack-jackd2-dev libxrandr-dev libqt5xmlpatterns5-dev libqt5xmlpatterns5 libqt5xmlpatterns5-private-dev qml-module-qtquick-controls libqt5qml-graphicaleffects qml-module-qtwebkit libqt5webkit5-qmlwebkitplugin libglew-dev libqt5websockets5-dev libqt5websockets5

references: http://docs.highfidelity.com/v1.0/docs/ubuntu-1410-compile
https://github.com/highfidelity/hifi/blob/master/BUILD_LINUX.md

2. Download the stable release of HiFi

mkdir $HOME/source
cd $HOME/source
git clone https://github.com/highfidelity/hifi.git

3. Run cmake


mkdir build
cd build
cmake ../hifi/

4. To build server parts  

make assignment-client
make domain-server

5. To build the interface
make interface

6. Run the domain-server, assignment-client then interface in order
open a terminal
cd ~/source/build/domain-server
./domain-server

open another terminal tab
 cd ~/source/build/assignment-client
./assignment-client

open a third terminal tab
cd ~/source/build/interface
./interface

There will be some warnings but it does not seem to affect the interface:
[WARNING] [05/02 07:59:51] Cannot open file '/home/dilis/source/build/resources/images/close.svg', because: No such file or directory
[WARNING] [05/02 07:59:51] Cannot open file '/home/dilis/source/build/resources/images/close.svg', because: No such file or directory
[WARNING] [05/02 07:59:51] Cannot open file '/home/dilis/source/build/resources/images/login.svg', because: No such file or directory
[WARNING] [05/02 07:59:51] Cannot open file '/home/dilis/source/build/resources/images/login.svg', because: No such file or directory

The following said it was resolved:
https://worklist.net/19647
https://github.com/highfidelity/hifi/pull/2831/files


But when I grep'ed the warnings appear to be due to:

hifi-stable/interface/ui/loginDialog.ui:

line 194
         <property name="icon">
         <iconset>
          <normaloff>../resources/images/close.svg</normaloff>../resources/images/close.svg</iconset>
        </property>




and line 431
           <property name="icon">
            <iconset>
             <normaloff>../resources/images/login.svg</normaloff>../resources/images/login.svg</iconset>
           </property>
           <property name="iconSize">

Maybe deleting these or correcting the paths will resolve the issue but I have not tried it yet.
 
Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.