[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [vfio-users] Linux-on-Linux desktop



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 gmail com> wrote:
On Fri, Jun 17, 2016 at 7:16 AM, Adam Hunt <voxadam 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

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]