Wednesday, September 7, 2016

Piping Festival tts output to HighFidelity VR



This assumes you have already successfully compiled the HiFi interface in Ubuntu 16.04.

Install pavucontrol and festival:


sudo apt-get install pavucontrol festival


Run festival and the hifi interface in separate terminals.

Open pavucontrol and click on Recording tab.

In QtPulseAudio select Monitor of Built-in Audio Analog Stereo .


Feed text to festival:

festival> (SayText "Hello World!")


or for feeding a text file


festival> (tts "/home/hifi/frostpoem" nil)


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.

Sunday, April 27, 2014

Blender 2.70 GPU render in Ubuntu 14.04 (Trusty) with GTX 750ti

This post sums up the current solutions to get Blender 2.70 to render with Cycles GPU (CUDA) with an Nvidia GTX 750ti in Ubuntu 14.04 (Trusty Tahr) amd64.

Test environment

  • UbuntuStudio 14.04 amd64
  • Blender 2.70 64 bits
  • Graphics processor: GEForce GTX 750 ti
  • Nvidia driver version 337.12 (xorg-edgers ppa)
  • CPU: Core i7 4770

Installation of nvidia-337-uvm

1. Install x-edgers ppa 337.12 nvidia driver from https://launchpad.net/~xorg-edgers/+archive/ppa

2. The patch buildfix_kernel_3.12.patch failed in nvida-337-uvm above, so I modified the deb file and removed the patch and instructions associated with it. Download and install the nvidia-337-uvm.deb in https://www.mediafire.com/?wih2o3vhibdvze6
UPDATE: The latest nvidia-337-uvm_337.19-0ubuntu1~xedgers14.04.1_amd64.deb version from the xorg-edgers ppa archives had commented out the patch in the dkms.conf so there is no need to install my mod. Just install the xorg-edgers version.


3. copy 60-nvidia-uvm.rules (in the zip file above) to /etc/udev/rules.d/
note: this is an implementation of the solution posted at https://devtalk.nvidia.com/default/topic/699610/334-21-driver-returns-999-on-cuinit-cuda-/?offset=6

4. add nvidia and nvidia-uvm to list of modules in /etc/modules

5. reboot your computer

Installation of sm_50 cuda kernel in blender 2.70

3. Download Jucyfruit's precompiled cuda kernel for linux at http://martijnberger.nl/file/2.70_sm50.tar.gz . (see in context http://blenderartists.org/forum/showthread.php?327909-Cycles-NVidia-MAXWELL-Benchmarks&p=2602924&viewfull=1#post2602924)

Copy the X86_64/kernel_sm_50.cubin to blender-2.70-linux-glibc211-x86_64/2.70/scripts/addons/cycles/lib/

Monday, April 7, 2014

Blender 2.70 GPU render in Ubuntu 13.10 (Saucy) with GTX 750ti

This is how I got Blender 2.70 to render with Cycles GPU (CUDA) with an Nvidia GTX 750ti in Ubuntu 13.10 (Saucy Salamander) amd64. I hope the new drivers (with less bugs) will be ready when Trusty gets released.

Test environment

UbuntuStudio 13.10 amd64 (3.11.+ kernel)
Blender 2.70 64 bits
Graphics processor: GEForce GTX 750 ti
Nvidia driver version 334.21 (xorg-edgers ppa)
CPU: Core i7 4770

Installation

1. Install x-edgers ppa 334.21 nvidia driver from https://launchpad.net/~xorg-edgers/+archive/ppa

2. The patch buildfix_kernel_3.12.patch failed in nvida-334-uvm above, so I modified the deb file and removed the patch and instructions associated with it. Download and install the following deb file http://www.mediafire.com/download/eluzj8umso9ym20/nvidia-334-uvm-nopatch.deb

Warning: Installing this deb may cause your system to throw up three error notifications associated with nvidia-uvm on startup. I just cancel all the dialog boxes.





3. Download Jucyfruit's precompiled cuda kernel for linux at http://martijnberger.nl/file/2.70_sm50.tar.gz . (see in context http://blenderartists.org/forum/showthread.php?327909-Cycles-NVidia-MAXWELL-Benchmarks&p=2602924&viewfull=1#post2602924)

Copy the X86_64/kernel_sm_50.cubin to blender-2.70-linux-glibc211-x86_64/2.70/scripts/addons/cycles/lib/


4. Open a terminal and run blender as root one time (nvidia-uvm seems to need this). Use "sudo blender".

Verify by using "ls /dev/nvidia"; (or use 'lsmod | grep nvidia')
"/dev/nvidia-uvm" should be listed.


Note: It appears that this needs to be done over again every time the computer is rebooted. There seems to be a solution here https://devtalk.nvidia.com/default/topic/699610/334-21-driver-returns-999-on-cuinit-cuda-/?offset=6  ; but I have not tried it.

My GPU Render benchmarks

BMW1M-MikePan.blend - 1:11.63
cycles_cornell_bench_27.blend - 2:59.52

Compare your results with these http://blenderartists.org/forum/showthread.php?331149-The-new-Cyles-GPU-2-70-Benchmark&highlight=cycles+benchmark
 
Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.