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.

The latest version can be downloaded here then extract to e.g. ~/NPVR/

NextPVR v5 needs a current .NET Core 3.1 runtime installation NextPVR v6 needs a current .NET Core 6.0 runtime installation

The ASP.NET Core Runtime and .NET Core Runtime are both required. See the overview for distribution packages or use the manual install.

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]