分享

Unraid下,单核显IGPU实现win10外接显示屏不黑屏,兼顾jellyfin

 pio9999 2023-01-19 发布于广西
2020-12-28 18:33:43 30点赞 228收藏 98评论

追加修改(2022-05-24 22:37:39):
完美方案移步https://post.smzdm.com/detail_preview/apv7l397/

---------------------------------------------------------------------------------------------------------------------

前言

最近忙家里的网络改造,所以一直耽搁也没有时间来写个贴告诉大家具体的实现方法.因为我的前面那一贴,也只是粗略描述了一遍,本身只是出于自己成功的分享,从没想过要专门写一文来普众,因为主要嫌麻烦.

最近忙完家中一些网线重新布置,增加了ac+ap,又花了500块私人请移动拉了条光纤入户(因为我们小区据他们口述,走暗线难度高,总之就是不想弄,投诉也投诉了3年了,没办法算了,花点钱,整个小区从11年我做第一个百兆用户,到现在做第一个千兆用户,哎,说多了都是类),现在花点时间

告诉大家详细每一个步骤,并且优化了部分前一贴的多余的操作,仔细看,跟着走,来试试吧....

---------------------------------------------------------------------------------------------------------------------

正文

首先编辑下go文件,cd /boot/config,修改下GPU缓存区,设置下modprobe i915,

这里可以安装个CA Config Editor,方便修改.

我的go文件如下:

Unraid下,单核显IGPU实现win10外接显示屏不黑屏,兼顾jellyfin

#!/bin/bash

# Start the Management Utility

/usr/local/sbin/emhttp &

echo 0 > /sys/class/vtconsole/vtcon0/bind

echo 0 > /sys/class/vtconsole/vtcon1/bind

echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind

modprobe i915

chown nobody:users /dev/dri

chmod 0777 /dev/dri/*

------------------------------------------------

我的U盘flash下面的启动项:

kernel /bzimage

append vfio-pci.ids=8086:a370,8086:a304,8086:a348,8086:a323,8086:a324,8086:15bc,8086:1521 pcie_acs_override=downstream,multifunction vfio_iommu_type1.allow_unsafe_interrupts=1 initrd=/bzroot

-----------------------------

这里跟上篇所说的屏蔽不同, 这里面屏蔽的是我主板的无线网卡,声卡,i219v网卡(1个group下要屏蔽4个),但是没有屏蔽显卡.因为我后来尝试,发现其实并不需要屏蔽,(屏蔽理论上确实是说直通能更优化利用cpu性能,但是个人实际使用起来,感觉无异,况且应该没有人真拿这样一台机器只用核显来虚拟出win10打游戏,对吧).

所以这里要不要屏蔽各位自己定夺.

我这儿不屏蔽主要有另一个原因,因为对jellyfin有需求,但是又不需要他的硬解,所以,在这里我选择不直通显卡.(直通显卡以后,jellyfin开了硬解,就不能开机启动了)

跟着我走,进入settings-vmmanager,找到PCIe ACS override选项:选择both.VFIO allow unsafe interrupts选项:选择yes,看图↓

Unraid下,单核显IGPU实现win10外接显示屏不黑屏,兼顾jellyfin

贴一张我的win10虚拟机的设置,

Unraid下,单核显IGPU实现win10外接显示屏不黑屏,兼顾jellyfin

Unraid下,单核显IGPU实现win10外接显示屏不黑屏,兼顾jellyfin

注意项就是需要:

1.显卡选择自己对应的显卡,我是UHD Graphics 630

2.Graphics ROM BIOS选择上传的这个通用VBIOS------vbios_gvt_uefi.rom

里面有另外两个bios,一个是UHD605,应该可以对应j4125的集显,还有一个UHD4600,这两个都是我在外网收集的,有效性未知,有兴趣的同学自行尝试,通用的就选择vbios_gvt_uefi.rom这个文件即可.

OK,上传完成后,选择对应的vbios,下面说下一项:声卡.

声卡这里也有个坑,我个人是这样的,我的主板是技嘉

的H370N,尝试了很久直通声卡,开win10声卡能用,但是看log日志,总是报错诸如:235898Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:1f.6, no available reset mechanism.这样的字样.但是实际使用是完全没问题的,这条因为意思是说声卡这条不能被重置.

最后发现了原因,查看了官方文档,参考看这里:中文文档,

里面解释了有些主板是不支持的,可以用下面这条命令查看直通不支持reset的设备:

for iommu_group in $(find /sys/kernel/iommu_groups/ -maxdepth 1 -mindepth 1 -type d);do echo "IOMMU group $(basename "$iommu_group")"; for device in $(ls -1 "$iommu_group"/devices/); do if [[ -e "$iommu_group"/devices/"$device"/reset ]]; then echo -n "[RESET]"; fi; echo -n $'t';lspci -nns "$device"; done; done

Unraid下,单核显IGPU实现win10外接显示屏不黑屏,兼顾jellyfin

如果后面是写着---[RESET]字样的,这个设备就是支持reset的,很显然,我的声卡不支持的(group11 00:1f.3)...

好了,过了声卡这个坑,基本机完事儿了,启动你的win10看看吧,记得要安装好声卡显卡的驱动文件.这个不详细叙述了,安驱动各位应该都会吧.实测我的没有reset,声卡也是正常没有爆音的,强迫症别纠结了...

然后接下来说说jellyfin

Unraid下,单核显IGPU实现win10外接显示屏不黑屏,兼顾jellyfin

具体怎么安装设置就不多说了,各位大佬的文章都写得很详细,

我这里说一点,要想让jellyfin正常硬解支持的话,我个人实测,是只能暂时关闭掉win10虚拟机的,否则画面黑屏不输出,因为win10占用了硬解的通道.解决办法就是在需要看电影的时候把win10虚拟机关掉,,,需要的时候再开启就好了.

想要同时jellyfin开启,同时win10也运行,个人能力有限,有能力折腾的或者折腾出来的同学下面留言,让更多人知道吧...

这里说点废话,关于硬解:第一,我个人是用不到这台机器的硬解功能,自己的手机设备,投影仪都能直接硬解不需要,第二,本人不下载4k电影看,1080p足以,我仓储里也没有4k的文件能测试,你们自行测试.而且,我看很多人对于目前硬解这股热潮风气,我是不解的,真的那么多人有这个硬解需求,真的有人天天把自己端口开出去,供自己或者供家人朋友看自己家NAS里的电影吗?反正我个人就是下过来什么就直接看他源码率,没必要搞什么转码的,,,][-'

以上完,

有什么纰漏错误欢迎指正,写这些还带截图前前后后花了一两个小时,也算给之前的帖子的朋友一个交代了.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多