[Plugin] Intel-GVT-g


Recommended Posts

  • 1 month later...
2 hours ago, NOMORE said:

CPU is i9-9900T, it worked a long time. suddently it doesn't work. the pic is what i see in plugin.

Did you change anything?

 

It is really hard to read your syslog because the initial boot is missing because you've enabled advanced logging from files I think or something like that.

Link to comment

1635424977_2023-10-2214_16_30-Rodzina_intel-gvt-g-main.png.6cf82bc0125e48aea1aa88b900037c19.png

HP Proliant ML30 gen9, CPU Xenon E3-1275 v6 which is mentioned as supported.
I've spent a few hours checking BIOS for any related settings but can't find anything at all.

Any help investigating the problem would be much appreciated 

 

Apparently those boxes have additional ancient `GPU` built in for ILO and this causes the problem.

Googled like crazy but I have not found any solution for this.


Attached diagnostics and hoping that someone can help solve the problem.


Strangely it works just fine on my other HP - Proliant ML10 gen9 with Xenon E3-1225 v5

diagnostics-20231022-1415.zip

Edited by BeersTeddy
Link to comment
14 minutes ago, BeersTeddy said:

Apparently those boxes have additional ancient `GPU` built in for ILO and this causes the problem.

Disable you ILO and the integrated GPU which is located on the motherboard and try again.

 

I really can't help because some implementations from the manufacturer doesn't allow GVT-g

Link to comment
3 hours ago, ich777 said:

Disable you ILO and the integrated GPU which is located on the motherboard and try again.

 

I really can't help because some implementations from the manufacturer doesn't allow GVT-g

Disabled ILO but this didn't help.

Struggling to find anything to disable iGPU


BTW. Do I need to reinstall the plugin after any changes to detect them?

Link to comment
25 minutes ago, BeersTeddy said:

Struggling to find anything to disable iGPU

You usually do that with a physical jumper on the motherboard itself.

 

26 minutes ago, BeersTeddy said:

BTW. Do I need to reinstall the plugin after any changes to detect them?

No, just reboot, that's enough.

Link to comment
36 minutes ago, ich777 said:

You usually do that with a physical jumper on the motherboard itself.

Good tip but unluckily for me this doesn't seems to be documented anywhere
There is two multi switches on the mobo, one not documented at all, the other only briefly.

Considered experimenting with undocumented switches but this will most likely lead to a disaster.

 

S1Off

Off = iLO security is enabled.

On = iLO security is disabled.

S2Off

Off = System configuration can be changed.

On = System configuration is locked.

S3OffReserved

S4OffReserved

S5Off

Off = Power-on password is enabled.

On = Power-on password is disabled.

S6Off

Off = No function

On = ROM reads system configuration as invalid.

S7Off

Off = Set default boot mode to UEFI.

On = Set default boot mode to legacy.

S8—Reserved

S9—Reserved

S10—Reserved

S11—Reserved

S12—Reserved

Link to comment

Looking to get this working with a linux guest, I've read through the thread and it seems that this (at least in the past) required an identical kernel in the host and guest. I've read conflicting info elsewhere making it seem this may no longer be the case? Can it be made to with with a generic guest kernel?

 

I've tried but the VM hangs on boot with a rombar error.

 

Edited to add: I don't need graphics output from the guest, just wanting to pass the GPU through for transcoding while still being able to use it from the host.

Edited by L0k1
Link to comment
  • 2 weeks later...
  • 4 weeks later...

Thank you for this plugin. Could it be, that there is a minor error in the support list on the first page?

It states, that E-2XXX platforms are supported. However, it seems, that the E-23XX line of CPUs is based on Rocket-Lake-E (while the E-21XX and E-22XX lines seem to be based on Coffee Lake (Ref.)) .

 

[EDIT]: UHD 750 in E-23XX chipsets is probably Intel Xe AND Rocket Lake, so I assume missing compatibility.

 

Nevertheless, I was wondering if there there are any reports on the use of gvt-g (and specifically this plugin) or sr-iov for the Xeon E-23XX chips on a C256 chipset. I am considering pulling the trigger on a sweet deal for a mainboard but only if there is Multi-VM support (either via gvt-g or sr-iov).

 

 

Edited by HumanTechDesign
Removal of Rocket Lake information - this was already discussed previously
Link to comment
7 hours ago, HumanTechDesign said:

[EDIT]: UHD 750 in E-23XX chipsets is probably Intel Xe AND Rocket Lake, so I assume missing compatibility.

 

thats correct, gvt-g only until UHD 630

 

all upper is sr iov only, may take a closer look here

 

 

but also the 11th gen CPU's dont work with gvt-g nor sr-iov ... so until 10th its gvt.g, 12th up its sr-iov, 11th is ... ;)

 

