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
- NextPVR v5: .NET Core 3.1 runtime installation
- NextPVR v6: .NET Core 6.0 runtime installation
- NextPVR v7: .NET Core 8.0 runtime installation
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:
- dtv-scan-tables (Arch Linux AUR: dtv-scan-tables-git)
- libc6 / libc6-dev / glibc
- libgdiplus
- ffmpeg
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]