Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jan 2024 13:29:59 +0100
From:      "=?utf-8?B?TWljaGFlbCBTbMO4Z2VkYWw=?=" <michael@sloged.al>
To:        "=?utf-8?B?Q29ydmluIEvDtmhuZQ==?=" <corvink@FreeBSD.org>, "freebsd-virtualization@FreeBSD.org" <freebsd-virtualization@FreeBSD.org>
Subject:   RE: bhyve intel 530 integrated graphics error
Message-ID:  <gxES.INF-UkyqgUaVu1JPB28uuw@glmCCa_wBUS_ZHQxCPWJ9pppRw7QvPBNov6dIZtuV44.xz>
In-Reply-To: <a66487231b4c77dabdd17b4120cc6a5067ae4e97.camel@FreeBSD.org>
References:   <gxES.l1BY6Ym_vUi8D9urxKuWvQ@Zoka9TMijEmnc8h1QEfjMc2pA_dP_RxOrEsZw_uiNe4.xz> <a66487231b4c77dabdd17b4120cc6a5067ae4e97.camel@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

------=_NextPart_000_0005_B98A84ED.F06AD2C
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset="utf-8"

Thanks Corvin,=0A=0A =0A=0AHowever it=E2=80=99s still not clear to me fro=
m D26209 what exactly I need to do, and=0Awhat I=E2=80=99ve tried doesn=E2=
=80=99t work =F0=9F=98=8A Any additional advice is appreciated.=0A=0A =0A=
=0A 1. Dropped the GOP rom for now. Unless I need it for windows loading =
screen /=0A    windows diagnostics/repair ? GpuZ won=E2=80=99t extract it=
 anyhow.=0A 2. I=E2=80=99ve added the -A option, no visible change=0A 3. =
BHYVE_CODE.fd =E2=80=93 not sure if I=E2=80=99m using it right. I changed=
 the symlink for=0A    BHYVE_UEFI.fd to point to this file. No visible ch=
ange =E2=80=93 except I now have=0A    4 non-working COM ports.=0A 4. I t=
ried passthru on usb, and get the same error that I did with the audio=0A=
    card (see below)=0A 5. The gfx card initially boots with windows Erro=
r 43. When I delete it and=0A    scan for hardware changes it pops back i=
n, without the error, but no=0A    displays detected.=0A 6. I=E2=80=99m u=
sing vga/dvi ports without success, haven=E2=80=99t tried displayport. No=
 hdmi=0A    ports. In case that matters.=0A 7. Should I try to update fre=
ebsd to 14-STABLE branch and see if that makes a=0A    difference? (If I =
can figure out how)=0A=0A =0A=0A# tail /vm/win10ltsc/bhyve.log=0A=0Apci_f=
buf: mmap_memseg failed=0A=0AAssertion failed: (mr->name =3D=3D memp->nam=
e), function unregister_mem, file /usr/=0Asrc/usr.sbin/bhyve/mem.c, line =
344.=0A=0A =0A=0A# tail /vm/win10ltsc/vm-bhyve.log=0A=0AJan 17 13:08:48:=C2=
=A0 [primary disk: disk0.img]=0A=0AJan 17 13:08:48:=C2=A0 [primary disk d=
ev: file]=0A=0AJan 17 13:08:48: dynamically allocated port 5900 for vnc c=
onnections=0A=0AJan 17 13:08:48: booting=0A=0AJan 17 13:08:48:=C2=A0 [bhy=
ve options: -c 6,sockets=3D1,cores=3D3,threads=3D2 -m 8G -Hwl=0Abootrom,/=
usr/local/share/uefi-firmware/BHYVE_UEFI.fd -A -U=0A8dff5c4a-b083-11ee-b2=
cd-78d004259091 -S]=0A=0AJan 17 13:08:48:=C2=A0 [bhyve devices: -s 0,host=
bridge -s 31,lpc -s 4:0,ahci,hd:/vm/=0Awin10ltsc/disk0.img -s 31:6,passth=
ru,0/31/6 -s 2:0,passthru,0/2/0 -s=0A20:0,passthru,0/20/0 -s 6:0,fbuf,tcp=
=3D0.0.0.0:5900,w=3D1920,h=3D1080 -s=0A7:0,xhci,tablet]=0A=0AJan 17 13:08=
:48:=C2=A0 [bhyve console: -l com1,/dev/nmdm-win10ltsc.1A]=0A=0AJan 17 13=
:08:48: starting bhyve (run 1)=0A=0AJan 17 13:08:50: bhyve exited with st=
atus 134=0A=0AJan 17 13:08:50: stopped=0A=0A =0A=0A# pciconf -lv |grep -E=
C 2 "(USB 3|Audio)"=0A=0Appt1@pci0:0:20:0:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 class=3D0x0c0330 rev=3D0x31 hdr=3D0x00 vendor=3D0x8086 device=3D=0A0x=
a12f subvendor=3D0x8086 subdevice=3D0xa12f=0A=0A=C2=A0=C2=A0=C2=A0 vendor=
=C2=A0=C2=A0=C2=A0=C2=A0 =3D 'Intel Corporation'=0A=0A=C2=A0=C2=A0=C2=A0 =
device=C2=A0=C2=A0=C2=A0=C2=A0 =3D '100 Series/C230 Series Chipset Family=
 USB 3.0 xHCI=0AController'=0A=0A=C2=A0=C2=A0=C2=A0 class=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 =3D serial bus=0A=0A=C2=A0=C2=A0=C2=A0 subclass=C2=A0=C2=A0 =
