Xorg fails to start requesting libwfb when using nvidia-glx-new

Bug #103050 reported by Daniel Llewellyn on 2007-04-04
Affects Status Importance Assigned to Milestone
linux-restricted-modules-2.6.20 (Ubuntu)
Ben Collins
restricted-manager (Ubuntu)

Bug Description

Binary package hint: nvidia-glx

with ubuntu 7.04, after installing nvidia-glx and running `nvidia-glx-config enable` to update the Xorg.conf, X will refuse to start citing that it needs libwfb. I found a site that mentioned that the official binary packages direct from nvidia contain a file of the name (libnvidia-wfb.so.1.0.9755) in the usr/X11R6/lib/modules directory which provides the functionality that is missing.

From Xorg.0.log:
X Window System Version 7.2.0
Release Date: 22 January 2007
X Protocol Version 11, Revision 0, Release 7.2
Build Operating System: Linux Ubuntu
Current Operating System: Linux wilma 2.6.20-13-generic #2 SMP Sat Mar 24 23:12:02 UTC 2007 x86_64
Build Date: 30 March 2007
(II) LoadModule: "glx"
(II) Loading /usr/lib/xorg/modules//libglx.so
(II) Module glx: vendor="NVIDIA Corporation"
 compiled for 4.0.2, module version = 1.0.9755
 Module class: X.Org Server Extension
 ABI class: X.Org Server Extension, version 0.1
(II) Loading extension GLX
(II) NVIDIA dlloader X Driver 1.0-9755 Mon Feb 26 23:18:52 PST 2007
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
(II) Primary Device is: PCI 01:00:0
(--) Chipset NVIDIA GPU found
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/lib/xorg/modules//libfb.so
(II) Module fb: vendor="X.Org Foundation"
 compiled for 7.2.0, module version = 1.0.0
 ABI class: X.Org ANSI C Emulation, version 0.3
(II) Loading sub module "wfb"
(II) LoadModule: "wfb"
(WW) Warning, couldn't open module wfb
(II) UnloadModule: "wfb"
(EE) Failed to load module "wfb" (module does not exist, 0)
(II) Loading sub module "ramdac"
(II) NVIDIA(0): Setting mode "1280x1024"
(--) NVIDIA(0): No video decoder detected
(II) NVIDIA(0): Setting mode "1280x1024"
(--) NVIDIA(0): No video decoder detected
(II) Loading extension NV-GLX
(II) NVIDIA(0): NVIDIA 3D Acceleration Architecture Initialized
(EE) NVIDIA(0): Need libwfb but wfbScreenInit not found

Fatal server error:
AddScreen/ScreenInit failed for driver 0

Sitsofe Wheeler (sitsofe) wrote :

This missing libwfb problem might be a duplicate of Bug #90915 ..

Sitsofe Wheeler (sitsofe) wrote :

Thanks for your bug report.

Could you indicate which nvidia card you have along with the output of
dpkg -l nvidia-* | grep ii

Sitsofe Wheeler (sitsofe) wrote :

http://bugzilla.atrpms.net/show_bug.cgi?id=1087 - Fedora 3rd party packaging problems for the wfb module.
http://www.nvnews.net/vbulletin/showthread.php?p=1119139 - module is only used on the 8800 cards but must present for all cards using the 97xx drivers regardless

Sitsofe Wheeler (sitsofe) wrote :

Setting to needsinfo pending reply from Daniel.

Changed in linux-restricted-modules-2.6.20:
status: Unconfirmed → Needs Info
Daniel Llewellyn (diddledan) wrote :

I have an nvidia GeForce 8800GTS.

Following a complete reinstall from scratch, a full dist-upgrade to the latest kernel and reinstall of the nvidia-glx package through the restricted drivers manager I now have a different symptom in that X now dies reporting that it can't access /dev/nvidia0 due to an input/output error. I have attached the full Xorg.0.log for this failed start. The permissions on /dev/nvidia* are:

$ ls -l /dev/nvidia*
crw-rw-rw- 1 root root 195, 0 2007-04-15 17:24 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 2007-04-15 17:24 /dev/nvidiactl

As requested:

$ dpkg -l nvidia-* | grep ii
ii nvidia-glx 1.0.9631+ NVIDIA binary XFree86 4.x/X.Org driver
ii nvidia-kernel-common 20051028+1ubuntu7 NVIDIA binary kernel module common files

Also may be of interest is the `lspci -vv` output for the device?