in the end its alot about trial & error, i have gvt-g running nice on a UHD 630 iGPU, but also suffer from the vram implementation from the board (256mb max, nevertheless what i set in BIOS), so multiply instances with higher resolutions ... depending on the protocol can lead into Server crashes ...

 

sr-iov tests never worked out satisfying here, but running more or less on a mobile platform which is risky anyhow ;)

  • Like 1
Link to comment
9 hours ago, HumanTechDesign said:

[EDIT]: UHD 750 in E-23XX chipsets is probably Intel Xe AND Rocket Lake, so I assume missing compatibility.

Here you can get a full list of compatible generations: Click (this article is in German but Google translate might help :) )

 

You can also take a look here which chip uses which iGPU (but keep in mind that the iGPU generation is often not the same as the CPU generation) but as @alturismo said, not every iGPU supports GVT-g/SR-IOV.

 

9 hours ago, HumanTechDesign said:

Could it be, that there is a minor error in the support list on the first page?

I took this text from the official Intel GitHub GVT-g documentation (btw, I don't think Intel does a particularly good job with their naming schemes). ;)

Link to comment
1 hour ago, ich777 said:

Here you can get a full list of compatible generations: Click (this article is in German but Google translate might help :) )

I found that page as well and had the screenshot from it in the section that is now edited. However, even though gvt-g is listed there for 11.Gen/Rocket Lake, I'm pretty sure by now (unless someone else has it running sucessfully in this thread), that E-23XX will not have support for gvt-g or sr-iov (like @alturismo said).

 

1 hour ago, ich777 said:

I took this text from the official Intel GitHub GVT-g documentation