=3D USB=0A=0A--=0A=0Appt2@pci0:0:31:3:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 class=3D0x040300 rev=3D0x31 hdr=3D0x00 vendor=3D0x8086 device=3D=0A0xa17=
0 subvendor=3D0x8086 subdevice=3D0xa170=0A=0A=C2=A0=C2=A0=C2=A0 vendor=C2=
=A0=C2=A0=C2=A0=C2=A0 =3D 'Intel Corporation'=0A=0A=C2=A0=C2=A0=C2=A0 dev=
ice=C2=A0=C2=A0=C2=A0=C2=A0 =3D '100 Series/C230 Series Chipset Family HD=
 Audio Controller'=0A=0A=C2=A0=C2=A0=C2=A0 class=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 =3D multimedia=0A=0A=C2=A0=C2=A0=C2=A0 subclass=C2=A0=C2=A0 =3D HDA=0A=
=0A =0A=0A =0A=0AFrom: Corvin K=C3=B6hne <corvink@FreeBSD.org>=0ASent: We=
dnesday, January 17, 2024 8:19 AM=0ATo: Michael Sl=C3=B8gedal <michael@sl=
oged.al>; freebsd-virtualization@FreeBSD.org=0ASubject: Re: bhyve intel 5=
30 integrated graphics error=0A=0A =0A=0AHi,=0A=0A =0A=0Aunfortunately, G=
PU passthrough is supported by bhyve but not OVMF. So,=0A=0Ayou have to u=
se a patched OVMF. The required patch stack is available=0A=0Aat https://=
reviews.freebsd.org/D41714. An older version and most=0A=0Aprobably still=
 working prebuilt version is available at=0A=0Ahttps://reviews.freebsd.or=