01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0193 (rev a2) (prog-if 00 [VGA])
        Subsystem: nVidia Corporation Unknown device 0420
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: Memory at d0000000 (64-bit, prefetchable) [size=256M]
        Region 3: Memory at f8000000 (64-bit, non-prefetchable) [size=32M]
        Region 5: I/O ports at bf00 [size=128]
        [virtual] Expansion ROM at fb000000 [disabled] [size=128K]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [68] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
                Address: 0000000000000000 Data: 0000
        Capabilities: [78] Express Endpoint IRQ 0
                Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
                Device: Latency L0s <256ns, L1 <4us
                Device: AtnBtn- AtnInd- PwrInd-
                Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
                Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                Device: MaxPayload 128 bytes, MaxReadReq 512 bytes
                Link: Supported Speed 2.5Gb/s, Width x16, ASPM L0s L1, Port 0
                Link: Latency L0s <256ns, L1 <4us
                Link: ASPM Disabled RCB 128 bytes CommClk+ ExtSynch-
                Link: Speed 2.5Gb/s, Width x16

Sitsofe Wheeler (sitsofe) wrote :

Setting to back to unconfirmed following Daniel's prompt reply.

Changed in linux-restricted-modules-2.6.20:
status: Needs Info → Unconfirmed
Sitsofe Wheeler (sitsofe) wrote :

I think for your card to work you have to use the nvidia-glx-new drivers which will exhibit the wfb error you originally mentioned. I am basing this off http://us.download.nvidia.com/XFree86/Linux-x86/1.0-9755/README/appendix-a.html . Since restricted-manager is not doing this automatically I shall open up a task against it too.

Daniel Llewellyn (diddledan) wrote :

yes, you are quite right, I do indeed need the nvidia-glx-new package instead of the plain nvidia-glx.

$ dpkg -l nvidia-* |grep ii
ii nvidia-glx-new 1.0.9755+ NVIDIA binary XFree86 4.x/X.Org 'new' driver
ii nvidia-kernel-common 20051028+1ubuntu7 NVIDIA binary kernel module common files

now the original problem remains in that the X server is reporting no wfb module. I have attached the updated Xorg.0.log for this problem.

Martin Pitt (pitti) wrote :

Not a r-m issue, even less so if you manually use nvidia-glx-config.

Changed in restricted-manager:
status: Unconfirmed → Rejected
Daniel Llewellyn (diddledan) wrote :

martin, I believe it was marked as a restricted-manager issue because the restricted-manager did NOT install the correct package. It installed nvidia-glx when my system requires the package nvidia-glx-new. manual usage of nvidia-glx-config has no bearing on the situation. I have not run nvidia-glx-config to enable the nvidia module in my xorg.conf file. the restricted-manager performed this step for me, and all I have done is manually reset to the nv module as 1) restricted-manager installed the wrong package, and 2) there is a bug with the nvidia-glx-new package which is independant of r-m.

Changed in linux-restricted-modules-2.6.20:
assignee: nobody → ben-collins
importance: Undecided → High
status: Unconfirmed → In Progress
Ben Collins (ben-collins) wrote :

Marking this for a Stable Release Update. This package isn't on CDs, so wont affect upgrades/installs (upgrades will get nvidial-glx, or will eventually be able to get the updated package once we fix it).

Expect a fix within a few days after release.

Sitsofe Wheeler (sitsofe) wrote :

Reopening restricted-manager bug based on last comment.

Changed in restricted-manager:
status: Rejected → Unconfirmed
Sitsofe Wheeler (sitsofe) wrote :

Bug #106649 covers the "restricted-manager should use nvidia-glx-new" case. Rejecting r-m package again.

Changed in restricted-manager:
status: Unconfirmed → Rejected
Changed in linux-restricted-modules-2.6.20:
status: In Progress → Fix Committed

Hi Sistofe,

Sitsofe Wheeler [2007-04-16 20:10 -0000]:
> Reopening restricted-manager bug based on last comment.

Just for the record and for future bug triage: l-r-m now ships the
modalias lists, so it needs to be changed there. r-m does not have any
X.org driver lists any more, because they are architecture specific.

Martin Pitt (pitti) wrote :

Hi Ben,

Ben Collins [2007-04-16 19:47 -0000]:
> Marking this for a Stable Release Update. This package isn't on CDs, so
> wont affect upgrades/installs (upgrades will get nvidial-glx, or will
> eventually be able to get the updated package once we fix it).

NB that l-r-m-<kernel> *is* on the CDs (the package that ships the
modalias lists), just not the nvidia and fglrx packages.

Sitsofe Wheeler (sitsofe) wrote :

Thanks for the heads up on this.

Jacques L. (jacquesl) wrote :

I've got the same bug with nvidia-glx-new. The bug is fixed with these two comands (as root) :
# rmmod nvidia
# modprobe nvidia_new

It looks like the wrong kernel module is loaded at startup ...

Daniel Llewellyn (diddledan) wrote :

Jacques, this fix does not work for the bug I reported above, as the wfb module is not a kernel module but rather an X11 module, so no amount of reloading of the nvidia.ko kernel module will resolve the issue

