恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 314|回复: 2

PVE 直接安装最新版 Kodi

[复制链接]
发表于 2022-7-13 12:30 | 显示全部楼层 |阅读模式
本帖最后由 EvineDeng 于 2022-7-23 16:31 编辑

本文为原创教程,转载请注明来源及作者。

  • 按照本教程,可以保持PVE全部套件稳定的同时,又能够使用最新版Kodi;
  • 只主动安装了Kodi这一个软件包,没有安装任何桌面系统或其他什么软件包,对PVE环境的影响可以忽略不计;
  • 不用直通显卡,退出Kodi就是PVE的控制台,在出现故障时排故更容易,要是把显卡给直通给虚拟机了,PVE控制台上啥也看不到,如果这时ssh还出问题了的话,你根本就无法排故;
  • 少了虚拟机这一层,减少了资源损耗,Kodi在PVE中运行初始只需要200M左右内存;
  • 音频可以在Kodi中设置通过HDMI直通,支持7.1声道无压力,而如果采用直通核显及声卡给LibreELEC虚拟机的话,在LibreELEC中音频可能就无法通过HDMI直通,只能委屈巴巴的用2.0声道;
  • 另外,如果使用蓝牙遥控器的话,反应速度比在虚拟机中直通蓝牙适配器要快,体验要好很多。

安装最新版Kodi

不需要如同网上其他教程一般,安装`xinit`、`xfce`、`lightdm`、`gnome`等等一系列桌面系统才需要的软件包,直接安装Kodi就好了。尽量不装无关的包,这对PVE系统比较重要。

并且网上的教程全是安装Debian官方仓库自带的Kodi,但因为Debian的特色,官方稳定仓库中的Kodi版本比较老。所以有的博主自作主张启用了Debian的sid不稳定仓库,以便使用新版Kodi,这对PVE环境来说是不可取的,不建议这么做。

事实上在Debian稳定版本上也是可以安装最新版的Kodi的(比如本文发表时,在不修改Debian和PVE源仓库的情况下,PVE 7.x上可以安装到Kodi 19.4),主要来自一个专门负责维护多媒体软件的仓库:https://www.deb-multimedia.org,国内连接较差,不用担心,有一堆镜像站可以使用。以下基于PVE 7.x(Debian bullseye)并以北外镜像站为例:

  1. # 信任keyring
  2. cd ~
  3. wget https://mirrors.bfsu.edu.cn/debian-multimedia/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2016.8.1_all.deb
  4. dpkg -i deb-multimedia-keyring_2016.8.1_all.deb

  5. # 添加仓库
  6. echo "deb https://mirrors.bfsu.edu.cn/debian-multimedia bullseye main non-free" >> /etc/apt/sources.list.d/multimedia.list
  7. echo "deb https://mirrors.bfsu.edu.cn/debian-multimedia bullseye-backports main" >> /etc/apt/sources.list.d/multimedia.list

  8. # 安装最新稳定版Kodi
  9. apt update
  10. apt install -y kodi
复制代码

国内其他镜像站如清华TUNA中科大USTC腾讯云国家互联网络信息中心北交南大等站点都是有debian-multimedia仓库的,改成你下载最快的镜像站点即可。

设置开机启动

新建`/etc/systemd/system/kodi.service`,内容如下:

  1. [Unit]
  2. Description = Kodi Media Center
  3. After = network-online.target
  4. Wants = network-online.target

  5. [Service]
  6. User = root
  7. Group = root
  8. ExecStart = /usr/bin/kodi
  9. TimeoutStartSec = 0
  10. Restart = on-abort
  11. RestartSec = 10

  12. [Install]
  13. WantedBy = multi-user.target
复制代码

上面内容中是以root用户启动Kodi的,然后启用即可(无需重启PVE系统):

  1. systemctl enable --now kodi.service
复制代码


从系统信息中可以看到内核、分辨率、GPU、OPENGL、视窗系统等信息,可以看到视窗系统直接使用GBM,而非X11:

screenshot00006_4.png

如何以非root用户运行Kodi

如果以root用户启动Kodi,那么Kodi具有很高的权限,可以关机、重启主机等等,而如果不赋予普通用户这些权限的话,普通用户就不能进行这些关机、重启系统的操作,所以以非root用户启动Kodi还是有必要的。下文均以用户名`evine`举例。

1. 如果还没有这个用户的话就添加用户,注意家目录不能少
  1. useradd -m -d /home/evine -U -s /usr/bin/bash evine
复制代码

2. 按需为普通用户设置密码,设不设置都行
  1. passwd evine
复制代码

3. 为用户添加`video` `render` `audio`和`input`的组权限

注:如果还需要使用其他类型的设备,则进一步添加其对应的组权限。
  1. usermod -a -G video,render,audio,input evine
复制代码

有关用户组,可以参见:https://wiki.debian.org/SystemGroups ,解释一下添加的各用户组的用途:

