XEN does not boot into X Windows

Most of the time when I install XEN on openSUSE 11.1 and SLES 11, the XEN kernel starts in a terminal rather than with X Windows. I have installed XEN during initial installation and with Yast after installation, both directly on the hardware and in Hyper-V. Does anyone know why this occurs?

I don’t have this problem with SLES 10. I am too frustrated to restart all the systems to provide exact details and hope this will be enough information. It is possible that it is related to the degree to which I performed online updates on the systems before installing XEN.



11.2 RC2 iso
Dell XPS 430
Matrox M9120 Plus LP PCIe x1 dual-head
Nvidia GT200b (GeForce GTX 285) PCIe x1 dual-head

When I boot using the kernel automatically added by choosing “Install hypervisor and tools”, it waits at tty1 for a login.

If I do startx it fails with no screens found.

When I run sax2 -a, it just sits there until I Ctrl-C it.

If I do X -configure, it fails with caught signal 11- aborting.

When I boot using the original kernel from the iso, all’s well- except I can’t use xen.

What does one do about this?

11.2 will boot into a desktop using the xen kernel installed by yast

Hi ElllisD,
did you also install the closedsource drivers from nvidia?

If this works in 11.2 I’ll be very hapy :slight_smile:
Since until now the combination original nvidia driver + xen kernel did not work without many tweaking.

I have updated a 11.1 box to 11.2 and found that the NVIDIA repository for 11.2 lacks the “nvidia-gfxG02-kmp-xen-xxxKERNELxxx.x86_64.rpm”. My default kernel runs fine. I’m going to wait to see if they update the repo before I break anything :wink:

Yeah I also think a nvidia-xxx-xen-xxx driver is necessary for opensuse 11.2 to boot Xen kernel.

With opensuse 11.1 I can boot Xen kernel with nvidia driver and make dual monitor work fine. (I installed nvidia-xxx-xen-xxx driver.)

But on the same machine, opensuse 11.2 can not boot Xen kernel with nvidia kernel it stops at command line and reports can not load module nvidia. I think the reason is that there is no nvidia-xxx-xen-xxx driver installed.

Anyone has information on whether there will be a nvidia-xen driver or when can we get it? Thanks.


Yeah, no opensuse xen driver for nvidia. If you download the driver from nvidia (NVIDIA-Linux-x86_64-190.42-pkg2) and make module, you get

FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'xen_features'

So no opensuse driver, and the nvidia vanilla driver won’t link.

Does anyone know of a way to stop modpost caring about GPL infringements?

I haven’t seen much on Google about this issue. Most of the hits are related to prior releases of 11.0 etc. I’m sure glad that I discovered this issue before updating my other boxes. I’ll try contacting Nvidia support to see if they have any news on this, if so I’ll report it back to you guys.

I’ve submitted a question about this to the Nvidia Support Team. I have received an aut-reply stating I should receive an answer within 24 Hrs.

I’ll keep you posted :wink:

Well they have sent me an email explaining they are researching my query. And I should receive a response within 24 Hrs. (Again) Hopefully we’ll get an answer soon.

BTW-heres the question I sent them:
Hello, I want to know if this driver supports openSUSE 11.2 XEN Kernel at present? I browsed the Nvidia repositories for openSUSE 11.1 and 11.2 and noticed that the xen driver is currently not present in the 11.2 repository. Will there be a xen driver in the future? Or should I just run the installer under the xen-kernel to configure the driver for use in Xen?

Hello, I’ve received an answer hope this helps, I’m going to give it a try.

Response (FA) 12/11/2009 01:59 PM
Hello Dennis,

Thank you for your patience and I apologize for the delay in response.

The NVIDIA driver release 190.42 does not support the openSUSE 11.2 XEN Kernel. I suggest you to just run the installer under the Xen-Kernel to configure the driver for the Xen Kernel.

Please get in touch with us, if you need further assistance and I would be happy to help you.

Best regards,
NVIDIA Customer Care

Well that may be but I got it working with the 185 drivers. You still get the modpost GPL infringment with this version, but you can get around it. Here are the steps:

  1. Download NVIDIA-Linux-x86_64-185.18.36-pkg2.run from nvidia
  2. execute

chmod +x NVIDIA-Linux-x86_64-185.18.36-pkg2.run
./NVIDIA-Linux-x86_64-185.18.36-pkg2.run --extract-only
cd NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv

  1. edit Makefile.kbuild, and after

EXTRA_CFLAGS += -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wpointer-arith -Wno-multichar -Werror -mcmodel=kernel -mno-red-zone -fno-defer-pop -MD $(DEFINES) $(INCLUDES) -Wsign-compare -Wno-cast-qual -Wno-error