Jacques L. (jacquesl) wrote :

Upon closer inspection, it appears I'm having another bug (Sorry for the polution).
Here's what's in my Xorg.0.log :
(II) LoadModule: "wfb"
(WW) Warning, couldn't open module wfb
(II) UnloadModule: "wfb"
(EE) Failed to load module "wfb" (module does not exist, 0) (--> that is why I thought it was the same bug)

but at the the end of the file :
(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module! Please ensure (--> obviosusly not the same bug after all)
(EE) NVIDIA(0): that there is a supported NVIDIA GPU in this system, and
(EE) NVIDIA(0): that the NVIDIA device files have been created properly.
(EE) NVIDIA(0): Please consult the NVIDIA README for details.
(EE) NVIDIA(0): *** Aborting ***
(II) UnloadModule: "nvidia"
(II) UnloadModule: "ramdac"
(II) UnloadModule: "fb"
(EE) Screen(s) found, but none have a usable configuration.

However, like I said, reloading the kernel module resolves my bug, and Xorg starts correctly, but I still find the lines
(II) LoadModule: "wfb"
(WW) Warning, couldn't open module wfb
(II) UnloadModule: "wfb"
(EE) Failed to load module "wfb" (module does not exist, 0)
in the Xorg.0.log file. Weird.

Sitsofe Wheeler (sitsofe) wrote :

Please spin off a separate bug report for your issue. In that bug report could you attach the following files:
dmesg.txt produced by
dmesg > dmesg.txt

Could you add the output produced by the following commands to this bug:
dpkg -l nvidia-\* | grep ii
lspci | grep -i nv
ls -al /lib/linux-restricted-modules/
uname -a

After the bug is made either post a link back here or subscribe me to the bug. Thanks!

Sitsofe Wheeler (sitsofe) wrote :

This looks like it might be a dup of Bug #98641

Jacques L. (jacquesl) wrote :

Actually, my bug solved itself (maybe thanks to an update, I can't remember), so I won't open a bug report for an already solved issue :)

Daniel Llewellyn (diddledan) wrote :

I can confirm that the solution proposed in bug #98641 also works for my situation on the amd64 platform (core 2 duo)

Alberto Milone (albertomilone) wrote :

I'll report the same solution I suggested in bug #98641:

Here is the solution to the bug and the source code.

First of all, the libnvidia-wfb.so.1.0.9755, available only in the latest driver 9755 (in the nvidia-glx-new package) was being not copied by the packaging scripts to /usr/lib/xorg/modules/ therefore I added the following lines at line 964 of the debian/rules :

  if [ "$$this_ver" = "$(nv_new_version)" ]; then \
   install $$this_dir/usr/X11R6/lib/modules/libnvidia-wfb.so.$$this_ver \
    $(CURDIR)/debian/nvidia-glx$${nv_flav}/usr/lib/xorg/modules/; \

If the driver is the latest version then the file is copied, otherwise nothing will happen (as other versions do not have the wfb module).

Another important step was that to make the packaging script create a symlink to modules/libnvidia-wfb.so.$$this_ver (e.g. libnvidia-wfb.so.1.0.9755) named libwfb.so in /usr/lib/xorg/modules/ . Therefore I edited both the debian/nvidia-glx.links.in and the debian/nvidia-glx.links.amd64.in adding only the following line:

usr/lib/xorg/modules/libnvidia-wfb.so.@@VERSION@@ usr/lib/xorg/modules/libwfb.so

And that's all. Now the users of Geforce 8800 will be able to use the nvdia driver.

Here you will find the entire source code made with pbuilder.

You will only have to edit the debian/changelog and bump the version of the linux-restricted-modules package.



Alberto Milone

Martin Pitt (pitti) wrote :

I rejected the feisty-updates upload for this; I guess it was supposed to go to -proposed? Please do that first, subscribe ubuntu-sru, and an SRU policy compliant request (https://wiki.ubuntu.com/StableReleaseUpdates)

Changed in linux-restricted-modules-2.6.20:
status: Fix Committed → In Progress
Alberto Milone (albertomilone) wrote :

Martin Pitt:
I think the upload you rejected had been done by Ben Collins.

It's all reported here:

Maybe you should talk to him.


Sitsofe Wheeler (sitsofe) wrote :

OK I'm going to duplicate this on Bug #98641 because hand waving that the two are the same isn't working. I know this is bad practice (because Ben is marked as working on this bug and not the other) but we are starting to see people missing each other due and information having to be posted twice and I hate forward duping. If this turns out to be the wrong thing please say and that way I'll know better for next time.

Thanks for taking the time to report this bug and helping to make Ubuntu better. This particular bug has already been reported and is a duplicate of bug #98641 and is being marked as such. Please feel free to report any other bugs you may find.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers