Is nvidia-driver-304 doomed?
[2422636.172] ================ WARNING WARNING WARNING WARNING ================
[2422636.172] This server has a video driver ABI version of 24.1 that this
driver does not officially support. Please check
http://www.nvidia.com/ for driver updates or downgrade to an X
server with a supported driver ABI.
[2422636.172] (EE) NVIDIA: Use the -ignoreABI option to override this check.
[2422636.172] (II) UnloadModule: "nvidia"
[2422636.173] (II) Unloading nvidia
[2422636.173] (EE) Failed to load module "nvidia" (unknown error, 0)
[2422636.173] (EE) No drivers available.
Fatal server error:
[2422636.173] (EE) no screens found(EE)
Or, is it safe to use --ignoreABI on FreeBSD?
Or, can the port somehow be patched to work with the new ABI even though it's closed-source?
I was able to work around this on my old iMac by upgrading to nvidia-driver-340, but I have another system where the 340 kernel module reports that I need 304 for my chipset.
Since 304 is officially out of support, Nvidia is unlikely to update it. Although it should be possible to work around ABI incompatibility, I don't believe that's worth the effort. The obvious suggestion is to switch to vga or xf86-video-nv driver.
By "vga" do you mean VESA?
I used to prefer the nv driver for stability reasons (the closed-source nvidia driver has caused kernel panics at times), but it has not worked for me on any installations I've done the past few years. It was deprecated in 2010:
Would be nice if we had nouveau working...
On my tower workstation (nVidia card unsupported by 340) I'll just swap in an old Radeon card I had lying around.
I'll experiment with nv and VESA on my iMac and report back. Not sure if it's possible to swap the GPU in an iMac.
It might also be possible to use the modesetting driver if the CPU has integrated Intel graphics. That worked for me on a similar iMac where I encountered problems with the Radeon driver.
(In reply to Jason W. Bacon from comment #2)
> By "vga" do you mean VESA?
Indeed. Starting to forget how it's called...
> the nv driver ... It was deprecated in 2010
So is your card. That driver is still occasionally updated, as you can see from the commit log. I'm not claiming it's a good driver, just that it's still an option.
It looks like the ABI change is related to hardware cursor support so maybe you can use ignoreABI in combination with the SWcursor option.
Thanks for the tips.
"nv" driver works on my desktop system that's not supported by nvidia-driver-340, but only if I generate an xorg.conf (with "Xorg -configure"). Otherwise, Xorg.0.log reports "Failed to load module "nvidia". Not sure why it would be looking for that when nvidia-driver is not installed and not listed in kld_list.
The following in /etc/X11/xorg.conf.d/90-nvidia.conf is sufficient:
"vesa" works, but only at 640x480 resulution, so not viable.
Possibly an alternative to "SWCursor would be enabling moused? Haven't tried, it, but leaving a suggestion for posterity.
This PR can be closed AFAIC. I think we have enough solutions on the table.
I putzed a little more with the iMac (GeForce 9400). No luck with "nv" or "modesetting" or "vesa". Looks like nvidia-driver-340 is the only option for this chipset right now, unless I overlooked something.
The tower PC that does work with "nv" and not with nvidia-driver-340 has a GeForce 6200 LE, BTW.
Just occurred to me that in 25 years of running FreeBSD, I have yet to encounter a machine that will not function as a graphical desktop system. Most of them just work, and a few like these two require some trial-and-error, but there always seems to be an option.
Open source & compatibility ....
(WW) NVIDIA(0): The NVIDIA GeForce 6500 GPU installed in this system is
(WW) NVIDIA(0): supported through the NVIDIA 304.xx Legacy drivers. Please
(WW) NVIDIA(0): visit http://www.nvidia.com/object/unix.html for more
(WW) NVIDIA(0): information. The 340.108 NVIDIA driver will ignore this
(WW) NVIDIA(0): GPU. Continuing probe...
(EE) No devices detected.
(EE) Fatal server error:
(EE) no screens found(EE)
(EE) Server terminated with error (1). Closing log file.
workstations completely broken ...
"Affects som peoble" - That's right .....
Just stepped on this bug. "nvidia" driver broken because of the abi change, "nv" driver just broken, the trick with SWcursor doesn't work. The old laptop system which i need so much is completely broken after update. That's not funny. Will try to checkout the old version of xorg-server (1.18 should be fine) and make a separate port. Otherwise can remove FreeBSD completely. Stability is the main reason to use it.
The way above works more or less, but I just don't know which keyword in port provides a substitution for default xorg-server. Something like "PROVIDES= xorg-server".
(In reply to crypt47 from comment #8)
> The old laptop system which i need so much is completely broken after update.
I'm currently talking to nVidia about feasibility of updating -304 branch to catch up with xserver ABI 24. Could you please share exact laptop model/specifications, including video chip information?
I have the same issue:
I can't get things working with xf86-video-nv : it doesn't crash, but I get garbage on the screen (even if the card is among the supported ones)
I can't get thing working with nvidia-drivers-304: even forcing "ignoreABI", after showing the nvidia logo briefly, I get garbage on the screen (black bars and a blinking cursor). Also, quite bad, loading the nvidia kernel module makes my ethernet disappear!
Since neither driver works and we don't have nouveau, the whole laptop seems doomed!
My Video Card is:
vgapci0@pci0:1:0:0: class=0x030000 card=0x01071025 chip=0x01d710de rev=0xa1 hdr=0x00
vendor = 'NVIDIA Corporation'
device = 'G72M [Quadro NVS 110M/GeForce Go 7300]'
class = display
subclass = VGA
The "hidden" ethernet card is:
re0@pci0:2:0:0: class=0x020000 card=0x01071025 chip=0x816810ec rev=0x01 hdr=0x00
vendor = 'Realtek Semiconductor Co., Ltd.'
device = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller'
class = network
subclass = ethernet
Same for me with a Geforce 6200 and a brand new installation of FreeBSD 12.2 today.
With nv, I cannot use 1600x1200 on my flat screen due to another bug concerning wrongly detected panel sizes.
Chips & technologies drivers have "FixPanelSize" to circumevent this problem and quietly accept the specified modelines, which doesn't work on nv.
Of course, I tried ignoreABI, both with and without SWcursor.
I just upgraded the iMac GeForce 9400 and nvidia-driver-340 now causes an immediate panic when running startx.
nvidia0: <GeForce 9400> on vgapci0
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: child nvidia0 requested pci_enable_io
panic: vm_fault: fault on nofault entry, addr: 0xfffffe001bd74000
cpuid = 1
time = 1608842319
KDB: stack backtrace:
#0 0xffffffff80c0a8e5 at kdb_backtrace+0x65
#1 0xffffffff80bbeb9b at vpanic+0x17b
#2 0xffffffff80bbea13 at panic+0x43
#3 0xffffffff80ef3942 at vm_fault+0x24d2
#4 0xffffffff80ef1350 at vm_fault_trap+0x60
#5 0xffffffff8108fabc at trap_pfault+0x19c
#6 0xffffffff8108efb6 at trap+0x286
#7 0xffffffff81066f68 at calltrap+0x8
Dumping 277 out of 1751 MB:..6%..12%..24%..35%..41%..52%..64%..75%..81%..93%---<<BOOT>>---
I'd be happy to use scfb, vesa, or nv on this system, but still no luck, even using the following fragment with "vesa" or "scfb" substituted for "nv":
scfb gives me a black screen and I can Ctrl+Alt+F1 back to the console and Ctrl-C out of it. nv gives me a black screen and a locked console. The system is still up, though, and tapping the power button results in a proper shutdown. startx fails with vesa.
I wonder if it would be easy to add support for this chip to the nv driver.
(In reply to Jason W. Bacon from comment #13)
Actually, it seems the nv driver should support the GeForce 9400. From the nv man page:
GeForce 8XXX, GeForce 9XXX, nForce 7, GeForce G, ION
G8x, G9x, GT21x, MCP7x
I'll try tweaking some of the options like "NoAccel" and "UseFBDev" when time permits.
Tried the following with nv driver today, no luck:
CrtcNumber 0 and 1
Have not yet tried AccelMethod "EXA"
Console freezes regardless of options. I can ssh in and see Xorg using 100% CPU.
I'd actually prefer to get nv working on this system if possible, though nvidia-driver-340 would be OK as well. The closed-source nvidia drivers have often caused panics for me in the past while nv has always been rock solid. I don't care about 3D support.
Here are some interesting parts from Xorg log:
FreeBSD tarpon.uits bacon ~ 92: egrep 'EE|WW' /var/log/Xorg.0.log
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 105.142] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 105.142] (WW) Disabling Mouse0
[ 105.142] (WW) Disabling Keyboard0
[ 105.310] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[ 105.322] (EE) NV(0): V_BIOS address 0x0 out of range
[ 105.322] (WW) NV(0): Failed to initialize the int10 module; the console will not be restored.
[ 105.428] (WW) Warning, couldn't open module xaa
[ 105.428] (EE) NV: Failed to load module "xaa" (module does not exist, 0)
(In reply to Jason W. Bacon from comment #13)
This problem has gone away. Just tried again with nvidia-driver-340 and all other ports updated. Seems to be working fine now.