Please read the general build guide for information on dependencies required for all platforms. Only Linux specific instructions are found in this file.
Add the following line to .bash_profile
export QT_QPA_FONTDIR=/usr/share/fonts/truetype/dejavu/
Add the universe repository:
(This is not enabled by default on the server edition)
sudo add-apt-repository universe
sudo apt-get update
- First update the repositiories:
sudo apt-get update -y
sudo apt-get upgrade -y
- git
sudo apt-get install git -y
Verify by git --version
- g++
sudo apt-get install g++ -y
Verify by g++ --version
- Ubuntu 18.04 cmake
sudo apt-get install cmake -y
Verify by git --version
- Ubuntu 16.04 cmake
wget https://cmake.org/files/v3.14/cmake-3.14.2-Linux-x86_64.sh
sudo sh cmake-3.14.2-Linux-x86_64.sh --prefix=/usr/local --exclude-subdir
- OpenSSL
sudo apt-get install libssl-dev
Verify with openssl version
- OpenGL
Verify (first install mesa-utils -sudo apt install mesa-utils -y
) byglxinfo | grep "OpenGL version"
sudo apt-get install libgl1-mesa-dev -y
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.346.35 /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
sudo apt-get -y install libpulse0 libnss3 libnspr4 libfontconfig1 libxcursor1 libxcomposite1 libxtst6 libxslt1.1
- Misc dependencies
sudo apt-get install libasound2 libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack0 libjack-dev libxrandr-dev libudev-dev libssl-dev zlib1g-dev
- To compile interface in a server you must install:
sudo apt-get -y install libpulse0 libnss3 libnspr4 libfontconfig1 libxcursor1 libxcomposite1 libxtst6 libxslt1.1
- Install Python 3:
sudo apt-get install python3.6
- Install node, required to build the jsdoc documentation
sudo apt-get install nodejs
Clone this repository:
git clone https://github.com/highfidelity/hifi.git
To compile a RELEASE version checkout the tag you need getting a list of all tags:
git fetch -a
git tags
Then checkout last tag with:
git checkout tags/v0.79.0
Create the build directory:
mkdir -p hifi/build
cd hifi/build
Prepare makefiles:
cmake ..
- If cmake fails with a vcpkg error - delete /tmp/hifi/vcpkg.
Start compilation of the server and get a cup of coffee:
make domain-server assignment-client
To compile interface:
make interface
In a server, it does not make sense to compile interface
Running domain server:
./domain-server/domain-server
Running assignment client:
./assignment-client/assignment-client -n 6
Running interface:
./interface/interface
Go to localhost in the running interface.
In Ubuntu 18.04 there is a problem related with NVidia driver library version.
It can be worked around following these steps:
-
Uninstall incompatible nvtt libraries:
sudo apt-get remove libnvtt2 libnvtt-dev
-
Install libssl1.0-dev:
sudo apt-get -y install libssl1.0-dev
-
Clone castano nvidia-texture-tools:
git clone https://github.com/castano/nvidia-texture-tools
cd nvidia-texture-tools/
-
Make these changes in repo:
- In file VERSION set
2.2.1
- In file configure:
- set
build="release"
- set
-DNVTT_SHARED=1
- set
- Configure, build and install:
./configure
make
sudo make install
1.. Link compiled files:
sudo ln -s /usr/local/lib/libnvcore.so /usr/lib/libnvcore.so
sudo ln -s /usr/local/lib/libnvimage.so /usr/lib/libnvimage.so
sudo ln -s /usr/local/lib/libnvmath.so /usr/lib/libnvmath.so
sudo ln -s /usr/local/lib/libnvtt.so /usr/lib/libnvtt.so
- After running this steps you can run interface:
interface/interface