Opened 10 years ago

Closed 9 years ago

#2465 closed bug (fixed)

nvidia driver does not work with GeForce 7600GT

Reported by: n3s Owned by: rudolfc
Priority: normal Milestone: R1
Component: Drivers/Graphics/nVidia Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

The MSI NX7600GT (nvidia GeForce 7600GT) has vendor id 0x10de and device id 0x02e0, which is not in the device list, so I manually added it to the driver.c

Zeta 1.2 will reject the driver ("Your card is currently not supported") and boot in grey scale or VESA.

Haiku crashes (SEGFAULT in app_server) and leaves the system unuasable at the last icon of the boot screen. (KDL over serial works). Using "fail-safe video mode" Haiku boots and the Vesa-mode works fine (a bit slow though).

Tested with R26149 and R26151, serial output is almost identical each time.

May be related to #1518 and #2071.

Attachments (7)

nvidia7600gt--haiku-serial.txt (22.6 KB) - added by n3s 10 years ago.
Serial output from R26151
nvidia.10de_02e0_010000.0.crt.log (100.5 KB) - added by n3s 10 years ago.
Driver log, driver and accelerant updated, settings file added, CRT out of range
driver.c.diff (450 bytes) - added by n3s 10 years ago.
ID added
nv_general.c.diff (443 bytes) - added by n3s 10 years ago.
ID added
driver.c.2.diff (450 bytes) - added by n3s 10 years ago.
nvidia7600gt--haiku-serial-with-accelerant.txt (22.6 KB) - added by n3s 10 years ago.
(Forgot to upload) Serial output, added the updated accelerant, no settings file, analog monitor
haiku-syslog.txt (44.1 KB) - added by n3s 10 years ago.
/var/log/syslog, haiku, DVI

Download all attachments as: .zip

Change History (15)

Changed 10 years ago by n3s

Serial output from R26151

comment:1 Changed 10 years ago by umccullough

Not that I necessarily believe that it would work, but did you add your device to both the kernel driver and the accelerant?

You must add it here:

http://dev.haiku-os.org/browser/haiku/trunk/src/add-ons/kernel/drivers/graphics/nvidia/driver.c

and also here:

http://dev.haiku-os.org/browser/haiku/trunk/src/add-ons/accelerants/nvidia/engine/nv_general.c

The second one is important because it tells the accelerant what features the chip supports and how to work with it.

Best solution is to find one already there with the same features/revision as yours and add it as an additional case there. (perhaps along with the 0x039110de which is also labeled as a 7600GT)

Anyhow, if that still doesn't work - i'd guess Rudolf would have to provide more advice :)

comment:2 Changed 10 years ago by anevilyak

Owner: changed from axeld to rudolfc

Reassigning to Rudolf.

comment:3 Changed 10 years ago by n3s

Yes, I forgot to update the accelerant. But after changing it, I still got segfaults (this time in the accelerant)

I noticed though, that /home/config/settings/kernel/drivers/nvidia.settings was missing. Adding it and rebooting, I still got segfaults.

After googling, I found some comment that GF7800GTO will work if you set memory to 128. Of course I tried that, haiku boots, but the resolution seems to be odd, both my analog monitor and my TFT (analog input) shut off with "out of range".

So I tried the DVI, and behold, it worked. I could set the resolution on the fly to the native 1680x1050 and back at 16bit/pixel. When changing to 32bit, the mouse cursor would disappear.

So, to make it work:

  • add IDs to the driver
  • add settings file
  • restrict video mem to 128MB
  • use a TFT with DVI

By the way, I would be nice if the serial output would say if Haiku is done booting.

Changed 10 years ago by n3s

Driver log, driver and accelerant updated, settings file added, CRT out of range

Changed 10 years ago by n3s

Attachment: driver.c.diff added

ID added

Changed 10 years ago by n3s

Attachment: nv_general.c.diff added

ID added

Changed 10 years ago by n3s

Attachment: driver.c.2.diff added

Changed 10 years ago by n3s

(Forgot to upload) Serial output, added the updated accelerant, no settings file, analog monitor

comment:4 Changed 10 years ago by rudolfc

Hi there,

Thanks for all the info. Could you please send a syslog output file as well? I'd like to see how much RAM was mapped by the kerneldriver.. The driver detects 512Mb RAM on your card. Is that correct?

From the looks of it (from your messages) I'd say the card reports less than 512Mb to be mapped for it's RAM, actually a card BIOS fault. Or: it reports 512MB RAM while there's less on it in fact.. ? Still a BIOS fault.

Anyhow, in theory it should be possible to limit the driver mapping memory if such a case arises. I'll have to add that then to the driver.

Interesting that DVI works for you while CRTC does not: this error occurs on more cards outthere (GF7300LE??, intermitting?). Maybe the PLL programming code needs updating. I'll look into that once I get my new mainboard up and running for dev with Haiku (still nogo..)

Adding the ID's is probably best done after fixing the CRTC error as well as finding out details and fixing the RAM mapping error. (These days cards are shut-off by ID if there is trouble on them in HAIKU svn).

I'll go on holiday for about two weeks and after that I hope to be able to install Haiku on my new PCI-E mainboard on HD (only USB-haiku boot works ATM). Once installation is successfull, and I can develop on Haiku, I'll (try to) fix the CRTC error.

Greetings!

Rudolf.

comment:5 Changed 10 years ago by n3s

Yes, that's correct, the card has 512MB video mem. Well, at least that's what it says on the box it came in...

Changed 10 years ago by n3s

Attachment: haiku-syslog.txt added

/var/log/syslog, haiku, DVI

comment:6 Changed 9 years ago by rudolfc

Hi,

It's a bit later I know.. Anyhow: looks like the force_ws option is a troublemaker on non-ws screens. Maybe you're suffering from that concerning the timing.

About CRTC not working on G72 (7300LE card tested now): it's simply nolonger implemented on the DVI connector! This card has one DVI-D and one VGA connection options. Although a DVI-A connector sits on it...

I'll add this ID after fixing EDID/ddc handling so ws screens are better detected.

Bye!

Rudolf.

comment:7 Changed 9 years ago by rudolfc

Hi,

The memory detection has been rewritten today: that part of the bug is now fixed. DDC/EDID handling is fully implemented in the past few months: fixed.

I'll add your ID asap, leaving bug open because it's still missing.

Bye!

Rudolf.

comment:8 Changed 9 years ago by rudolfc

Resolution: fixed
Status: newclosed

Hi,

Just added the ID's of this card to the driver (hrev32868). Closing bug. Feel free to re-open it if the driver still doesn't work as expected.

Bye!

Rudolf.

Note: See TracTickets for help on using tickets.