J3455NUC虚拟机安装LibreELEC核显直通HDMI输出

去年年底这NUC到手时,就装PVE练手,然而最后做主力挂机的是那会买的个1037U小主机

当时就尝试过装LibreELEC,结果是接显示器黑屏


不过后来我直接在宿主机上装桌面和Kodi,但是吧那源里的Kodi是17的对于x265是软解。。。

如果想装Kodi18要么自己编译,要么是Ubuntu能装测试的好像,我也不会在其他机器上编译个安装包,后来又尝试了装Volumio和Daphile,是可以直通哦,直通那集成声卡吧,或者直通USB接口,然后再接USB声卡之类,再接传统音箱的话就能Airplay之类的了。。。

然后今年偶然又搜到了PVE核显直通,说是只有VGA有输出,我那时刚买了新的集成主板,就又在NUC上试了下,还是不行啊,和去年一样黑屏,宿主机死机,显示器又没VGA口,又没转接线。。。


最后又是搜J3455 HDR搜到了这篇tgfc论坛的

https://club.tgfcer.com/viewthread.php?tid=7657483&extra=&page=1

我觉得又有希望了,经过一星期的试错后,最终终于弄好,但我这音频输出设备看不到HDMI字样,只能用那3.5毫米耳机孔来听了。。。


大致流程直接看那论坛就行。

我贴简要的步骤,直接粘贴的history里

rm /etc/apt/sources.list.d/pve-enterprise.list
echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg

apt update && apt dist-upgrade

以上是装Proxmox ve系统后升级

 vi /etc/default/grub

找到这行按如下编辑

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off,vesafb:off"

update-grub
vi /etc/modules 

添加

vfio

vfio_iommu_type1

vfio_pci

vfio_virqfd


vi /etc/modprobe.d/blacklist.conf

添加

blacklist snd_hda_intel
blacklist snd_soc_skl
blacklist snd_hda_codec_hdmi
blacklist i915


echo "options vfio-pci ids=[igpu vender id],[声卡 vender id]" > /etc/modprobe.d/vfio.conf

如果是J3455的机子直接操作这行

echo "options vfio-pci ids=8086:5a85,8086:5a98" > /etc/modprobe.d/vfio.conf

8086:5a98这是集成声卡

如果是其他CPU自行去用lspci -n -s XX:XX查看XX:XX先用lspci查看


update-initramfs -u

以上是前期准备工作
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf

这两条我没加也可以

然后重启机器


还有重要的一步,就是Dump VGA romfile

如果是只支持UEFI的CPU可以不用看了,比如 J4105 J5005,他执行不聊下面这步啊

可以做个debian live U盘,用传统引导U盘进去用这工具,操作详情这上面已经写清楚了https://github.com/awilliam/rom-parser

不想git clone的话可以直接下载zip unzip解压出来就行

cd rom-parser

make

cd /sys/bus/pci/devices/0000:00:02.0/

echo 1 > rom

cat rom > /tmp/image.rom

echo 0 > rom

UEFI进live U盘你执行cat rom就提示IO错误啥的


贴个我拷贝出来的具体操作方法

tt@tt-NUC6CAYH:~/rom-parser$ sudo ./rom-parser /tmp/image.rom
Valid ROM signature found @0h, PCIR offset 40h
    PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 0406, class: 030000
    PCIR: revision 3, vendor revision: 0
    Last image
tt@tt-NUC6CAYH:~/rom-parser$ sudo ./rom-fixer /tmp/image.rom
Valid ROM signature found @0h, PCIR offset 40h
    PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 0406, class: 030000
    PCIR: revision 3, vendor revision: 0

Modify vendor ID 8086? (y/n): n
Modify device ID 0406? (y/n): y
New device ID: 5a85
Overwrite device ID with 5a85? (y/n): y
    Last image
ROM checksum is invalid, fix? (y/n): y
tt@tt-NUC6CAYH:~/rom-parser$ sudo ./rom-parser /tmp/image.rom
Valid ROM signature found @0h, PCIR offset 40h
    PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 5a85, class: 030000
    PCIR: revision 3, vendor revision: 0
    Last image

用U盘拷出来,放到PVE的/usr/share/kvm里

当然还有如果就是用的J3455,可以直接用那论坛提供的romfile,我这J3455NUC上dump出来的也能用在华擎J3455上,所以都通用


然后创建虚拟机怎么创建看别处教程吧,详情zdm里添加LEDE那篇


内存选4G否则开机花屏,SCSI控制器我这创建时的默认也行

硬盘一定要选SATA,我以前就装过,默认的在控制台上都启不来

这是我刚添加好,然后通过img2kvm添加上去引导盘

把LibreELEC镜像传到/root里

chmod u+x img2kvm
./img2kvm LibreELEC-Generic.x86_64-9.1.001.img 100

100是那虚拟机vmid

具体工具操作方法在http://everun.top/helpcenter/others/img2kvm-instruction.html


最后编辑/etc/pve/qemu-server/[vmid].conf

加上args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=[rom文件名].bin

vga: none在创建虚拟机时不选择就是none

hostpci0: [声卡地址],rombar=0

这个也可以在web上操作添加PCI设备点高级把Rom-bar取消打钩就有了rombar=0

如果没有rombar=0的话,在Kodi音频输出设备里看不到


在选项那把刚添加的那块盘设为第一引导,然后加个USB设备,具体是哪个自己试,要么就直接添加USB的那个PCI

启动安装后,web点停止,因为不是所有虚拟机都能通过那关机关掉,然后把引导换回去,再开机就好了


音频输出设备我也没办法,反正目前只能通过3.5毫米耳机孔来弄,看看你们的那些主板能不能成功HDMI音频输出。。

贴昨晚用华擎J3455和今天用J3455NUC直通核显后的图


















-- --
  • 投诉或建议
评论