2007-01-25

Binary Drivers Pain and Suffering

So, you run Linux, have a fairly modern Nvidia card, and a flat panel display that supports more than 1280x1024, but only supports 1.x versions of EDID. Well, if you'd like to use native resolution you'll need the binary driver from Nvidia. Even versions of xorg as recent as 7.1 have a known bug because there is no work aournd for the incorrect "Panel Size" being reported. (See your /var/log/Xorg.0.log file.)

Fetch the binary driver from Nvidia. For instance I'm running SuSE Linux Enterprise Server 10 on an x86_64 arch... So, I grab Linux AMD64/EM64T at the time of this writing it's Latest Version: 1.0-9746

You'll want to install that (running a non-XEN kernel - as root - and do 'telinit 3' first) by building it - follow the guide. (There are other ways to point YAST install sources at nvidia drivers - but they're out of date - and you'll want to do it this way for what's comming.) After this you should be able to 'telinit 5' and get back into X at your display's native resolution. Sweet!

Mostly eye candy, but some workflow benifits are available with XGL (Desktop Effects) turned on.... Go to the Control Center and do that. It's purdy.

But wait, you say... "Pansy, my special problem... I must run XEN!" So, after seeing that you have a beautiful big display and lots of pretty things to look at you reboot into your kernel-xen dom0 and the desktop manager trys to launch but X dies over and over and you're left at a text prompt about to cry.

There's a patch to build this nvidia.ko for your XEN dom0... I think post #10 is where this OpenSuSE write-up came from. Original patch credits to 'honny' subsequently modified and latest version posted by 'JaXXon'.

This patch: patch-nv-1.0-9625-xenrt.txt applies fine to the Nvidia driver 1.0-9746 - and almost builds fine (follow the OpenSuSE write-up) with three exceptions.

  • Make sure you have installed kernel-source, kernel-, kernel-xen, and kernel-syms
  • Remove the 'xen-sanity-check' from the NV*/usr/src/nv/Makefile 'module: ' directive
  • Use SYSSRC=/lib/modules/2.6.16.27-0.6-xen/source in the make invocation.\
And that, should be all there is to that.

Enjoy

No comments:

Post a Comment