Linux.manual.install - sub3/NextPVR GitHub Wiki

Linux manual installation

This guide is for running a platform without .deb file support, or for manual installation.

Download and extract the latest NextPVR (e.g. ~/NPVR/ ). The previous version directory can be renamed as a backup or for future testing - similarly rename the .dotnet directory if changing major versions.

The ASP.NET Core Runtime is required (it includes the .NET Core Runtime):

See the Linux .NET install overview for various distribution packages or check for scripted or manual install (and dependencies).

To manually install, create a .dotnet folder in the user's home directory, download aspnetcore-runtime-{ver-arch}.tar.gz to it, tar -xvf {file}, then check the files; delete the download after testing.

To setup the environment (unless running NPVR from an alias*):

> export DOTNET_ROOT=$HOME/.dotnet
> export PATH=$PATH:$HOME/.dotnet:$HOME/.dotnet/tools

Other required packages may include:

These may also help for general device and media testing:

  • mediainfo
  • dvb-tools / v4l-utils
  • libdvbv5-0

Manual Install

Extract NPVR.zip to a directory like /home/user/NPVR where user is the desired local account.

Go into the install directory and fix ownership of NPVR's DeviceHostLinux files:

> cd NPVR; find . -name DeviceHostLinux -exec chmod 755 {} \;

Start the NextPVR server (this assumes the dotnet exports were done)

> cd ~/NPVR; dotnet ./NextPVRServer.dll

* Run NPVR from an alias (in this example, the dotnet export is only done per session)

With NPVR and dotnet installed under the user account, use this alias (e.g. in ~/.bashrc):

> alias NPVR='cd ~/NPVR;DOTNET_ROOT=~/.dotnet ~/.dotnet/dotnet ./NextPVRServer.dll;cd `echo $OLDPWD`'

Known Issues

  • To use an older legacy HDHomeRun on Linux, hdhomerun-config is also needed. E.g. sudo apt install hdhomerun-config
  • dtv-scan-tables is needed for scanning; also ensure NextPVRServer is being invoked from inside the NPVR directory
  • Distributions with a mismatched icu package might error with "Couldn't find a valid ICU package installed on the system." Use this (e.g. for icu version 71.1-1 in Arch) to workaround the issue*:
> CLR_ICU_VERSION_OVERRIDE="71.1" dotnet ~/NextPVR/NextPVRServer.dll

*Ref: Github dotnet issue [also see: NPVR forum post]