XEN_FEATURES := $(shell grep "D xen_features" /boot/System.map-$(shell uname -r) | colrm 17)
EXTRA_LDFLAGS := --defsym xen_features=0x$(XEN_FEATURES)

Note: the colrm 17 is applicable to 64bit only. For 32bit, use colrm 9.

  1. The usual:

export SYSSRC=/lib/modules/$(uname -r)/source
export SYSOUT=/lib/modules/$(uname -r)/build
make module

Then copy nvidia.ko to /lib/modules/
and …/…/X11R6/lib/modules/drivers/nvidia_drv.so to /usr/lib64/xorg/modules/updates/drivers/

(adjust these for your install).

  1. Either modprobe nvidia or reboot and startx



Hallo, I tried to follow as described. The make module step don’t work. I run a export IGNORE_XEN_PRESENCE=1
export SYSSRC=/lib/modules/$(uname -r)/source
export SYSOUT=/lib/modules/$(uname -r)/build in a root shell as single commands ( there was no output given back )
and running make module give’s me the following error
echo " ERROR: Kernel configuration is invalid.";
echo " include/linux/autoconf.h or include/config/auto.conf are missing.";
echo " Run ‘make oldconfig && make prepare’ on kernel src to fix it.";
Where do I find the kernel to run make oldconfig && make prepare
I`ve installed suse 11.2 64 bit.
Thanks for anny ideas.

Is the build folder present:

ls /lib/modules/$(uname -r)/build

Can you post a uname -a


Here are the outputs :

linux-z9ac:/temp/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv # ls /lib/modules/$(uname -r)/build
.config Makefile Module.base Module.supported Module.symvers include include2 scripts

linux-z9ac:/temp/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv # uname -a
Linux linux-z9ac #1 SMP PREEMPT 2009-12-15 23:55:40 +0100 x86_64 x86_64 x86_64 GNU/Linux

While the folder appears to be correct, I am unclear why you are doing this. From the uname you are running a standard opensuse desktop kernel - so you can just zypper install the nvidia kernel driver.

If you want a more recent driver than is in the repositories, you can download the installer from nvidia and run it directly.

No need to go through any of these steps unless you are running a xen kernel.

I want to run a xen kernel, but after booting the xen kernel does not start x with the installed nvidia driver.

I just started my vmware server and it ran some installing steps.
Then I tried again
linux-z9ac:~ # cd /temp/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv
linux-z9ac:/temp/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv # export IGNORE_XEN_PRESENCE=1
linux-z9ac:/temp/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv # export SYSSRC=/lib/modules/$(uname -r)/source
linux-z9ac:/temp/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv # export SYSOUT=/lib/modules/$(uname -r)/build
linux-z9ac:/temp/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv # make module
If you are using a Linux 2.4 kernel, please make sure
you either have configured kernel sources matching your
kernel or the correct set of kernel headers installed
on your system.

If you are using a Linux 2.6 kernel, please make sure
you have configured kernel sources matching your kernel
installed on your system. If you specified a separate
output directory using either the “KBUILD_OUTPUT” or
the “O” KBUILD parameter, make sure to specify this
directory with the SYSOUT environment variable or with
the equivalent nvidia-installer command line option.

Depending on where and how the kernel sources (or the
kernel headers) were installed, you may need to specify
their location with the SYSSRC environment variable or
the equivalent nvidia-installer command line option.

*** Unable to determine the target kernel version. ***

make: *** [select_makefile] Error 1
linux-z9ac:/temp/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv #

now the output uf make module is different,


First, thanks to Paul for instruction, I’m able to use 3D on Xen now, but with one issue.
I’m not sure if anyone else experiencing the same: after I followed instruction I can’t see anything while in TTY any more if I boot xen kernel.
There is no problems if I boot to desktop kernel
If I press Ctrl+Alt+F1 or Ctrl+Alt+F2 etc. my monitor goes into power save mode, there is no problem get back to X by pressing Ctrl+Alt+F7 though.
When I am in TTY even though monitor in power save mode I still can type and execute commands and they are working.

I’m using OpenSuse 11.2 64 bit, my graphics card GeForce 9600 GT,
Xen kernel is
Installed driver version: NVIDIA-Linux-x86_64-185.18.36-pkg2.run

So far I tried to change boot parameter vga=0x31a to lower 305 and even to text mode didn’t work.

I wonder if anyone came across some fix or workaround?

Thanks in advance.


Ok, I just want to be sure you are actually running these commands while running the Xen kernel.