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:
Back
Top