* Disable AVAHI * Replace SysInfo backport with Qt SysInfo * Update vscode config * Update LedDevices * Update Logger * Update hyperiond * Update hyperion-remote * Exclude avahi * Empty definition for Process * PythonInit path broken * Exclude PiBlaster and link ws2_32 * more avahi * resolve ui bug * Update Compile howto * JsonAPI QtGrabber missing * fix error * ssize_t replacement * Nope, doesn't work * Adjust compile description and verify winSDK * Update ci script * Update ci script * Update ci * Update ci script * update Logger * Update PythonInit * added Azure & GitHub Actions, Logger, PythonInit * resolve merge conflicts * revert ssize_t in FadeCandy * look at registry for QT5 & use find_package(Python) if cmake >= 3.12 * second try * another try * and yet another test * qt5 registry search undone * Package creation test * finished package creation. only fine tuning is required :-) Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com> * Dependencies for Windows finished Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com> * use 'add_definitions()' until CMake 3.12 Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com> * Update .github/workflows/pull-request.yml Co-Authored-By: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com> * Update cmake/Dependencies.cmake Co-Authored-By: brindosch <edeltraud70@gmx.de> * fix typo/ add VCINSTALLDIR var * fix again * Undo change again (Not working) * fix QT grabber Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com> * first NSIS test Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com> * Update NSIS package * surprise :-) Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com> * Update NSIS package * fix: NSIS .bmps * Add nsis templates * Force windows gui app * fix: QSysInfo required Qt5.6, now it's 5.4 again * Update: Remove platform component and adjust package name * Add macOS as system name * Update docs * fix: Allow gh actions ci also for forks with branches * Add ReadMe docs, mention windows, add vscode linux debug config * fix: readme visual * reduce/hide banner/copyright/log message Infos here: https://docs.microsoft.com/de-de/visualstudio/msbuild/msbuild-command-line-reference?view=vs-2019#switches * Fix PythonInit * vscode: Add runner task * fix(vscode): compiler path gcc ver independent * fix azure * vscode: add windows run tasks * move process detection * main: add windows process detection * Azure file shredder * Update docs Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com> Co-authored-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
6.5 KiB
With Docker
If you are using Docker, you can compile Hyperion inside a docker container. This keeps your system clean and with a simple script it's easy to use. Supported is also cross compiling for Raspberry Pi (Debian Stretch or higher). To compile Hyperion just execute one of the following commands.
The compiled binaries and packages will be available at the deploy folder next to the script.
Note: call the script with ./docker-compile.sh -h
for more options
Native compiling on Raspberry Pi
Raspbian Stretch
wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -t rpi-raspbian-stretch
Raspbian Buster
wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -t rpi-raspbian-buster
Cross compiling on X64_86 for:
X64:
wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh
i386:
wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -t i386
Raspberry Pi v1 & ZERO
wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -t armv6hf
Raspberry Pi 2 & 3
wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -t armv7hf
The usual way
Debian/Ubuntu/Win10LinuxSubsystem
sudo apt-get update
sudo apt-get install git cmake build-essential qtbase5-dev libqt5serialport5-dev libusb-1.0-0-dev python3-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev libjpeg-dev libturbojpeg0-dev libqt5sql5-sqlite libssl-dev
on RPI you need the videocore IV headers
sudo apt-get install libraspberrypi-dev
OSMC on Raspberry Pi
sudo apt-get install rbp-userland-dev-osmc
ATTENTION Win10LinuxSubsystem we do not (/we can't) support using hyperion in linux subsystem of MS Windows 10, albeit some users tested it with success. Keep in mind to disable all linux specific led and grabber hardware via cmake. Because we use QT as framework in hyperion, serialport leds and network driven devices could work.
Arch
See AUR 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 python3
brew install cmake
brew install libusb
brew install doxygen
Windows (WIP)
We assume a 64bit Windows 7 or higher. Install the following
- Git (Check: Add to PATH)
- Python 3 (Windows x86-64 executable installer) (Check: Add to PATH and Debug Symbols)
- CMake (Windows win64-x64 Installer) (Check: Add to PATH)
- Qt5 (Check: Component install: msvc 2017 64bit). No configuration for PATH is set, we assume the default install path.
- Visual Studio 2019 Build Tools
- The Visual Studio 2019 Community Editor is not required but will be installed as part of the compiler and Windows SDK
- Select C++ Desktop Development Tools
- Now just select
MSVC v142 VS 2019 C++ x64/x86-Buildtools
,C++-CMake Tools for Windows
andWindows 10 SDK
. Everything else is not needed.
Compiling and installing Hyperion
The general quick way (without big comments)
complete automated process:
wget -qO- https://raw.githubusercontent.com/hyperion-project/hyperion.ng/master/bin/compile.sh | sh
some more detailed way: (or more or less the content of the script above) be sure you fulfill the prerequisites above.
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)
if this get stucked and dmseg says out of memory try:
make -j 2
# optional: install into your system
sudo make install/strip
# to uninstall (not very well tested, please keep that in mind)
sudo make uninstall
# ... or run it from compile directory
bin/hyperiond
# webui is located on localhost:8090 or 8091
Download
Creates hyperion directory and checkout the code from github
export HYPERION_DIR="hyperion"
git clone --recursive --depth 1 https://github.com/hyperion-project/hyperion.ng.git "$HYPERION_DIR"
Preparations
Change into hyperion folder and create a build folder
cd "$HYPERION_DIR"
mkdir build
cd build
Generate the make files:
To generate make files with automatic platform detection and default settings:
This should fit to RPI, x86, amlogic/wetek
cmake -DCMAKE_BUILD_TYPE=Release ..
Developers on x86 linux should use:
cmake -DPLATFORM=x11-dev -DCMAKE_BUILD_TYPE=Release ..
To use framebuffer instead of dispmanx (for example on the cubox-i):
cmake -DENABLE_FB=ON -DCMAKE_BUILD_TYPE=Release ..
To generate make files on OS X:
Platform should be auto detected and refer to osx, you can also force osx:
cmake -DPLATFORM=osx -DCMAKE_BUILD_TYPE=Release ..
To generate files on Windows (Release+Debug capable):
Platform should be auto detected and refer to windows, you can also force windows:
cmake -DPLATFORM=windows -G "Windows 16 2019" ..
Run make to build Hyperion
The -j $(nproc)
specifies the amount of CPU cores to use.
make -j $(nproc)
On a mac you can use sysctl -n hw.ncpu
to get the number of available CPU cores to use.
make -j $(sysctl -n hw.ncpu)
On Windows run
cmake --build . --config Release -- -maxcpucount
Install hyperion into your system
Copy all necessary files to /usr/local/share/hyperion
sudo make install/strip
If you want to install into another location call this before installing
cmake -DCMAKE_INSTALL_PREFIX=/home/pi/apps ..
This will install to /home/pi/apps/share/hyperion
Integrating hyperion into your system
... ToDo