g/D26209.=0A=0A =0A=0AOn Wed, 2024-01-17 at 01:18 +0100, Michael Sl=C3=B8=
gedal wrote:=0A=0A> Hi,=0A=0A>  =0A=0A> I=E2=80=99ve been trying to colle=
ct the necessary info online about how to do=0A=0A> gpu passthru with int=
egrated intel graphics to win10, but can=E2=80=99t make=0A=0A> it work.=0A=
=0A>  =0A=0A>    1. First tried with just passthru, and after 3-4 reboots=
, the=0A=0A> display adapter shows up in win10 guest, but it won=E2=80=99=
t load properly.=0A=0A =0A=0ADespite some configuration requirements (e.g=
=2E always use slot 2) that's=0A=0Aall you need.=0A=0A =0A=0A>    2. Trie=
d adding the hd audio device as well, get bluescreen with=0A=0A> =E2=80=9C=
memory_management=E2=80=9D stop code in guest=0A=0A =0A=0AShouldn't happe=
n but seems like another issue.=0A=0A =0A=0A>    3. Tried adding a gop ro=
m from=0A=0A> https://github.com/patmagauran/i915ovmfPkg - host crashed a=
nd got=0A=0A> error below=0A=0A =0A=0AA GOP is only required for pre OS g=
raphics (e.g. grub menu).=0A=0A =0A=0AI highly recommend using the GOP fr=
om your host system to avoid damages=0A=0Aor strange issues due to incomp=
atibilities. Unfortunately, it's not=0A=0Aalways possible to easily extra=
ct the GOP from your host system. Even=0A=0AIntel recommends to ask your =
board manufacturer:=0A=0Ahttps://projectacrn.github.io/3.2/tutorials/gpu-=
passthru.html#enable-the-gvt-d-gop-driver=0A=0A =0A=0ASome alternative wa=
ys to extract the GOP:=0A=0A =0A=0AOn Windows try GPU-Z:=0A=0Ahttps://nvi=
dia.custhelp.com/app/answers/detail/a_id/4188/~/extracting-the-geforce-vi=
deo-bios-rom-file=0A=0AOn Linux try sysfs:=0A=0Ahttps://pve.proxmox.com/w=
iki/PCI_Passthrough#The_.27romfile.27_option=0A=0A =0A=0A>  =0A=0A> I=E2=80=
=99m at a loss what to try next. Any ideas where I=E2=80=99m going wrong?=
=0A=0A>  =0A=0A> # tail /vm/win10ltsc/vm-bhyve.log       =0A=0A> Jan 17 0=
0:49:02:  [primary disk: disk0.img]=0A=0A> Jan 17 00:49:02:  [primary dis=
k dev: file]=0A=0A> Jan 17 00:49:02: dynamically allocated port 5900 for =
vnc connections=0A=0A> Jan 17 00:49:02: booting=0A=0A> Jan 17 00:49:02:  =
[bhyve options: -c 6,sockets=3D1,cores=3D3,threads=3D2 -m=0A=0A> 8G -Hwl =
bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd -s=0A=0A> 2:0,passth=
ru,0/2/0,rom=3D/vm/win10ltsc/i915ovmf.rom -U 8dff5c4a-b083-=0A=0A> 11ee-b=
2cd-78d004259091 -S]=0A=0A> Jan 17 00:49:02:  [bhyve devices: -s 0,hostbr=
idge -s 31,lpc -s=0A=0A> 4:0,ahci,hd:/vm/win10ltsc/disk0.img -s 31:6,pass=
thru,0/31/6 -s=0A=0A> 6:0,fbuf,tcp=3D0.0.0.0:5900,w=3D1920,h=3D1080 -s 7:=
0,xhci,tablet]=0A=0A> Jan 17 00:49:02:  [bhyve console: -l com1,/dev/nmdm=
-win10ltsc.1A]=0A=0A =0A=0AYou have to use the `-A` flag. There's an open=
 PR for vm-bhyve:=0A=0Ahttps://github.com/churchers/vm-bhyve/pull/525/com=
