This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Run X in other domains?

To: Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] Run X in other domains?
From: Sean Atkinson <sean@xxxxxxxxxxxxxx>
Date: Mon, 18 Apr 2005 17:40:28 +0200
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxxx, Mark Hurenkamp <Mark.Hurenkamp@xxxxxxxxx>
Delivery-date: Tue, 19 Apr 2005 07:45:07 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <E1Bzsjb-0001bW-00@xxxxxxxxxxxxxxxxx>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Organization: Netproject
References: <E1Bzsjb-0001bW-00@xxxxxxxxxxxxxxxxx>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx

I've been looking into Xen's status recently, and trying to run X from a
non-privileged domain.  I'd got as far as Mark reported when I found his
old post on the mailing list, so thought I'd reply to this thread.
However I didn't find any follow ups after Ian's response, so I presume
there have been no developments for a while.

Initially I made some progress with the pre-built kernel binaries (from
the current 2.0.5 release).  The xenU kernel lacks PCI support, and X
reports "Cannot open /dev/tty0" using it in domain 1.  I switched to the
xen0 kernel for PCI support, and then X reported "Cannot find a free

The output from lspci lists everything but the VGA card in domain 0,
unless "lspci -H 1" is used.  In other domains, lspci reports only the
VGA card and "lspci -H 1" reports "You need to be root to have access to
I/O ports".  However X still starts OK in domain 0, which surprised my.
I've confirmed that "xm dmesg" includes "Hiding PCI device 01:00.0 from
DOM0" after passing "physdev_dom0_hide=01:00.1" to Xen.

I've followed Ian's advice, rebuilding Linux 2.6.10 with the default
xenU configuration eith XEN_PHSDEV_ACCESS added (to automatically enable
DUMMY_CONSOLE) plus PCI support.  However my kernel crashes immediately
after "Freeing unused kernel memory", even when I pass "xencons=ttyS".
Perhaps the build broke somehow, or it's configuration is invalid?

My domain config file looks like this:

kernel = "/boot/vmlinuz-2.6.10-xenU-mod"
memory = 128
name = "whitebox"
disk = [ 'phy:hda6,hda6,w' ]
root = "/dev/hda6 ro"
extra = "1 xencons=ttyS"
pci = [ '01,00,00' ]

Does anybody have any experience with X in other domains, or thoughts on
how I might proceed please?



On Wed, 2004-08-25 at 09:02 +0100, Ian Pratt wrote: 
> > Trying out the various possibilities of Xen, I found a way to boot a
> > second domain with my secondary graphics and usb cards.In the second 
> > machine, the devices show up exactly as expected when using
> > lspci and lsusb, and cat /dev/mouse0 shows that the mouse generates
> > correct output.
> Excellent, glad to hear it. Please could you post your config
> file as an example.
> > So I decided to try and boot X within this machine, and adapted my X
> > config to match the PCI id of the second card, and use my USB mouse and
> > keyboard.However, when I try to startup X, it complains about being unable 
> > to
> > access a free tty...I had not honestly thought that this would instantly 
> > work, so it is not
> > really a surprise that it fails. However, this seems to me a bit of a
> > strange message, since obviously I am on tty1 of the machine, and it
> > should be able to start when I use 'vt1' as a start parameter, or am I
> > mistaken here?
> I'm not really sure how things work with multiple graphics cards,
> but I presume one of them is initialised by the BIOS as the
> primary VGA device. I guess you've built the dom0 kernel with VGA
> support and it's using that as it's console.
> Although the dom1 kernel can see the graphics card, you
> presumably don't build it with VGA console support because
> otherwise it would fight with dom0 for the single BIOS VGA
> console.
> In dom1, you're probably having xencons register as tty1 and are
> using that as a console. It's not a VT, so I can see why X
> complains if that's what it's looking for. It presumably wants a
> VT so that it can play nice with other VGA text consoles.  I
> wander if it's possible to tell X just to go for it anyway?
> If not, how about building dom1 with VT support but with the
> DUMMY console driver rather than VGA support.  So that you can
> still get a xen console on the domain you could start dom1 with
> xencons=ttyS on its kernel command line and add appropriate
> inittab and securetty entries for ttyS0. This should enable you
> to log in, and then when you start X it should be able to find a VT.
> Please let us know how you get on.
> Ian
> Since domain0 h
> Anyway, it seems to me that this particular problem should not be that
> > hard to solve... if anyone can point me in the right direction, I can even
> > give it a try myself :-)
> >
> > Well any hints/tips on how to get X running in a second domain are welcome!
> >
> > Best wishes,
> > Mark.

Sean Atkinson <sean@xxxxxxxxxxxxxx>

This SF.Net email is sponsored by: New Crystal Reports XI.
Version 11 adds new functionality designed to reduce time involved in
creating, integrating, and deploying reporting solutions. Free runtime info,
new features, or free trial, at: http://www.businessobjects.com/devxi/728
Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>