mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
parent
96e8c29582
commit
82a140f5ed
134
CompileHowto.md
134
CompileHowto.md
@ -1,12 +1,14 @@
|
|||||||
# Install the required tools and dependencies
|
# Install the required tools and dependencies
|
||||||
|
|
||||||
|
## Debian/Ubuntu
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install git cmake build-essential qtbase5-dev libqt5serialport5-dev libusb-1.0-0-dev python-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev
|
sudo apt-get install git cmake build-essential qtbase5-dev libqt5serialport5-dev libusb-1.0-0-dev python-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
# RPI Only
|
## RPI Only
|
||||||
when you build on the rapberry pi and include the dispmanx grabber (which is the default)
|
when you build on the rapberry pi and include the dispmanx grabber (which is the default)
|
||||||
you also need the firmware including headers installed. This downloads the firmware from the raspberrypi github
|
you also need the firmware including headers installed. This downloads the firmware from the raspberrypi github
|
||||||
and copies the required files to the correct place. The firmware directory can be deleted afterwards if desired.
|
and copies the required files to the correct place. The firmware directory can be deleted afterwards if desired.
|
||||||
|
|
||||||
@ -16,7 +18,45 @@ git clone --depth 1 https://github.com/raspberrypi/firmware.git "$FIRMWARE_DIR"
|
|||||||
sudo cp -R "$FIRMWARE_DIR/hardfp/opt/" /opt
|
sudo cp -R "$FIRMWARE_DIR/hardfp/opt/" /opt
|
||||||
```
|
```
|
||||||
|
|
||||||
# Create hyperion directory and checkout the code from github
|
## Arch
|
||||||
|
See [AUR](https://aur.archlinux.org/packages/?O=0&SeB=nd&K=hyperion&outdated=&SB=n&SO=a&PP=50&do_Search=Go) for PKGBUILDs on arch. If the PKGBUILD does not work ask questions there please.
|
||||||
|
|
||||||
|
|
||||||
|
## OSX
|
||||||
|
To install on OS X you either need Homebrew or Macport but Homebrew is the recommended way to install the packages. To use Homebrew XCode is required as well, use `brew doctor` to check your install.
|
||||||
|
|
||||||
|
First you need to install the dependencies:
|
||||||
|
```
|
||||||
|
brew install qt5
|
||||||
|
brew install cmake
|
||||||
|
brew install libusb
|
||||||
|
brew install doxygen
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
# Compiling and installing Hyperion
|
||||||
|
|
||||||
|
### The general quick way (without big comments)
|
||||||
|
assume your home is /home/pi
|
||||||
|
```bash
|
||||||
|
cd git clone --recursive https://github.com/hyperion-project/hyperion.ng.git hyperion
|
||||||
|
cd hyperion
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake -DCMAKE_BUILD_TYPE=Release ..
|
||||||
|
make -j $(nproc)
|
||||||
|
# optional: install into your system
|
||||||
|
make install/strip
|
||||||
|
# to uninstall (not very well tested, please keep that in mind)
|
||||||
|
make uninstall
|
||||||
|
# ... or run it from compile directory
|
||||||
|
bin/hyperiond myconfig.json
|
||||||
|
# webui is located on localhost:8099
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Download
|
||||||
|
Create hyperion directory and checkout the code from github
|
||||||
|
|
||||||
You might want to add `--depth 1` to the `git` command if you only want to compile the current source and have no need for the entire git repository
|
You might want to add `--depth 1` to the `git` command if you only want to compile the current source and have no need for the entire git repository
|
||||||
|
|
||||||
@ -31,32 +71,26 @@ git submodule init
|
|||||||
git submodule update
|
git submodule update
|
||||||
```
|
```
|
||||||
|
|
||||||
# Create and enter the build directory
|
### Preparations
|
||||||
|
Change into hyperion folder and create a build folder
|
||||||
```
|
```
|
||||||
mkdir "$HYPERION_DIR/build"
|
cd "$HYPERION_DIR"
|
||||||
cd "$HYPERION_DIR/build"
|
mkdir build
|
||||||
|
cd build
|
||||||
```
|
```
|
||||||
|
|
||||||
# Generate the make files:
|
### Generate the make files:
|
||||||
|
|
||||||
To generate make files on the raspberry pi WITHOUT PWM SUPPORT:
|
To generate make files with automatic platform detection and default settings:
|
||||||
|
|
||||||
|
This should fit to *RPI, x86, amlogic/wetek*
|
||||||
```
|
```
|
||||||
cmake -DPLATFORM=rpi -DCMAKE_BUILD_TYPE=Release ..
|
cmake -DCMAKE_BUILD_TYPE=Release ..
|
||||||
```
|
```
|
||||||
|
|
||||||
To generate make files on the raspberry pi WITH PWM SUPPORT:
|
*Developers on x86* linux should use:
|
||||||
```
|
```
|
||||||
cmake -DPLATFORM=rpi-pwm -DCMAKE_BUILD_TYPE=Release ..
|
cmake -DPLATFORM=x86-dev -DCMAKE_BUILD_TYPE=Release ..
|
||||||
```
|
|
||||||
|
|
||||||
To generate make files on a regular x86 or amd64 system:
|
|
||||||
```
|
|
||||||
cmake -DPLATFORM=x86 -DCMAKE_BUILD_TYPE=Release ..
|
|
||||||
```
|
|
||||||
|
|
||||||
To generate make files on a amlogic system:
|
|
||||||
```
|
|
||||||
cmake -DPLATFORM=aml -DCMAKE_BUILD_TYPE=Release ..
|
|
||||||
```
|
```
|
||||||
|
|
||||||
To use framebuffer instead of dispmanx (for example on the *cubox-i*):
|
To use framebuffer instead of dispmanx (for example on the *cubox-i*):
|
||||||
@ -66,24 +100,14 @@ cmake -DENABLE_FB=ON -DCMAKE_BUILD_TYPE=Release ..
|
|||||||
|
|
||||||
To generate make files on OS X:
|
To generate make files on OS X:
|
||||||
|
|
||||||
To install on OS X you either need Homebrew or Macport but Homebrew is the recommended way to install the packages. To use Homebrew XCode is required as well, use `brew doctor` to check your install.
|
|
||||||
|
|
||||||
First you need to install the dependencies:
|
|
||||||
```
|
|
||||||
brew install qt5
|
|
||||||
brew install cmake
|
|
||||||
brew install libusb
|
|
||||||
brew install doxygen
|
|
||||||
```
|
|
||||||
|
|
||||||
After which you can run cmake with the correct qt5 path:
|
After which you can run cmake with the correct qt5 path:
|
||||||
```
|
```
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.7.0 ..
|
cmake -DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.7.0 -DCMAKE_BUILD_TYPE=Release ..
|
||||||
```
|
```
|
||||||
|
|
||||||
# Run make to build Hyperion
|
### Run make to build Hyperion
|
||||||
The `-j $(nproc)` specifies the amount of CPU cores to use.
|
The `-j $(nproc)` specifies the amount of CPU cores to use.
|
||||||
```
|
```bash
|
||||||
make -j $(nproc)
|
make -j $(nproc)
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -91,39 +115,25 @@ On a mac you can use ``sysctl -n hw.ncpu`` to get the number of available CPU co
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
make -j $(sysctl -n hw.ncpu)
|
make -j $(sysctl -n hw.ncpu)
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
#After compile, to remove any stuff not needed for a release version.
|
|
||||||
```
|
|
||||||
strip bin/*
|
|
||||||
```
|
|
||||||
# The binaries are build in "$HYPERION_DIR/build/bin". You could copy those to /usr/bin
|
|
||||||
```
|
|
||||||
sudo cp ./bin/hyperion-remote /usr/bin/
|
|
||||||
sudo cp ./bin/hyperiond /usr/bin/
|
|
||||||
```
|
```
|
||||||
|
|
||||||
On a Mac with Sierra you won't be able to copy these files to the ``/usr/bin/`` folder due to Sierra's file protection. You can copy those files to ``/usr/local/bin`` instead.
|
### Install hyperion into your system
|
||||||
|
|
||||||
```bash
|
|
||||||
cp ./bin/hyperion-remote /usr/local/bin
|
|
||||||
cp ./bin/hyperiond /usr/local/bin
|
|
||||||
```
|
|
||||||
|
|
||||||
The better way to do this is to use the make install script, which copies all necessary files to ``/usr/local/share/hyperion``:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo make install
|
|
||||||
```
|
|
||||||
|
|
||||||
You can combine the install command with the strip command to install and cleanup in one task:
|
|
||||||
|
|
||||||
|
Copy all necessary files to ``/usr/local/share/hyperion``
|
||||||
```bash
|
```bash
|
||||||
sudo make install/strip
|
sudo make install/strip
|
||||||
```
|
```
|
||||||
|
|
||||||
# Copy the effect folder (if you did not use the normal installation methode before)
|
If you want to install into another location call this before installing
|
||||||
```
|
|
||||||
sudo mkdir -p /usr/local/share/hyperion/effects && sudo cp -R ../effects/ /usr/local/share/hyperion/effects/
|
```bash
|
||||||
|
cmake -DCMAKE_INSTALL_PREFIX=/home/pi/apps ..
|
||||||
```
|
```
|
||||||
|
This will install to ``/home/pi/apps/share/hyperion``
|
||||||
|
|
||||||
|
|
||||||
|
### Integrating hyperion into your system
|
||||||
|
|
||||||
|
... ToDo
|
||||||
|
|
||||||
|
|
||||||
|
32
README.md
32
README.md
@ -3,22 +3,38 @@ HYPERION
|
|||||||
|
|
||||||
This is a pre alpha development repository for the next major version of hyperion
|
This is a pre alpha development repository for the next major version of hyperion
|
||||||
|
|
||||||
Feel free to join us! We are looking always for people who wants to participate.
|
--------
|
||||||
|
## **Important notice!**
|
||||||
|
|
||||||
|
Hyperion.NG is under heavy development. This version is currently _only for development_ purpose.
|
||||||
|
Please do not use it for your 'productiv' setup!
|
||||||
|
|
||||||
Current new deps (libs)
|
If you want to use hyperion as 'normal user', please use [current stable version](https://github.com/hyperion-project/hyperion)
|
||||||
QT5
|
|
||||||
- sudo apt-get install libqt5core5a libqt5network5 libqt5gui5 libqt5serialport5 libusb-1.0-0
|
|
||||||
|
|
||||||
zeroconf
|
Besides of that .... Feel free to join us! We are looking always for people who wants to participate.
|
||||||
- apt-get install libavahi-core-dev libavahi-compat-libdnssd-dev
|
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
94MB free disc space for deps
|
Hyperion is an opensource 'AmbiLight' implementation with support for many LED devices and video grabbers.
|
||||||
|
|
||||||
More information can be found on the official Hyperion [Wiki](https://wiki.hyperion-project.org)
|
The main features of Hyperion are:
|
||||||
|
* Low CPU load makes it perfect for SoCs like Raspberry Pi
|
||||||
|
* Json interface which allows easy integration into scripts
|
||||||
|
* A command line utility to for testing and integration in automated environment
|
||||||
|
* Priority channels are not coupled to a specific led data provider which means that a provider can post led data and leave without the need to maintain a connection to Hyperion. This is ideal for a remote application (like our Android app).
|
||||||
|
* Kodi-checker which checks the playing status of Kodi and decides whether or not to capture the screen.
|
||||||
|
* Black border detector.
|
||||||
|
* A scriptable (Python) effect engine
|
||||||
|
* A web ui to configure and remote control hyperion
|
||||||
|
|
||||||
|
More information can be found on the official Hyperion [Wiki](https://wiki.hyperion-project.org)
|
||||||
|
|
||||||
If you need further support please open a topic at the our new forum!
|
If you need further support please open a topic at the our new forum!
|
||||||
[Hyperion webpage/forum](https://www.hyperion-project.org).
|
[Hyperion webpage/forum](https://www.hyperion-project.org).
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
See [Compilehowto](CompileHowto.txt) and [CrossCompileHowto](CrossCompileHowto.txt).
|
||||||
|
|
||||||
|
## License
|
||||||
The source is released under MIT-License (see http://opensource.org/licenses/MIT).
|
The source is released under MIT-License (see http://opensource.org/licenses/MIT).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user