- video:允许该普通用户使用显示器;
- render:允许该普通用户使用显卡硬解;
- audio:允许该普通用户使用音频设备;
- input:允许该普通用户使用输入设备,如键盘、鼠标、2.4G无线遥控器等。

4. 如果已经设置了root用户的开机自动启动,需要先禁用它
  1. systemctl disable --now kodi.service
复制代码


5. 新建或修改`/etc/systemd/system/kodi.service`,内容如下:
  1. [Unit]
  2. Description = Kodi Media Center
  3. After = network-online.target
  4. Wants = network-online.target

  5. [Service]
  6. User = evine
  7. Group = evine
  8. ExecStart = /usr/bin/kodi
  9. TimeoutStartSec = 0
  10. Restart = on-abort
  11. RestartSec = 10

  12. [Install]
  13. WantedBy = multi-user.target
复制代码

6. 启用开机自动启动(如不启用则需要开机后手动启动)
  1. systemctl enable --now kodi.service
复制代码

相关命令
  1. # 启动Kodi
  2. systemctl start kodi.service

  3. # 重启Kodi
  4. systemctl restart kodi.service

  5. # 关闭Kodi,可以直接在Kodi界面中点击退出按钮,也可命令行关闭,关闭后就是PVE的控制台
  6. systemctl stop kodi.service

  7. # 查看Kodi的运行状态
  8. systemctl status kodi.service

  9. # 禁用Kodi开机自动启动
  10. systemctl disable kodi.service

  11. # 未来升级Kodi,就直接运行apt命令就好了,简单方便
  12. apt update
  13. apt upgrade
复制代码

关于音频直通

如果你的HDMI/DP接收方支持直接解码某些音频,那么可以在Kodi系统设置`系统 -> 音频`中,勾选“允许直通输出”后,并在其下方继续勾选你的HDMI/DP接收方支持的音频格式(如果某个格式勾选后该格式的视频播放没有声音,那么就是你的接收方不支持直接解码该音频格式,就不要勾选该格式)。

音频直通最高可以支持7.1全景声,而如果你用Kodi解码后再传递给HDMI/DP,有可能只能支持2.0或2.1声道(对,管你几声道通通转成二声道),这大大降低了视听感受。直通显卡和声卡给虚拟机LibreELEC的,我不确定是否可以实现音频直通,这至少在我的环境中无法实现。

通过HDMI/DP直通的音频,在播放时无法在Kodi中控制音量,只能通过接收方控制。而某些不支持直通的音频,则是通过Kodi解码的,既可以通过Kodi控制音量,也可以通过接收方控制音量。

通过HDMI/DP直通的音频,在解码信息上所有音频频道将显示`RAW`,而未直通的音频将显示正常的轨道信息。如下面图片所示:

screenshot00001_1.png
screenshot00002_1.png
screenshot00006_1.png

关于硬解

如果你是按照上述方式安装的Kodi,那么它将自动检测可以硬解的视频编码并自动设置好,如果你想要了解你的显卡到底可以硬解什么编码,可以这样:
  1. ## 安装
  2. apt install -y va-driver-all vainfo

  3. ## 检测
  4. vainfo
复制代码


成功硬解的视频,在解码信息上的`硬件解码`将显示`活动`,并且解码器使用的是`vaapi`系列解码器,如下面图片所示:

screenshot00004_1.png
screenshot00005_1.png

相关教程

  • 为Kodi适配遥控器
  • 修改Kodi字幕字体
  • 修改Kodi皮肤字体
  • 屏蔽Kodi的关机、重启按钮

以上教程全部见:https://www.jianshu.com/p/34ecb9dcf5b8

总结

按上述流程,只主动安装了1个软件包,只主动增加了1个配置文件,根据`dpkg-query -L kodi`的输出可知,除去Kodi的可执行程序外,Kodi安装的文件主要集中在这几个文件夹:
  1. /usr/lib/x86_64-linux-gnu/kodi
  2. /usr/share/applications/
  3. /usr/share/doc/kodi
  4. /usr/share/man/man1/
  5. /usr/share/metainfo/
  6. /usr/share/xsessions
复制代码

同时,Kodi的配置文件主要存放在两个地方:
  1. /usr/share/kodi  # 系统级配置
  2. ~/.kodi          # 用户级配置
复制代码

这些文件对系统都谈不上有什么污染,对PVE套件本身一点影响都没有,整体上对PVE环境的影响是完全可控的。

在最后,提醒一下,如果是以root用户启动的,千万要注意在Kodi中将关机、重启等影响PVE主机的命令都按照上面的教程屏蔽掉,要不然你懂的...







我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-7-13 14:02 | 显示全部楼层
新思路。。之前折腾显卡直通失败。
这篇文章收藏起来看
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-7-21 02:02 来自手机 | 显示全部楼层
折腾PVE下核显直通失败,试试楼主这个方案
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2022-8-10 17:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

| 江苏省互联网有害信息举报中心 举报信箱:js12377@jschina.com.cn 举报电话:025-88802724 | 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797
快速回复 返回顶部 返回列表