mirror of
https://github.com/AleziaKurdis/overte.git
synced 2025-04-08 01:32:41 +02:00
Merge pull request #1505 from vircadia/docs/more-revisions
Documentation format revisions.
This commit is contained in:
commit
05506d902a
3 changed files with 84 additions and 76 deletions
126
BUILD_LINUX.md
126
BUILD_LINUX.md
|
@ -1,75 +1,81 @@
|
|||
# Build Linux
|
||||
|
||||
*Last Updated on December 1, 2020*
|
||||
*Last Updated on January 6, 2022*
|
||||
|
||||
Please read the [general build guide](BUILD.md) for information on dependencies required for all platforms. Only Linux specific instructions are found in this file.
|
||||
|
||||
You can use the [Vircadia Builder](https://github.com/vircadia/vircadia-builder) to build on Linux more easily. Alternatively, you can follow the manual steps below.
|
||||
|
||||
## Ubuntu 16.04/18.04 specific build guide
|
||||
### Ubuntu 16.04 only
|
||||
Add the following line to *.bash_profile*
|
||||
`export QT_QPA_FONTDIR=/usr/share/fonts/truetype/dejavu/`
|
||||
### Ubuntu 18.04 server only
|
||||
## Ubuntu 18.04
|
||||
|
||||
### Ubuntu 18.04 Server only
|
||||
Add the universe repository:
|
||||
_(This is not enabled by default on the server edition)_
|
||||
_(This is not enabled by default on the server edition.)_
|
||||
```bash
|
||||
sudo add-apt-repository universe
|
||||
sudo apt-get update
|
||||
```
|
||||
#### Install build tools:
|
||||
|
||||
### Install build tools:
|
||||
- First update the repositories:
|
||||
```bash
|
||||
sudo apt-get update -y
|
||||
sudo apt-get upgrade -y
|
||||
```
|
||||
- git
|
||||
|
||||
- Install git
|
||||
```bash
|
||||
sudo apt-get install git -y
|
||||
```
|
||||
Verify by git --version
|
||||
- g++
|
||||
Verify git was installed by running `git --version`.
|
||||
|
||||
- Install g++
|
||||
```bash
|
||||
sudo apt-get install g++ -y
|
||||
```
|
||||
Verify by g++ --version
|
||||
- *Ubuntu 18.04* cmake
|
||||
Verify g++ was installed by running `g++ --version`.
|
||||
|
||||
- **Ubuntu 18.04** CMake
|
||||
```bash
|
||||
sudo apt-get install cmake -y
|
||||
```
|
||||
Verify by cmake --version
|
||||
- *Ubuntu 16.04* cmake
|
||||
```bash
|
||||
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
|
||||
```
|
||||
#### Install build dependencies:
|
||||
Verify CMake was installed by running `cmake --version`.
|
||||
|
||||
### Install build dependencies:
|
||||
- OpenSSL:
|
||||
```bash
|
||||
sudo apt-get install libssl-dev
|
||||
```
|
||||
Verify with `openssl version`
|
||||
Verify OpenSSL was installed by running `openssl version`.
|
||||
|
||||
- OpenGL:
|
||||
```bash
|
||||
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
|
||||
```
|
||||
- Verify OpenGL:
|
||||
- First install mesa-utils with the command `sudo apt install mesa-utils -y`
|
||||
- Then run `glxinfo | grep "OpenGL version"`
|
||||
#### To compile interface in a server you must install:
|
||||
Verify OpenGL:
|
||||
- First install mesa-utils with the command `sudo apt install mesa-utils -y`.
|
||||
- Then run `glxinfo | grep "OpenGL version"`.
|
||||
|
||||
|
||||
### Extra dependencies to compile Interface on a server
|
||||
|
||||
|
||||
- Install the following:
|
||||
```bash
|
||||
sudo apt-get -y install libpulse0 libnss3 libnspr4 libfontconfig1 libxcursor1 libxcomposite1 libxtst6 libxslt1.1
|
||||
```
|
||||
|
||||
- Misc dependencies:
|
||||
```bash
|
||||
sudo apt-get install libasound2 libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack0 libjack-dev libxrandr-dev libudev-dev libssl-dev zlib1g-dev
|
||||
```
|
||||
|
||||
- Install Python 3 and required packages:
|
||||
```bash
|
||||
sudo apt-get install python python3 python3-distro
|
||||
```
|
||||
- Install node, required to build the jsdoc documentation:
|
||||
|
||||
- Install Node.js as it is required to build the jsdoc documentation:
|
||||
```bash
|
||||
sudo apt-get install nodejs
|
||||
```
|
||||
|
@ -81,16 +87,17 @@ Clone this repository:
|
|||
git clone https://github.com/vircadia/vircadia.git
|
||||
```
|
||||
|
||||
To compile a DEV version checkout the branch you need. To get a list of all tags:
|
||||
```bash
|
||||
git fetch -a
|
||||
```
|
||||
|
||||
Then checkout the main branch with:
|
||||
Then checkout the master branch with:
|
||||
```bash
|
||||
git checkout master
|
||||
```
|
||||
|
||||
If you need a different branch, you can get a list of all tags with:
|
||||
```bash
|
||||
git fetch --tags
|
||||
git tag
|
||||
```
|
||||
|
||||
### Using a custom Qt build
|
||||
|
||||
Qt binaries are only provided for Ubuntu. In order to build on other distributions, a Qt5 install
|
||||
|
@ -104,6 +111,18 @@ The system's Qt can be used, if the development packages are installed, by setti
|
|||
also the last version available in the Qt 5 branch. It is expected that Linux distributions will have
|
||||
Qt 5.15.2 available for a long time.
|
||||
|
||||
### Architecture support
|
||||
|
||||
If the build is intended to be packaged for distribution, the `VIRCADIA_CPU_ARCHITECTURE`
|
||||
CMake variable needs to be set to an architecture specific value.
|
||||
|
||||
By default, it is set to `-march=native -mtune=native`, which yields builds optimized for a particular
|
||||
machine, but these builds will not work on machines lacking same CPU instructions.
|
||||
|
||||
For packaging, it is recommended to set it to a different value, for example `-msse3`. This will help ensure that the build will run on all reasonably modern CPUs.
|
||||
|
||||
Setting `VIRCADIA_CPU_ARCHITECTURE` to an empty string will use the default compiler settings and yield maximum compatibility.
|
||||
|
||||
### Compiling
|
||||
|
||||
Create the build directory:
|
||||
|
@ -118,33 +137,34 @@ Prepare makefiles:
|
|||
cmake ..
|
||||
```
|
||||
|
||||
- If cmake fails with a vcpkg error - delete /tmp/hifi/vcpkg.
|
||||
If cmake fails with a vcpkg error, then delete `~/vircadia-files/vcpkg/`.
|
||||
|
||||
Start compilation of the server and get a cup of coffee:
|
||||
#### Server
|
||||
|
||||
To compile the Domain server:
|
||||
```bash
|
||||
make domain-server assignment-client
|
||||
```
|
||||
|
||||
To compile interface:
|
||||
*Note: For a server, it is not necessary to compile the Interface.*
|
||||
|
||||
#### Interface
|
||||
|
||||
To compile the Interface client:
|
||||
```bash
|
||||
make interface
|
||||
```
|
||||
|
||||
The commands above will compile with a single thread. If you have enough memory,
|
||||
you can decrease your build time using the `-j` flag. Since most x64 CPUs
|
||||
support two threads per core, this works out to CPU_COUNT*2. As an example, if
|
||||
you have a 2 core machine, you could use:
|
||||
```
|
||||
The commands above will compile with a single thread. If you have enough memory, you can decrease your build time using the `-j` flag. Since most x64 CPUs support two threads per core, this works out to CPU_COUNT*2. As an example, if you have a 2 core machine, you could use:
|
||||
```bash
|
||||
make -j4 interface
|
||||
```
|
||||
|
||||
In a server, it does not make sense to compile interface.
|
||||
|
||||
### Running the software
|
||||
|
||||
#### Domain server
|
||||
|
||||
Running domain server:
|
||||
Running Domain server:
|
||||
```bash
|
||||
./domain-server/domain-server
|
||||
```
|
||||
|
@ -158,24 +178,16 @@ Running assignment client:
|
|||
|
||||
#### Interface
|
||||
|
||||
Running interface:
|
||||
Running Interface:
|
||||
```bash
|
||||
./interface/interface
|
||||
```
|
||||
|
||||
Go to localhost in the running interface.
|
||||
Go to "localhost" in the running Interface to visit your newly launched Domain server.
|
||||
|
||||
#### Notes
|
||||
### Notes
|
||||
|
||||
If your goal is to set up a development environment, it is desirable to set the
|
||||
directory that vcpkg builds into with the `HIFI_VCPKG_BASE` environment variable.
|
||||
If your goal is to set up a development environment, it is desirable to set the directory that vcpkg builds into with the `HIFI_VCPKG_BASE` environment variable.
|
||||
For example, you might set `HIFI_VCPKG_BASE` to `/home/$USER/vcpkg`.
|
||||
By default, vcpkg will build in the system `/tmp` directory.
|
||||
|
||||
If build is intended for packaging or creation of AppImage, `VIRCADIA_CPU_ARCHITECTURE`
|
||||
CMake variable needs to be set to architecture specific value.
|
||||
It defaults to `-march=native -mtune=native`, which yields builds optimized for particular
|
||||
machine, but builds will not work on machines lacking same CPU instructions.
|
||||
For packaging and AppImage it is recommended to set it to different value, for example `-msse3`.
|
||||
Setting `VIRCADIA_CPU_ARCHITECTURE` to empty string will use default compiler settings and yield
|
||||
maximum compatibility.
|
||||
By default, vcpkg will build in the `~/vircadia-files/vcpkg/` directory.
|
||||
|
|
25
BUILD_OSX.md
25
BUILD_OSX.md
|
@ -1,6 +1,6 @@
|
|||
# Build MacOS
|
||||
# Build macOS
|
||||
|
||||
*Last Updated on October 19, 2021*
|
||||
*Last Updated on December 1, 2021*
|
||||
|
||||
Please read the [general build guide](BUILD.md) for information on dependencies required for all platforms. This will include the necessary environment variables to customize your build. Only macOS specific instructions are found in this document.
|
||||
|
||||
|
@ -21,9 +21,9 @@ brew install cmake openssl npm
|
|||
Download an install Python 3.6.6 or higher from [here](https://www.python.org/downloads/).
|
||||
Execute the `Update Shell Profile.command` script that is provided with the installer.
|
||||
|
||||
### MacOS SDK
|
||||
### macOS SDK
|
||||
|
||||
You will need version `10.12` of the macOS SDK for building, otherwise you may have crashing or other unintended issues due to the deprecation of OpenGL on macOS. You can get that SDK from [here](https://github.com/phracker/MacOSX-SDKs). You must copy it in to your Xcode SDK directory, e.g.
|
||||
You will need version `10.12` of the macOS SDK for building, otherwise you may experience crashing or other unintended issues due to the deprecation of OpenGL on macOS. You can get that SDK from [here](https://github.com/phracker/MacOSX-SDKs). You must copy it in to your Xcode SDK directory, e.g.
|
||||
|
||||
```bash
|
||||
cp -rp ~/Downloads/MacOSX10.12.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
|
||||
|
@ -64,14 +64,17 @@ You can append `-j4` to assign more threads to build with. The number indicates
|
|||
|
||||
To package the installation, you can simply run `make package` afterwards.
|
||||
|
||||
## Notes
|
||||
## Architecture Support
|
||||
|
||||
If build is intended for packaging or creation of AppImage, `VIRCADIA_CPU_ARCHITECTURE`
|
||||
CMake variable needs to be set to architecture specific value.
|
||||
It defaults to `-march=native -mtune=native`, which yields builds optimized for particular
|
||||
machine, but builds will not work on machines lacking same CPU instructions.
|
||||
For packaging and AppImage it is recommended to set it to different value, for example `-msse3`.
|
||||
Setting `VIRCADIA_CPU_ARCHITECTURE` to empty string will use default compiler settings and yield
|
||||
If the build is intended to be packaged for distribution, the `VIRCADIA_CPU_ARCHITECTURE`
|
||||
CMake variable needs to be set to an architecture specific value.
|
||||
|
||||
By default, it is set to `-march=native -mtune=native`, which yields builds optimized for a particular
|
||||
machine, but these builds will not work on machines lacking same CPU instructions.
|
||||
|
||||
For packaging, it is recommended to set it to a different value, for example `-msse3`. This will help ensure that the build will run on all reasonably modern CPUs.
|
||||
|
||||
Setting `VIRCADIA_CPU_ARCHITECTURE` to an empty string will use the default compiler settings and yield
|
||||
maximum compatibility.
|
||||
|
||||
## FAQ
|
||||
|
|
|
@ -54,7 +54,6 @@ Vircadia™ is a 3D social software project seeking to incrementally bring about
|
|||
- [For Windows - Interface & Server](https://github.com/vircadia/vircadia/blob/master/INSTALLER.md)
|
||||
- [For Mac - Interface](https://github.com/vircadia/vircadia/blob/master/INSTALLER.md#os-x)
|
||||
- [For Linux - Server .deb - Vircadia Builder](INSTALLER.md#ubuntu-1804--deb)
|
||||
- [For Linux - Server .rpm - Vircadia Builder](INSTALLER.md#amazon-linux-2--rpm)
|
||||
- [For Linux - Interface AppImage - Vircadia Builder](https://github.com/vircadia/vircadia-builder/blob/master/README.md#building-appimages)
|
||||
|
||||
### Boot to Metaverse: [The Goal](https://vircadia.com/vision/)
|
||||
|
@ -94,10 +93,4 @@ Keep in mind that Vircadia consists of multiple smaller projects that might have
|
|||
|
||||
#### Supporters of the Vircadia Project
|
||||
|
||||
| [ksuprynowicz (74hc595)](https://github.com/ksuprynowicz) |
|
||||
| --- |
|
||||
| <p align="center">[<img src="https://vircadia.com/wp-content/uploads/2021/07/74hc595_profile_2-1.png" width="80" alt="ksuprynowicz" />](https://github.com/ksuprynowicz)</p>
|
||||
|
||||
#### Sponsors of Open Source
|
||||
|
||||
<img src="https://vircadia.com/wp-content/uploads/2021/11/CBT_OS-logo_White-V.png" width="250" alt="CrossBrowserTesting" />
|
||||
Two (2) anonymous, three (3) total sponsors through GitHub. ❤️
|
||||
|
|
Loading…
Reference in a new issue