PVE显卡直通&Jellyfin硬解
2020年5月24日前写完
2020年5月24日前写完
方案是安装lm-sensors包,使用其中的sensors命令读取温度,将sensors的输出传递到PVE前端页面(/usr/share/pve-manager/pvemanagerlib.js),通过前端页面的js脚本的match函数匹配对应的行,提取出温度值进行显示。
但我的温度中有两个temp1,我想要显示第二个,但却没找到实现的办法。
root@pve:/usr/share/pve-manager/js# sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +47.0°C (high = +80.0°C, crit = +100.0°C)
Core 0: +45.0°C (high = +80.0°C, crit = +100.0°C)
Core 1: +47.0°C (high = +80.0°C, crit = +100.0°C)
acpitz-acpi-0
Adapter: ACPI interface
temp1: +27.8°C (crit = +119.0°C)
temp2: +29.8°C (crit = +119.0°C)
pch_skylake-virtual-0
Adapter: Virtual device
temp1: +48.5°C
后来灵机一动,通过linux的管道,使用sed将第一个temp1相关部分(第6-10行)删除,即在/usr/share/perl5/PVE/API2/Nodes.pm页面中增加的sensros命令修改成:
sensors | sed '6-10d'
最终效果:
前几天在红米K20上用APKPure更新Twitter,MIUI提示安装需要关闭MIUI优化,但关闭后还是无法安装,就想办法试试用电脑安装。
电脑上操作,到APKPure网站上下载安装包之后,发现是个下xapk的包,官方解释是“Multiple APKs”,即多个apk组成的安装包。
这个安装包无法直接用adb安装,解压之后有多个apk,看文件名是一个主程序apk和多个配置用的apk
adb只能安装主程序apk,其他apk无法安装,提示是部分安装包不支持,而已安装的主程序打开闪退,无法使用。
查看adb的帮助,发现有一个install-multiple的新功能,应该是对应这种情况的。google一圈之后终于搞明白了该命令的用法:
用这个命令把主程序apk和需要的配置apk一起安装即可。在Twitter这个例子中,我选择了主程序apk、cpu架构配置apk、高分屏配置apk和中文支持apk一起安装,其他语言配置包不需要就不装了。
adb install-multiple .\com.twitter.android.apk .\config.armeabi_v7a.apk .\config.xhdpi.apk .\config.zh.apk
原理:来自 Google 的云端优化,这个技巧让你的应用秒开
获取第三方应用包列表,存入变量:
$PackageList = adb shell pm list packages -3
新建计数变量:
$Index = 1
遍历每行应用包名,编译:
foreach($PackageListLine in $PackageList)
{
$PackageName = $PackageListLine.Remove(0, 8)
echo("Compiling " + $Index++ +"/" + $PackageList.Count + " " + $PackageName)
adb shell cmd package compile -m speed -f $PackageName
}
输出效果:
获取第三方应用列表:
adb shell pm list packages -3 > packages.txt
Powershell中运行adb,批量编译第三方应用:
foreach($line in Get-Content("packages.txt"))
{
$PackgeName = $line.Remove(0,8)
echo("compiling " + $PackgeName)
adb shell cmd package compile -m speed -f $PackgeName
}
删除临时文件:
Remove-Item("packages.txt")
在使用微软双拼的环境下
double_pinyin_mspy.custom.yaml
(输入法自定义配置文件,其他输入法换为输入法名.custom.yaml
)中加入下面代码:
patch:
# 載入朙月拼音擴充詞庫
"translator/dictionary": luna_pinyin.extended
将luna_pinyin.extended.dict.yaml
、luna_pinyin.dict.yaml
、luna_pinyin.hanyu.yaml
、luna_pinyin.poetry.dict.yaml
和luna_pinyin.cn_en.dict.yaml
五个文件放入用户文件夹。luna_pinyin.extended.dict.yaml
引用了其他四个词库文件。
来源:https://github.com/rime-aca/dictionaries
double_pinyin_mspy.custom.yawl
(输入法自定义配置文件,其他输入法换为输入法名.custom.yawl
)中加入下面代码:
patch:
#不展开成全拼
translator/preedit_format: []
来源:https://github.com/rime/squirrel/issues/261
default.custom.yaml
中加入如下代码:
# 輸入 rime 之後,再輸入任意一個數字,則立即識別爲西文輸入
patch:
recognizer/patterns/rime123: "^rime[0-9]+$"
来源:https://gist.github.com/lotem/3076166
weasel.custom.yaml
中加入如下代码:
patch:
app_options/bf2cn.exe: #程序
ascii_mode: true
来源:rime定制指南
据说翻译结果比Google和Microsoft的更好,测试一下。
https://www.deepl.com
从什么值得买上看到一篇文章,群晖VideoStation支持DST、EAC3、TrueHD。这篇文章是从别处抄来的。
但是这个作者要么对linux系统不大熟悉,要么群晖或VideoStation更新了,文章里有不少问题,主要是要替换的文件路径不对,如果按照他的命令操作的话会出问题。
下面说明一下亲测过的正确操作。
VideoStation中的ffmpeg不支持DST、EAC3、TrueHD,用支持DST、EAC3、TrueHD的ffmpeg替换掉。
安装包在https://github.com/th0ma7/synology/tree/master/packages,下载下来对应的安装包,DS918+对应的是ffmpeg_apollolake-6.1_4.2.2-28.spk。
登录DSM,套件中心,手动安装,上传并安装。
SSH登录DSM,并用下面命令切换到root:
sudo -i
切换到VideoStation目录,备份文件:
cd /var/packages/VideoStation/target/
sed -i'-BACKUP' -e 's/eac3/ZAAP/' -e 's/dts/ZAP/' -e 's/truehd/ZAPZAP/' lib/libsynovte.so
mv bin/ffmpeg bin/ffmpeg.orgi
mv bin/ffprobe bin/ffprobe.orgi
mv bin/vainfo bin/vainfo.orgi
替换文件:
echo "H4sICEoigl4AA2ZmbXBlZwCtU8tOwzAQvO9XLEmkPlAwrRCHVokqBOILOEUVctN1YtE8FFumEvDvOA9KSQInfEhsZ2ZnPN64F2wnc7bjKgWws8ChI8XIDK9YyeMXnpBiQmQlJUzzKiHd4NsdB8DF+4e7p0egOC3Q8TYOhiEynZUd5OpQJACWqILpDF5TeSCMIvRc9BON17jdwr6AmCuy7IWDMge0wzdlVQgLnjVLO1Qqhf5a1PUug6njH5e3Nx3SaQqc8Ot1V0iMl3CNCLxpZ9sKv6OiPfqEE3veosq4DnKzWF7NVcwP9Gw4LyU7nyeTDu2x1RmBTU56jUyXT7cciGoi9Hk/sf9zAz/ttNJGrDDyjNiO3lY/YyPqaO1zkK0cjzYrjKSgPuCgluzdUi+e1l7Lj7zm/afHzsh81hfqdQIpHkPrcV/kBKBIo+9bL281I9psP/q97Nk2/7WhG8TI/jdpGYaDv8A9fYZPjqtrMXcDAAA=" | base64 -d | gunzip > bin/ffmpeg
ln -s /var/packages/ffmpeg/target/bin/ffprobe bin/
ln -s /var/packages/ffmpeg/target/bin/vainfo bin/
sudo sed -i'-BACKUP' -e 's/eac3/ZAAP/' -e 's/dts/ZAP/' -e 's/truehd/ZAPZAP/' lib/libsynovte.so
说明一下,ffmpeg替换成了一个脚本,脚本里带有输出日志,便于调试,而ffprobe和vainfo则直接建立符号连接。
调整权限:
cd /var/packages/VideoStation/target/
chmod +x bin/ffmpeg
chmod +s bin/ffmpeg
chown root:VideoStation bin/ffmpeg
DSM中打开VideoStation,播放带DST、EAC3、TrueHD音频的视频。
SSH中打开日志文件,查看输出:
tail -f /tmp/ffmpeg.log
实测打开1080P的高码率DTS或EAC3的视频,CPU占用率约20%。
http://downloads.pangubox.com:6380/lintel/R619AC/
- Q:固件能支持IPv6吗?
A:支持IPv6,默认没有打开,需要IPv6请在接口->LAN->DHCP服务器->IPv6设置:
路由器通告模式->改为服务器模式.
DHCPv6服务->改为服务器模式
NDP代理->禁用
总是通告默认路由->勾选
double-pin
,下载安装Rime使用sync文件夹下的uuid子文件夹来保存每个用户的个性配置,在用户配置文件夹下的installation.yaml
中可以设置sync文件夹的位置。比如我把配置保存到NAS中syncthing的一个文件夹中,这样我另一台电脑使用syncthing同步数据时顺便把Rime的配置也一并同步,再用Rime的导入工具导入即可。
sync_dir: '\\192.168.31.195\Sync\Syncthing\owncloud\RimeSync'