Linux.manual.install - sub3/NextPVR GitHub Wiki

Linux manual installation

If running a platform without .deb file support, or to manually install, use the following guide.

Download the latest NextPVR version then extract to e.g. ~/NPVR/

.NET is required: both the ASP.NET Core Runtime and .NET Core Runtime

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

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]