I understand that. However (maybe to avoid future confusion), an explicit highlight that E-23XX is probably unsupported (while E-21XX and E-22XX should be fine), could help. What do you think? (here is the official gvt Rocket Lake discussion - issue remains open and there does not seem to be any plan to actually enable gvt-g OR sr-iov: https://github.com/intel/gvt-linux/issues/190 )

 

Edited by HumanTechDesign
Link to comment
31 minutes ago, HumanTechDesign said:

11.Gen/Rocket Lake, I'm pretty sure by now (unless someone else has it running sucessfully in this thread), that E-23XX will not have support for gvt-g or sr-iov (like @alturismo said).

11th Gen CPUs is a bit of hit and miss since 11th Gen CPUs was the time where the transition from GVT-g to SR-IOV happend and some 11th Gen CPUs support GVT-g, some 11th Gen CPUs support SR-IOV and there are also reported 11th Gen CPUs out there which doesn't support GVT-g nor SR-IOV.

 

31 minutes ago, HumanTechDesign said:

However (maybe to avoid future confusion), an explicit highlight that E-23XX is probably unsupported (while E-21XX and E-22XX should be fine), could help. What do you think?

Sorry but I don't think that's a good idea because GVT-g also depends on the implementation from the Motherboard manufacturer and if they did a really bad job GVT-g won't work at all (as reported a few times in this thread).

 

I have also conflicting reports here in the thread about CPUs with the suffix U where on some systems it is working and on some it isn't and that's why GVT-g is a bit of hit and miss.

 

31 minutes ago, HumanTechDesign said:

(here is the official gvt Rocket Lake discussion - issue remains open and there does not seem to be any plan to actually enable gvt-g OR sr-iov: https://github.com/intel/gvt-linux/issues/190 )

I'll check back from time to time on the GVT-g GitHub but I find it really frustrating that no one is even able to tell what's supported and what not so I'm not really interested in changing that because as said above there are too many factors involved, I hope you understand that.

 

(Please also don't forget that it mentions that only 5th to 10th Gen i-Core CPUs are supported and the same goes for the Server Platforms - but you are correct it isn't mentioned there)

  • Upvote 1
Link to comment

I'm totally in line with your arguments! What I actually meant by my suggestion is to highlight the fact, that even with a (generally probably supported) E-2XXX platform, you might run into problems on the specific E-23XX line. I did not mean, that all E-21XX and E-22XX will be running fine (for the reasons you pointed out), but rather to push users of the E-23XX chip line to be especially cautious. Otherwise, they might check this thread and the first post and think they are fine because it's a E-2XXX chip with them being unaware of the fact that E-2XXX can mean Coffee Lake (Ref.) or Rocket Lake.

 

In any case, thank you for the insights. I have not completely decided yet on buying the MB or not. If I do (with an E-2XXX chip), I will report back.

Edited by HumanTechDesign
Link to comment
7 minutes ago, HumanTechDesign said:

In any case, thank you for the insights. I have not completely decided yet on buying the MB or not. If I do (with an E-2XXX chip), I will report back.

TBH I'm really not into server hardware anymore unless you have some crazy plans for the system. Most consumer hardware is more than enough for most users.

Even for me, you can see my current system here where I compile all plugins, create my containers and so on (addon cards have changed a lot since this post):

(it's in German but Google Translate will halb)

Link to comment
4 hours ago, thy3479 said:

我的主板是华擎J3455-ITX,选择了板载显卡并在DVMT中设置预分配512M的显存,但是开启第二个设备的时候会提示

kernel: gvt: request 128MB avail 64MB max 128MB taken 64MB

明明分配了512MB却只有128MB可用,请问下该怎么解决?

If my Google translate translation is correct then I assume it's a bad implementation in the Firmware from the Motherboard and nothing that I can do about that.

Another question from my side, is GVT-g working on your motherboard? Usually only Core i series chips are supported.

Link to comment
5 hours ago, ich777 said:

If my Google translate translation is correct then I assume it's a bad implementation in the Firmware from the Motherboard and nothing that I can do about that.

Another question from my side, is GVT-g working on your motherboard? Usually only Core i series chips are supported.

感谢您的回复。

 

我有尝试根据前面提到的一些方式,如使用 UEFITOOL 去修改“CFG LOCK” 但是没有搜索到主板固件中相关的字符,无论是Unicode还是Ascii都没有,暂时也没找到如何定位固件中有关DVMT是哪一步有问题导致的这个问题。我使用的BIOS固件的版本是1.80(https://download.asrock.com/BIOS/CPU/J3455-ITX(1.80)ROM.zip),也是最新的的固件了。

 

关于GVT-g是否可以在我的主板上使用,看起来是没有问题的,Unraid里面的输出是这样的:

Dec  3 14:34:59 J3455-ITX root: -----------------Loading Kernel Module 'i915'------------------
Dec  3 14:34:59 J3455-ITX kernel: Linux agpgart interface v0.103
Dec  3 14:34:59 J3455-ITX kernel: ACPI: bus type drm_connector registered
Dec  3 14:35:00 J3455-ITX kernel: Setting dangerous option enable_guc - tainting kernel
Dec  3 14:35:00 J3455-ITX kernel: Setting dangerous option force_probe - tainting kernel
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: [drm] Incompatible option enable_guc=3 - GuC submission is N/A
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: [drm] VT-d active for gfx access
Dec  3 14:35:00 J3455-ITX kernel: Console: switching to colour dummy device 80x25
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: vgaarb: deactivate vga console
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: [drm] Transparent Hugepage mode 'huge=within_size'
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: [drm] Disabling framebuffer compression (FBC) to prevent screen flicker with VT-d enabled
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/bxt_dmc_ver1_07.bin (v1.7)
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: [drm] GuC firmware i915/bxt_guc_70.1.1.bin version 70.1
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: [drm] HuC firmware i915/bxt_huc_2.0.0.bin version 2.0
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: [drm] HuC authenticated
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: [drm] GuC submission disabled
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: [drm] GuC SLPC disabled
Dec  3 14:35:00 J3455-ITX kernel: [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
Dec  3 14:35:00 J3455-ITX kernel: ACPI: video: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
Dec  3 14:35:00 J3455-ITX kernel: input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input8
Dec  3 14:35:00 J3455-ITX kernel: fbcon: i915drmfb (fb0) is primary device
Dec  3 14:35:00 J3455-ITX kernel: Console: switching to colour frame buffer device 240x67
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: Direct firmware load for i915/gvt/vid_0x8086_did_0x5a85_rid_0x0b.golden_hw_state failed with error -2
Dec  3 14:35:00 J3455-ITX kernel: i915 0000:00:02.0: MDEV: Registered
Dec  3 14:35:01 J3455-ITX root: 
Dec  3 14:35:01 J3455-ITX root: -------------Installation of Intel GVT-g successful--------------

 

另外我发现,无论我怎么调整BIOS里面显卡预分配的内存,从64M到512M,我通过lspci总是看到Region2中的内存的大小都没有发生改变,我之前看GitHub上面有issue说Region 2应该会有所改变的,不清楚其他的是不是这样。

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 500 (rev 0b) (prog-if 00 [VGA controller])
Subsystem: ASRock Incorporation HD Graphics 500
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 130
IOMMU group: 1
Region 0: Memory at 90000000 (64-bit, non-prefetchable)
Region 2: Memory at 80000000 (64-bit, prefetchable)
Region 4: I/O ports at f000

在主板BIOS设置界面中,首页的状态页可以看到有多少共享内存预分配给了GPU,同时我用free命令去查看可用内存,这块的数量确实与预分配的显存存在数量差,内存减少的数量对应我增加的预分配的显存的数量。

 

Link to comment
  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.