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):
- 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 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:
- 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]