[vfio-users] Linux-on-Linux desktop

Adam Hunt voxadam at gmail.com
Fri Jun 17 14:18:23 UTC 2016


Alex,

Thanks for the reply. When you say that I'll need to run in legacy mode I
take it that you're referring to the physical system, not the VM(s). If I
weren't using the integrated graphics would I still need to boot using the
legacy BIOS implementation or would it be possible to boot in UEFI mode?

Adam

P.S. While it doesn't seem to be terribly important I had intended to
include my lspci output in my original message. I'll go ahead and attach it
here for sake of completeness.

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core
processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd
Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series
Chipset Family MEI Controller #1 (rev 04)
00:16.3 Serial controller: Intel Corporation 7 Series/C210 Series Chipset
Family KT Controller (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network
Connection (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family
High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family
PCI Express Root Port 1 (rev c4)
00:1c.4 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family
PCI Express Root Port 5 (rev c4)
00:1c.6 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family
PCI Express Root Port 7 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
Family USB Enhanced Host Controller #1 (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a4)
00:1f.0 ISA bridge: Intel Corporation Q77 Express Chipset LPC Controller
(rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series/C210 Series Chipset
Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus
Controller (rev 04)
02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205
[Taylor Peak] (rev 34)
03:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network
Connection
04:03.0 FireWire (IEEE 1394): LSI Corporation FW322/323 [TrueFire] 1394a
Controller (rev 70)

On Fri, Jun 17, 2016 at 7:09 AM Alex Williamson <alex.l.williamson at gmail.com>
wrote:

> On Fri, Jun 17, 2016 at 7:16 AM, Adam Hunt <voxadam at gmail.com> wrote:
>
>> I'd like to virtualize my desktop so that Linux machine I use day-to-day
>> is running as a VM on a minimally configured Linux host.
>>
>> The idea is to allow me to run a couple other virtual machines along side
>> my desktop without them getting in each other's way. This way I would be
>> able to do things such as upgrade the kernel on my desktop without
>> disturbing the VM acting as my primary firewall and router[1], or the VM
>> which hosts a number of containers running various personal services.[2]
>>
>>>> While I've read quite a bit about KVM, QEMU, PCI passthrough, and vfio I
>> wanted to make sure that what I'm planning isn't doomed to fail for some
>> reason which I've overlooked. My two primary concerns are that as of now I
>> lack a discrete GPU and that my Ivy Bridge CPU (i5-3570) clearly lacks ACS.
>>
>> If necessary I suppose could hold this off until I get myself a suitable
>> PCIe GPU, though, I'd prefer not to. I don't use the system for gaming of
>> any sort and while I'd like to have the option of doing some 3D work in the
>> future it's not an immediate concern of mine for this system. The CPU is
>> more of a sticking point, there's little chance of it being upgraded in the
>> foreseeable future and most certainly not to what Intel refers to as a
>> "high end" processor. If you scroll down you'll find a list of the hardware
>> in my machine currently.
>>
>> I'd appreciate any thoughts on this plan of mine. I have years of
>> experience with Linux but PCI passthrough is new territory for me.
>>
>
> Yes, you can do this.  Note that for IGD assignment you'll need qemu.git
> with seabios.git for the VM BIOS.  IGD assignment was added after QEMU 2.6
> and the necessary BIOS has not yet been merged into the QEMU tree.  You'll
> also need a v4.6+ kernel on the host.  For your Ivy Bridge class processor,
> you'll need to run in "legacy" mode (see
> http://git.qemu.org/?p=qemu.git;a=blob;f=docs/igd-assign.txt).  This
> means that it needs to use the default 440FX machine type with the IGD
> assigned at VM address 02.0.  IGD should also be the primary graphics on
> the host.  You can dynamically unbind from the host i915 driver, but bad
> things generally occur when re-binding to the driver after shutting down
> the IGD assigned domain.  Therefore I generally disable i915 in the host
> via early binding to vfio-pci, as described in my blog (vfio.blogspot.com).
> Also use the options video=efifb:off,vesafb:off to prevent non-PCI drivers
> from using the display.  Obviously management of a headless host is
> difficult, so you probably want at least a serial console.  Good luck.
>
> Alex
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160617/53fc81c0/attachment.htm>


More information about the vfio-users mailing list