[Intel-gfx] VGA arbiter support for Intel HD?

Alex Williamson alex.williamson at redhat.com
Thu Apr 3 20:28:27 CEST 2014


On Thu, 2014-04-03 at 19:47 +0200, Friedrich Oslage wrote:
> Hi,
> 
> several months ago Alex Williamson added a patch to the linux kernel to
> enable VGA arbiter support for the IGD of Intel Core CPUs [1]. But just
> a month after that the patch was reverted [2].
> 
> With these patches I am able to use VFIO and Qemu to passthrough a GTX
> 770 while using the Intel HD of a i7 4771 on the host for X.Org/XFCE.
> 
> Using the stock 3.14 kernel, without these patches, it doesn't work.
> I believe the Nvidia card doesn't get initialized correctly...the
> screen stays black and the guest OS is unreachable via network.
> 
> 
> What is required to get these patches back into the mainline kernel? I
> can not reproduce the issues described in the revert commit log,
> perhaps we just need more testing?

I just happened to write-up an explanation this morning:

https://bbs.archlinux.org/viewtopic.php?pid=1400212#p1400212

Last I heard DRI gets disabled whenever Xorg finds that the VGA arbiter
is managing multiple devices.  Therefore, while X still works, the
typical use case will have a pretty severe performance decrease.

I started designing a next-gen VGA arbiter that provides userspace with
a file descriptor they can use for accessing VGA space, including mmap.
This seems to work, invalidating the mapping in the no-lock-holder,
allowing it to fault and block re-mapping until the lock can be
re-acquired.  I got stalled trying to figure out how to make use of it
in Xorg though.  If anyone is interested in working on this, I'll
happily post my new arbiter code.

Dave Airlie also suggested that maybe all of the VGA arbiter support in
Xorg could be ripped out without anyone noticing (now I've spilled the
beans), but that would also solve the DRI problem.  We'd probably need
to keep things as-is in i915 for compatibility for some time though.

That brings up another option of including those patches under some kind
of CONFIG_I915_DONT_LIE_TO_VGA_ARBITER option so a user could configure
their kernel how they choose.  This may just turn the complaints into "I
want both" though.

As noted in the forum, another option is to avoid VGA in the guest by
using a "legacy-free" UEFI BIOS.  This may circumvent other problems,
like lack of arbiter support in other drivers, but it relies on a
compatible legacy-free graphics card BIOS and guest support.

I'd certainly like to make progress on this, so welcome some sort of
discussion.  Thanks,

Alex




More information about the Intel-gfx mailing list