[Pkg-xen-devel] Bug#776742:xen-utils-common: no support for VGA Passthrough

Chuck Zmudzinski brchuckz at netscape.net
Sun Feb 12 18:05:57 UTC 2017


This bug, at its core, is that currently there is no supported solution 
for VGA
passthrough on Xen for stable version Jessie from Debian.

After browsing Xen's repositories, I found out that Xen did not claim to 
support
VGA passthrough with the upstream qemu-xen device model until Sep 25, 
2015, the
date the xl.cfg man page was updated to indicate support for VGA passthrough
with upstream qemu-xen. This change to the xl.cfg man page was only made 
on the
Xen version 4.7 and 4.8 branches, so if you want to use VGA passthrough 
without
the traditional qemu-dm binary, you must upgrade to at least Xen version 
4.7.
Debian testing (currently stretch) uses Xen 4.8 and it presumably 
supports VGA
passthrough without qemu-xen-traditional but I have not tried it.

This situation leaves users of Debian stable (currently Jessie) with no
supported solution from Debian for VGA passthrough on Xen. Obviously 
there are
two solutions. Backport Xen 4.7 or greater to Jessie, or restore the
traditional qemu-dm binary to the Xen 4.4.x package for Jessie.

A couple of months ago I decided to try and rebuild the Xen source package
for Jessie with support for qemu-xen-traditional from upstream included. 
It did
not take long to get a working package that solves this bug. I 
discovered the
following facts:

1. Adding qemu-xen-traditional in a way supported by Xen also requires 
rombios
    which, like qemu-xen-traditional, is disabled in Debian's official 
build of
    Xen for Jessie.

2. After configuring the build for qemu-xen-traditional and rombios, the 
only
    binary package that is modified significantly is xen-utils-4.4, which is
    where the qemu-dm binary is installed, and where a modified 
hvmloader binary
    is installed so it includes the statically linked rombios modules.

3. With these changes to xen-utils-4.4, together with a few simple 
configuration
    tweaks such as the location of the qemu keymaps directory, VGA 
passthrough
    on Debian Jessie works with HVM domains that use qemu-xen-traditional,
    and this feature can be enabled simply by adding 2 lines to the config
    file: device_model_version = 'qemu-xen-traditional'
          gfx_passthru = '1'
    I think the second option is only needed if you want the passed through
    video card to be the primary video adapter, but I have never tried VGA
    passthrough as a secondary adapter in the HVM. Your mileage may vary.

4. Also, with these changes to xen-utils, the qemu-xen upstream device model
    and the seabios bios remain the defaults, so these changes will not do
    violence to existing installations that use upstream qemu-xen and 
seabios.

5. It is not possible to build the Xen source package with 
qemu-xen-traditional
    in such a way that it meets all the requirements for inclusion in 
the main
    area of Debian's archive of packages. Specifically, the build must 
access
    remote repositories to download qemu-xen-traditional source files from
    xen.org and ipxe source files from ipxe.org. Later I found it is 
possible to
    build and configure a working package that supports VGA passthrough 
without
    ipxe by making a couple of small configuration tweaks that remove 
etherboot
    and ipxe support from the rombios modules that are statically linked 
into
    hvmloader. But the requirement that the build not access the 
internet for
    source files cannot be met unless the xen source package is modified
    by adding another original source tar archive, something like the
    xen_4.1.6.lts1.orig-qemu.tar.xz source file for the xen package for 
oldstable
    Wheezy that does include support for qemu-xen-traditional and VGA
    passthrough, in order for the build to succeed without needing to access
    a remote repository.

With these discoveries, I would like to make the observation that 
although it is
not trivial, it seems like it would not be too dificult for the Debian 
Xen team
to add support for qemu-xen-traditional and rombios to the Xen source 
package so
the resulting binary packages would support VGA passthrough when an HVM 
domain
is configured to use qemu-xen-traditional.

After having said all this, the stage is set for my question: Why hasn't the
Debian Xen team added support for VGA passthrough in Debian Jessie?

 From Archived Bug #688311, Bastian Blank asserted that qemu-dm will not 
come
back and that you have to use the normal (now called upstream) qemu.

Ian Campbell responded: "Just FYI position of upstream is that the 
'traditional'
qemu-dm will continue to be maintained for the foreseeable future for the
benefit of users who are running guest OSes which are not as happy to 
have the
"motherboard" changed from under them as Linux is."

That was over four years ago, and Debian still has not restored qemu-dm so
users of a stable Debian system can have a working VGA Passthrough for any
guest OS, not even Linux, much less users of those Oses that don't like the
motherboard changed from other them.

As far as I can tell, Xen still maintains the traditional qemu-dm, and I was
able to recently rebuild the xen package for Jessie and get VGA Passthrough
working on Jessie with the most recent version of the traditional device 
model
that is available from Xen for the stable 4.4 release of Xen.

So I ask again, why can't the Debian Xen team restore qemu-dm to its 
official
Xen package for Jessie?

The only reasonable reasons I can think of is that there is some free 
software
licensing issue with the rombios modules that are statically linked to 
hvmloader
or with some necessary component of qemu-dm, or the Debian Xen team has 
too few
resources and is devoting its efforts to developing Xen for stretch 
rather than
adding feaatures that did not make it into Jessie when it was released. 
But why
should oldstable Wheezy have a feature that stable Jessie does not have?

In any case, I hope the Debian Xen team can explain why qemu-dm cannot be
restored to Debian Jessie's offical xen package.

Thank you for your consideration of my question.

Sincerely,

Chuck Zmudzinski




More information about the Pkg-xen-devel mailing list