Dell Latitude D630 will not initialize nVidia 340 driver on 14.1-RELEASE

Hello FreeBSD forums! (I'm actually new here, my name is Katheryn, nice to meet ya)
I have set up FreeBSD 14.1 on my Latitude D630 that uses the nVidia Quadro FX 360M video chipset. I have successfully dual booted it with Windows XP and Vista, and got Xfce4 working. However, I have not had success getting the proper nVidia 340 drivers to load. I have added the IgnoreABI flag and the nvidia driver definition to /usr/local/etc/X11/xorg.conf.d/10-nvidia.conf, with no other settings aside from the default files in the /usr/share/whatever directory it also uses. I am immediately greeted with "No screens found (EE)" and if I look in the actual log file I also see the nVidia kernel module is installed, but does not initialize. I thought it worked but then I realized I wasn't getting any proper video acceleration which told me something wasn't using the nVidia drivers but rather a software framebuffer.

I also get errors from the nVidia kernel module on startup. "NVRM: NVIDIA MEM resource alloc failed, BAR1 @ 0x14" and "NVRM: NVIDIA hardware alloc failed." both from nvidia0. I did add "hw.pci.allow_unsupported_io_range="1"" in /etc/rc.conf and /boot/loader.conf but that didn't fix my issue. Has anyone else worked to fix this? It's really such a pain that nVidia drivers have to be (mostly) proprietary, and the fact they especially won't open-source their older stuff! I have seen a few people get 340 drivers working recently on freeBSD but I'm not so sure they really elaborated on much.
 
There might be an option in your BIOS/UEFI, something like "Resize BAR", try enabling or disabling it to see if the message changes.
 
There might be an option in your BIOS/UEFI, something like "Resize BAR", try enabling or disabling it to see if the message changes.
I do not see an option for this. Also, I should elaborate: this is a 2007 Dell Latitude D630/Precision M2300 with the nVidia Quadro FX 360M video chip that only has 128MB of video memory.
 
I also get errors from the nVidia kernel module on startup. "NVRM: NVIDIA MEM resource alloc failed, BAR1 @ 0x14" and "NVRM: NVIDIA hardware alloc failed." both from nvidia0. I did add "hw.pci.allow_unsupported_io_range="1"" in /etc/rc.conf and /boot/loader.conf but that didn't fix my issue.
Appendix L. Known Issues mentions the "64-Bit BARs (Base Address Registers)", however, that text is used in the context of an old Linux driver.

The recent PR 282308 revolves around the same "BAR" & "NVRM: NVIDIA hardware alloc failed." issues; it seems your "340" driver problems also appear in "nvidia-driver-550.120". That hints at an extended problem; maybe add your problem to the PR. Perhaps, an older version like 13.3 (different kernel) might not exhibit these problems.

It seems your problem came up in Thread nvidia-kernel-module-error.19778 (also a Dell D630 EDIT: and a Dell D830); you could try debug.acpi.disabled="sysres" in loader.conf.

Btw. On my 14.1-R, I'm puzzled by hw.pci.allow_unsupported_io_range="1" (as mentioned in driver 340.108 - README - Chapter 8. Common Problems):
Rich (BB code):
[1](0) ~ # sysctl hw.pci.allow_unsupported_io_range
sysctl: unknown oid 'hw.pci.allow_unsupported_io_range'
[2](1) ~ # grep hw.pci.allow_unsupported_io_range -B1 -A9 /usr/src/tools/tools/sysdoc/tunables.mdoc
---
hw.pci.allow_unsupported_io_range
bool

Some machines do not detect their CardBus slots correctly
because they use unsupported I/O ranges.
This
.Nm
allows FreeBSD to use those ranges.

---
[3](0) ~ #

And hw.pci.allow_unsupported_io_range=1 in loader.conf also doesn't show up in dmesg -a
 
Last edited:
nVidia 304 drivers
The 304 version drivers have been broken for a very long time. And it would appear the 340 version is now broken too. These drivers have been EoL for many years, and changes in Xorg broke them. The 390 version still works, somewhat, only 2D no more 3D.
 
Back
Top