mits/653d01f5b53c0bd8ce707137f67617536de8b1c0=0A=0A =0A=0A> Jan 17 00:49:=
02: starting bhyve (run 1)=0A=0A> Jan 17 00:49:04: bhyve exited with stat=
us 134=0A=0A> Jan 17 00:49:04: stopped=0A=0A>  =0A=0A> # tail /vm/win10lt=
sc/bhyve.log  =0A=0A> pci_fbuf: mmap_memseg failed=0A=0A> Assertion faile=
d: (mr->name =3D=3D memp->name), function unregister_mem,=0A=0A> file /us=
r/src/usr.sbin/bhyve/mem.c, line 344.=0A=0A>  =0A=0A> # uname -a=0A=0A> F=
reeBSD yellowfellow 14.0-RELEASE-p3 FreeBSD 14.0-RELEASE-p3 #0: Mon=0A=0A=
> Dec 11 04:56:01 UTC 2023    =0A=0A> root@amd64-builder.daemonology.net:=
/usr/obj/usr/src/amd64.amd64/sys/G=0A=0A> ENERIC amd64=0A=0A =0A=0A--=0A=0A=
Kind regards,=0A=0ACorvin=0A=0A
------=_NextPart_000_0005_B98A84ED.F06AD2C
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset="utf-8"

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-mi=
crosoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:wo=
rd" xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D=
"http://www.w3.org/TR/REC-html40"><head><meta http-equiv=3DContent-Type c=
ontent=3D"text/html; charset=3Dutf-8"><meta name=3DGenerator content=3D"M=
icrosoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
=09{font-family:"Cambria Math";
=09panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
=09{font-family:Calibri;
=09panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
=09{font-family:Consolas;
=09panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
=09{margin:0in;
=09font-size:11.0pt;
=09font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
=09{mso-style-priority:99;
=09color:#0563C1;
=09text-decoration:underline;}
pre
=09{mso-style-priority:99;
=09mso-style-link:"HTML Preformatted Char";
=09margin:0in;
=09margin-bottom:.0001pt;
=09font-size:10.0pt;
=09font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
=09{mso-style-priority:34;
=09margin-top:0in;
=09margin-right:0in;
=09margin-bottom:0in;
=09margin-left:.5in;
=09font-size:11.0pt;
=09font-family:"Calibri",sans-serif;}
span.HTMLPreformattedChar
=09{mso-style-name:"HTML Preformatted Char";
=09mso-style-priority:99;
=09mso-style-link:"HTML Preformatted";
=09font-family:Consolas;}
span.EmailStyle21
=09{mso-style-type:personal-reply;
=09font-family:"Calibri",sans-serif;
=09color:windowtext;}
=2EMsoChpDefault
=09{mso-style-type:export-only;
=09font-size:10.0pt;
=09mso-ligatures:none;}
@page WordSection1
=09{size:8.5in 11.0in;
=09margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
=09{page:WordSection1;}
/* List Definitions */
@list l0
=09{mso-list-id:959143182;
=09mso-list-type:hybrid;
=09mso-list-template-ids:-2085744828 67698705 67698713 67698715 67698703 =
67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
=09{mso-level-text:"%1\)";
=09mso-level-tab-stop:none;
=09mso-level-number-position:left;
=09text-indent:-.25in;}
@list l0:level2
=09{mso-level-number-format:alpha-lower;
=09mso-level-tab-stop:none;
=09mso-level-number-position:left;
=09text-indent:-.25in;}
@list l0:level3
=09{mso-level-number-format:roman-lower;
=09mso-level-tab-stop:none;
=09mso-level-number-position:right;
=09text-indent:-9.0pt;}
@list l0:level4
=09{mso-level-tab-stop:none;
=09mso-level-number-position:left;
=09text-indent:-.25in;}
@list l0:level5
=09{mso-level-number-format:alpha-lower;
=09mso-level-tab-stop:none;
=09mso-level-number-position:left;
=09text-indent:-.25in;}
@list l0:level6
=09{mso-level-number-format:roman-lower;
=09mso-level-tab-stop:none;
=09mso-level-number-position:right;
=09text-indent:-9.0pt;}
@list l0:level7
=09{mso-level-tab-stop:none;
=09mso-level-number-position:left;
=09text-indent:-.25in;}
@list l0:level8
=09{mso-level-number-format:alpha-lower;
=09mso-level-tab-stop:none;
=09mso-level-number-position:left;
=09text-indent:-.25in;}
@list l0:level9
=09{mso-level-number-format:roman-lower;
=09mso-level-tab-stop:none;
=09mso-level-number-position:right;
=09text-indent:-9.0pt;}
@list l1
=09{mso-list-id:1829978206;
=09mso-list-type:hybrid;
=09mso-list-template-ids:-939515924 67698703 67698713 67698715 67698703 6=
7698713 67698715 67698703 67698713 67698715;}
@list l1:level1
=09{mso-level-tab-stop:none;
=09mso-level-number-position:left;
=09text-indent:-.25in;}
@list l1:level2
=09{mso-level-number-format:alpha-lower;
=09mso-level-tab-stop:none;
=09mso-level-number-position:left;
=09text-indent:-.25in;}
@list l1:level3
=09{mso-level-number-format:roman-lower;
=09mso-level-tab-stop:none;
=09mso-level-number-position:right;
=09text-indent:-9.0pt;}
@list l1:level4
=09{mso-level-tab-stop:none;
=09mso-level-number-position:left;
=09text-indent:-.25in;}
@list l1:level5
=09{mso-level-number-format:alpha-lower;
=09mso-level-tab-stop:none;
=09mso-level-number-position:left;
=09text-indent:-.25in;}
@list l1:level6
=09{mso-level-number-format:roman-lower;
=09mso-level-tab-stop:none;
=09mso-level-number-position:right;
=09text-indent:-9.0pt;}
@list l1:level7
=09{mso-level-tab-stop:none;
=09mso-level-number-position:left;
=09text-indent:-.25in;}
@list l1:level8
=09{mso-level-number-format:alpha-lower;
=09mso-level-tab-stop:none;
=09mso-level-number-position:left;
=09text-indent:-.25in;}
@list l1:level9
=09{mso-level-number-format:roman-lower;
=09mso-level-tab-stop:none;
=09mso-level-number-position:right;
=09text-indent:-9.0pt;}
ol
=09{margin-bottom:0in;}
ul
=09{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3D"#0563=
C1" vlink=3D"#954F72" style=3D'word-wrap:break-word'><div class=3DWordSec=
tion1><p class=3DMsoNormal>Thanks Corvin,<o:p></o:p></p><p class=3DMsoNor=
mal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>However it=E2=80=99s still =
not clear to me from D26209 what exactly I need to do, and what I=E2=80=99=
ve tried doesn=E2=80=99t work <span style=3D'font-family:"Segoe UI Emoji"=
,sans-serif'>&#128522;</span> Any additional advice is appreciated.<o:p><=
/o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><ol style=3D'margin-to=
p:0in' start=3D1 type=3D1><li class=3DMsoListParagraph style=3D'margin-le=
ft:0in;mso-list:l1 level1 lfo2'>Dropped the GOP rom for now. Unless I nee=
d it for windows loading screen / windows diagnostics/repair ? GpuZ won=E2=
=80=99t extract it anyhow.<o:p></o:p></li><li class=3DMsoListParagraph st=
yle=3D'margin-left:0in;mso-list:l1 level1 lfo2'>I=E2=80=99ve added the -A=
 option, no visible change<o:p></o:p></li><li class=3DMsoListParagraph st=
yle=3D'margin-left:0in;mso-list:l1 level1 lfo2'>BHYVE_CODE.fd =E2=80=93 n=
ot sure if I=E2=80=99m using it right. I changed the symlink for BHYVE_UE=
FI.fd to point to this file. No visible change =E2=80=93 except I now hav=
e 4 non-working COM ports.<o:p></o:p></li><li class=3DMsoListParagraph st=
yle=3D'margin-left:0in;mso-list:l1 level1 lfo2'>I tried passthru on usb, =
and get the same error that I did with the audio card (see below)<o:p></o=
:p></li><li class=3DMsoListParagraph style=3D'margin-left:0in;mso-list:l1=
 level1 lfo2'>The gfx card initially boots with windows Error 43. When I =
delete it and scan for hardware changes it pops back in, without the erro=
r, but no displays detected.<o:p></o:p></li><li class=3DMsoListParagraph =
style=3D'margin-left:0in;mso-list:l1 level1 lfo2'>I=E2=80=99m using vga/d=
vi ports without success, haven=E2=80=99t tried displayport. No hdmi port=
s. In case that matters.<o:p></o:p></li><li class=3DMsoListParagraph styl=
e=3D'margin-left:0in;mso-list:l1 level1 lfo2'>Should I try to update free=
bsd to 14-STABLE branch and see if that makes a difference? (If I can fig=
ure out how)<o:p></o:p></li></ol><p class=3DMsoNormal><o:p>&nbsp;</o:p></=
p><p class=3DMsoNormal># tail /vm/win10ltsc/bhyve.log <o:p></o:p></p><p c=
lass=3DMsoNormal>pci_fbuf: mmap_memseg failed<o:p></o:p></p><p class=3DMs=
oNormal>Assertion failed: (mr-&gt;name =3D=3D memp-&gt;name), function un=
register_mem, file /usr/src/usr.sbin/bhyve/mem.c, line 344.<o:p></o:p></p=
><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal># tail /v=
m/win10ltsc/vm-bhyve.log<o:p></o:p></p><p class=3DMsoNormal>Jan 17 13:08:=
48:=C2=A0 [primary disk: disk0.img]<o:p></o:p></p><p class=3DMsoNormal>Ja=
n 17 13:08:48:=C2=A0 [primary disk dev: file]<o:p></o:p></p><p class=3DMs=
oNormal>Jan 17 13:08:48: dynamically allocated port 5900 for vnc connecti=
ons<o:p></o:p></p><p class=3DMsoNormal>Jan 17 13:08:48: booting<o:p></o:p=
></p><p class=3DMsoNormal>Jan 17 13:08:48:=C2=A0 [bhyve options: -c 6,soc=
kets=3D1,cores=3D3,threads=3D2 -m 8G -Hwl bootrom,/usr/local/share/uefi-f=
irmware/BHYVE_UEFI.fd -A -U 8dff5c4a-b083-11ee-b2cd-78d004259091 -S]<o:p>=
</o:p></p><p class=3DMsoNormal>Jan 17 13:08:48:=C2=A0 [bhyve devices: -s =
0,hostbridge -s 31,lpc -s 4:0,ahci,hd:/vm/win10ltsc/disk0.img -s 31:6,pas=
sthru,0/31/6 -s 2:0,passthru,0/2/0 -s 20:0,passthru,0/20/0 -s 6:0,fbuf,tc=
p=3D0.0.0.0:5900,w=3D1920,h=3D1080 -s 7:0,xhci,tablet]<o:p></o:p></p><p c=
lass=3DMsoNormal>Jan 17 13:08:48:=C2=A0 [bhyve console: -l com1,/dev/nmdm=
-win10ltsc.1A]<o:p></o:p></p><p class=3DMsoNormal>Jan 17 13:08:48: starti=
ng bhyve (run 1)<o:p></o:p></p><p class=3DMsoNormal>Jan 17 13:08:50: bhyv=
e exited with status 134<o:p></o:p></p><p class=3DMsoNormal>Jan 17 13:08:=
50: stopped<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p cl=
ass=3DMsoNormal># pciconf -lv |grep -EC 2 &quot;(USB 3|Audio)&quot;<o:p><=
/o:p></p><p class=3DMsoNormal>ppt1@pci0:0:20:0:=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 class=3D0x0c0330 rev=3D0x31 hdr=3D0x00 vendor=3D0x8086 device=3D=
0xa12f subvendor=3D0x8086 subdevice=3D0xa12f<o:p></o:p></p><p class=3DMso=
Normal>=C2=A0=C2=A0=C2=A0 vendor=C2=A0=C2=A0=C2=A0=C2=A0 =3D 'Intel Corpo=
ration'<o:p></o:p></p><p class=3DMsoNormal>=C2=A0=C2=A0=C2=A0 device=C2=A0=
=C2=A0=C2=A0=C2=A0 =3D '100 Series/C230 Series Chipset Family USB 3.0 xHC=
I Controller'<o:p></o:p></p><p class=3DMsoNormal>=C2=A0=C2=A0=C2=A0 class=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =3D serial bus<o:p></o:p></p><p class=3DMs=
oNormal>=C2=A0=C2=A0=C2=A0 subclass=C2=A0=C2=A0 =3D USB<o:p></o:p></p><p =
class=3DMsoNormal>--<o:p></o:p></p><p class=3DMsoNormal>ppt2@pci0:0:31:3:=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 class=3D0x040300 rev=3D0x31 hdr=3D0x=
00 vendor=3D0x8086 device=3D0xa170 subvendor=3D0x8086 subdevice=3D0xa170<=
o:p></o:p></p><p class=3DMsoNormal>=C2=A0=C2=A0=C2=A0 vendor=C2=A0=C2=A0=C2=
=A0=C2=A0 =3D 'Intel Corporation'<o:p></o:p></p><p class=3DMsoNormal>=C2=A0=
=C2=A0=C2=A0 device=C2=A0=C2=A0=C2=A0=C2=A0 =3D '100 Series/C230 Series C=
hipset Family HD Audio Controller'<o:p></o:p></p><p class=3DMsoNormal>=C2=
=A0=C2=A0=C2=A0 class=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =3D multimedia<o:p></=
o:p></p><p class=3DMsoNormal>=C2=A0=C2=A0=C2=A0 subclass=C2=A0=C2=A0 =3D =
HDA<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMs=
oNormal><o:p>&nbsp;</o:p></p><div><div style=3D'border:none;border-top:so=
lid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal><b>From=
:</b> Corvin K=C3=B6hne &lt;corvink@FreeBSD.org&gt; <br><b>Sent:</b> Wedn=
esday, January 17, 2024 8:19 AM<br><b>To:</b> Michael Sl=C3=B8gedal &lt;m=
ichael@sloged.al&gt;; freebsd-virtualization@FreeBSD.org<br><b>Subject:</=
b> Re: bhyve intel 530 integrated graphics error<o:p></o:p></p></div></di=
v><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><pre>Hi,<o:p></o:p></pre><pre=
><o:p>&nbsp;</o:p></pre><pre>unfortunately, GPU passthrough is supported =
by bhyve but not OVMF. So,<o:p></o:p></pre><pre>you have to use a patched=
 OVMF. The required patch stack is available<o:p></o:p></pre><pre>at <a h=
ref=3D"https://reviews.freebsd.org/D41714">https://reviews.freebsd.org/D4=
1714</a>. An older version and most<o:p></o:p></pre><pre>probably still w=
orking prebuilt version is available at<o:p></o:p></pre><pre><a href=3D"h=
ttps://reviews.freebsd.org/D26209">https://reviews.freebsd.org/D26209</a>=
=2E<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>On Wed, 2024-01-17 a=
t 01:18 +0100, Michael Sl=C3=B8gedal wrote:<o:p></o:p></pre><pre>&gt; Hi,=
<o:p></o:p></pre><pre>&gt; &nbsp;<o:p></o:p></pre><pre>&gt; I=E2=80=99ve =
been trying to collect the necessary info online about how to do<o:p></o:=
p></pre><pre>&gt; gpu passthru with integrated intel graphics to win10, b=
ut can=E2=80=99t make<o:p></o:p></pre><pre>&gt; it work.<o:p></o:p></pre>=
<pre>&gt; &nbsp;<o:p></o:p></pre><pre>&gt; &nbsp;&nbsp;&nbsp;1. First tri=
ed with just passthru, and after 3-4 reboots, the<o:p></o:p></pre><pre>&g=
t; display adapter shows up in win10 guest, but it won=E2=80=99t load pro=
perly.<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Despite some conf=
iguration requirements (e.g. always use slot 2) that's<o:p></o:p></pre><p=
re>all you need.<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>&gt; &n=
bsp;&nbsp;&nbsp;2. Tried adding the hd audio device as well, get bluescre=
en with<o:p></o:p></pre><pre>&gt; =E2=80=9Cmemory_management=E2=80=9D sto=
p code in guest<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Shouldn'=
t happen but seems like another issue.<o:p></o:p></pre><pre><o:p>&nbsp;</=
o:p></pre><pre>&gt; &nbsp;&nbsp;&nbsp;3. Tried adding a gop rom from<o:p>=
</o:p></pre><pre>&gt; <a href=3D"https://github.com/patmagauran/i915ovmfP=
kg">https://github.com/patmagauran/i915ovmfPkg</a>; - host crashed and got=
<o:p></o:p></pre><pre>&gt; error below<o:p></o:p></pre><pre><o:p>&nbsp;</=
o:p></pre><pre>A GOP is only required for pre OS graphics (e.g. grub menu=
).<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>I highly recommend us=
ing the GOP from your host system to avoid damages<o:p></o:p></pre><pre>o=
r strange issues due to incompatibilities. Unfortunately, it's not<o:p></=
o:p></pre><pre>always possible to easily extract the GOP from your host s=
ystem. Even<o:p></o:p></pre><pre>Intel recommends to ask your board manuf=
acturer:<o:p></o:p></pre><pre><a href=3D"https://projectacrn.github.io/3.=
2/tutorials/gpu-passthru.html#enable-the-gvt-d-gop-driver">https://projec=
tacrn.github.io/3.2/tutorials/gpu-passthru.html#enable-the-gvt-d-gop-driv=
er</a><o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Some alternative =
ways to extract the GOP:<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre=
>On Windows try GPU-Z:<o:p></o:p></pre><pre><a href=3D"https://nvidia.cus=
thelp.com/app/answers/detail/a_id/4188/~/extracting-the-geforce-video-bio=
s-rom-file">https://nvidia.custhelp.com/app/answers/detail/a_id/4188/~/ex=
tracting-the-geforce-video-bios-rom-file</a><o:p></o:p></pre><pre>On Linu=
x try sysfs:<o:p></o:p></pre><pre><a href=3D"https://pve.proxmox.com/wiki=
/PCI_Passthrough#The_.27romfile.27_option">https://pve.proxmox.com/wiki/P=
CI_Passthrough#The_.27romfile.27_option</a><o:p></o:p></pre><pre><o:p>&nb=
sp;</o:p></pre><pre>&gt; &nbsp;<o:p></o:p></pre><pre>&gt; I=E2=80=99m at =
a loss what to try next. Any ideas where I=E2=80=99m going wrong?<o:p></o=
:p></pre><pre>&gt; &nbsp;<o:p></o:p></pre><pre>&gt; # tail /vm/win10ltsc/=
vm-bhyve.log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></pre><=
pre>&gt; Jan 17 00:49:02:&nbsp; [primary disk: disk0.img]<o:p></o:p></pre=
><pre>&gt; Jan 17 00:49:02:&nbsp; [primary disk dev: file]<o:p></o:p></pr=
e><pre>&gt; Jan 17 00:49:02: dynamically allocated port 5900 for vnc conn=
ections<o:p></o:p></pre><pre>&gt; Jan 17 00:49:02: booting<o:p></o:p></pr=
e><pre>&gt; Jan 17 00:49:02:&nbsp; [bhyve options: -c 6,sockets=3D1,cores=
=3D3,threads=3D2 -m<o:p></o:p></pre><pre>&gt; 8G -Hwl bootrom,/usr/local/=
share/uefi-firmware/BHYVE_UEFI.fd -s<o:p></o:p></pre><pre>&gt; 2:0,passth=
ru,0/2/0,rom=3D/vm/win10ltsc/i915ovmf.rom -U 8dff5c4a-b083-<o:p></o:p></p=
re><pre>&gt; 11ee-b2cd-78d004259091 -S]<o:p></o:p></pre><pre>&gt; Jan 17 =
00:49:02:&nbsp; [bhyve devices: -s 0,hostbridge -s 31,lpc -s<o:p></o:p></=
pre><pre>&gt; 4:0,ahci,hd:/vm/win10ltsc/disk0.img -s 31:6,passthru,0/31/6=
 -s<o:p></o:p></pre><pre>&gt; 6:0,fbuf,tcp=3D0.0.0.0:5900,w=3D1920,h=3D10=
80 -s 7:0,xhci,tablet]<o:p></o:p></pre><pre>&gt; Jan 17 00:49:02:&nbsp; [=
bhyve console: -l com1,/dev/nmdm-win10ltsc.1A]<o:p></o:p></pre><pre><o:p>=
&nbsp;</o:p></pre><pre>You have to use the `-A` flag. There's an open PR =
for vm-bhyve:<o:p></o:p></pre><pre><a href=3D"https://github.com/churcher=
s/vm-bhyve/pull/525/commits/653d01f5b53c0bd8ce707137f67617536de8b1c0">htt=
ps://github.com/churchers/vm-bhyve/pull/525/commits/653d01f5b53c0bd8ce707=
137f67617536de8b1c0</a><o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>=
&gt; Jan 17 00:49:02: starting bhyve (run 1)<o:p></o:p></pre><pre>&gt; Ja=
n 17 00:49:04: bhyve exited with status 134<o:p></o:p></pre><pre>&gt; Jan=
 17 00:49:04: stopped<o:p></o:p></pre><pre>&gt; &nbsp;<o:p></o:p></pre><p=
re>&gt; # tail /vm/win10ltsc/bhyve.log&nbsp;&nbsp; <o:p></o:p></pre><pre>=
&gt; pci_fbuf: mmap_memseg failed<o:p></o:p></pre><pre>&gt; Assertion fai=
led: (mr-&gt;name =3D=3D memp-&gt;name), function unregister_mem,<o:p></o=
:p></pre><pre>&gt; file /usr/src/usr.sbin/bhyve/mem.c, line 344.<o:p></o:=
p></pre><pre>&gt; &nbsp;<o:p></o:p></pre><pre>&gt; # uname -a<o:p></o:p><=
/pre><pre>&gt; FreeBSD yellowfellow 14.0-RELEASE-p3 FreeBSD 14.0-RELEASE-=
p3 #0: Mon<o:p></o:p></pre><pre>&gt; Dec 11 04:56:01 UTC 2023&nbsp;&nbsp;=
&nbsp;&nbsp;<o:p></o:p></pre><pre>&gt; <a href=3D"mailto:root@amd64-build=
er.daemonology.net:/usr/obj/usr/src/amd64.amd64/sys/G">root@amd64-builder=
=2Edaemonology.net:/usr/obj/usr/src/amd64.amd64/sys/G</a><o:p></o:p></pre=
><pre>&gt; ENERIC amd64<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>=
-- <o:p></o:p></pre><pre>Kind regards,<o:p></o:p></pre><pre>Corvin<o:p></=
o:p></pre></div></body></html>
------=_NextPart_000_0005_B98A84ED.F06AD2C--





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?gxES.INF-UkyqgUaVu1JPB28uuw>