Opened 2 years ago

Last modified 2 years ago

#17412 new bug

Black screen at boot up with a card Nvidia GeForce 4200 Go

Reported by: Kitsune64 Owned by: rudolfc
Priority: normal Milestone: Unscheduled
Component: Drivers/Graphics/nVidia Version: R1/beta3
Keywords: Cc:
Blocked By: Blocking:
Platform: x86

Description (last modified by rudolfc)

I have a black screen or buggy pixaleted screen after booting up Haiku with the graphic card Geforce 4200 Go this is recognized by Haiku by list dev as a "Geforce4 Ti 4200 Go AGP 8x"

I must to put the fail save mode graphics to have a working OS (VESA driver) I have blacklisted NVIDIA driver and it work also.

Turn-on AGP fails (incompatibility between card and host)

Attachments (6)

IMG_20211123_173828.jpg (4.2 MB ) - added by Kitsune64 2 years ago.
nvidia.10de_0286_010000.0.log (149.5 KB ) - added by Kitsune64 2 years ago.
nvidia.settings (3.3 KB ) - added by Kitsune64 2 years ago.
Nvidia.settings file for the NVIDIA Driver that work with the Geforce4 4200 Go from laptop Dell Latitude D800. Place this file in /boot/home/config/settings/kernel/drivers/
screenshot1.png (103.9 KB ) - added by Kitsune64 2 years ago.
Screenshot of the Nvidia driver working. (After placed the nvidia.settings file)
SettingAGP.png (101.1 KB ) - added by Kitsune64 2 years ago.
AGP software used to diagnostic the trouble about AGP port.
syslog.old (512.0 KB ) - added by Kitsune64 2 years ago.
Syslog when the screen bug with the nvidia driver and AGP are "on".

Change History (20)

comment:1 by rudolfc, 2 years ago

Hi, Thanks for reporting! It would be very helpfull if you can upload a photo or two from the pixelated display, along with also a driver logfile.

This is -not- the syslog in the nvidia case, but a dedicated log which will get created if the driver runs and it is specified to create a log in it's own settings file. You can also specify the driver to dump the cardBIOS to file, which you could also upload to this ticket.

My old site, describing the nvidia driver and all of it's features and limits is here: http://rudolfs-place.nl/BeOS/NVdriver/index.html

On that page you can also find how the settings file works, it's here: http://rudolfs-place.nl/BeOS/NVdriver/setinst.html#settings

An example settings file is already in git, with the kerneldriver. It's enough (for the log) to create a textfile called nvidia.settings in home/config/settings/kernel/drivers, which contains one single line with:

logmask 0xffffffff

The example nvidia.settings file is here: https://git.haiku-os.org/haiku/tree/src/add-ons/kernel/drivers/graphics/nvidia/nvidia.settings

If you have additional questions please let me know :-)

Thanks a lot in advance!

(BTW: you could also start tweaking the driver to see if it would help to get it running OK on your system. See the various settings options ;-)

Last edited 2 years ago by rudolfc (previous) (diff)

by Kitsune64, 2 years ago

Attachment: IMG_20211123_173828.jpg added

by Kitsune64, 2 years ago

comment:2 by Kitsune64, 2 years ago

Hi, I have attached a picture of the screen when it bug with the Nvidia driver and the log file created by the nvidia.settings file with logmask "0xffffffff" inside it. Thanks for your complete answer.

comment:3 by Kitsune64, 2 years ago

The trouble seem solved by using your nvidia settings file and switch on 'true' the 'force_pci' line. Then this seem the AGP that making the screen buggy.

This is a graphic card on a Dell Latitude D800 laptop by info.

I will post my setting file in the ticket. This seem solved.

Thanks again.

by Kitsune64, 2 years ago

Attachment: nvidia.settings added

Nvidia.settings file for the NVIDIA Driver that work with the Geforce4 4200 Go from laptop Dell Latitude D800. Place this file in /boot/home/config/settings/kernel/drivers/

by Kitsune64, 2 years ago

Attachment: screenshot1.png added

Screenshot of the Nvidia driver working. (After placed the nvidia.settings file)

comment:4 by rudolfc, 2 years ago

Hi, Well, good work! You don't need help at all, that doesn't happen much! :-)

Anyhow, The AGP busmanager was rewritten later on (By Axel D) so I am not 100% confident it's still compatible with the nvidia driver. AGP tends to have specific problems on specific cards, ATI is notorious in this aspect for instance (Thomas Kurschel told me about this in the past).

It currently does this for your system: (from the log)

  • AGP: AGP 2.0 4x mode is set
  • AGP: fastwrite transfers are enabled
  • AGP: sideband adressing is enabled

In the past, with my old version of the busmanager it was possible to do some settings on it via it's own settings file if I remember correctly, being:

  • force max AGP mode lower
  • disable fastwrites
  • disable sideband adressing (don't remember if I even turned this feature on)

You are perfectly OK without AGP, though it would be interesting to find out what's wrong exactly. You'll probably notice some lagging in graphics with Haiku as it does not use the acceleration engine these days. This lag is really lower with AGP mode, specifically with fastwrites enabled. The optimum would be AGP4x for you, with fastwrites, but without sideband adressing..

At this point I'm not sure how to proceed, the nvidia settings file does not (yet) support disabling or forcing features (apart from unhide FW: which lets the AGP manager see your card supports fastwrites if it initially did not show it: this is a specific nvidia tweak that works well), so we'd have to look at the AGP manager to see if it still supports a settings file (I think I remember Axel pulling the plug on that), we'd have to re-add that, or we'd have to (try to) add that to the nVidia driver so it simply has more say in the matter.

Another important thing is the order of switching inside the AGP busmanager, if it does it in the wrong order, the distortions you are seeing might be the result. OTOH, also sideband adressing may be the cause.. And in very few cases AGP2x mode might help, though I don't expect that.

I think I'll have a look at the AGP manager source, and at the driver's AGP module to see if I can help out here. Another route would be removing this AGP manager from your system and replace it with my old V0.02 one, if we can make it compile and work: to rule out current manager is the cause of the problem.

As soon as I know more I'll update this ticket, ok?

Thanks again!

Last edited 2 years ago by rudolfc (previous) (diff)

comment:5 by Kitsune64, 2 years ago

Yes you can, all advices is welcome.

I notice the VESA (safe driver) produce more performances in the GLTeapot Demo of Haiku than the Nvidia driver I have with this configuration. Is it due to the force PCI option?

With the VESA driver I have mainly around 50 fps, than with the Nvidia driver that turn mainly around 30 fps and few times go up to 50 fps and after go down again around 30 fps.

The last drivers I have found on the internet for it are on this page: https://www.dell.com/support/home/fr-be/product-support/product/latitude-d800/drivers

The last version of the driver is for Windows XP is on the official Dell website (my laptop is a Dell): nVidia GeForce4 4200 Go, v.6.14.10.6742, A06

I have find it about this product: https://www.techpowerup.com/gpu-specs/geforce4-go-4200.c1558

But I had only 32MB of video memory on it if I remind correctly in Windows XP.

I had also tryied to install a Debian Wheezy (that's a old distribution) on this laptop and encounter the same trouble of pixelized screen, same as starting point with Haiku. I don't have make search on Debian to solve this trouble...But I think that was the named "Nouveau" Drivers for Nvidia.

Maybe this will help you in your research

Last edited 2 years ago by Kitsune64 (previous) (diff)

comment:6 by rudolfc, 2 years ago

Have a look here: https://en.wikipedia.org/wiki/GeForce#GeForce_4_series

It's kind of a negotiation process between host controller and gfx card to select a compatible AGP mode. The card you have is newer than the mainboard in that respect: the mainboard max supports 4x, and the card 8x: hence 4x is selected, and that is correct.

For the benchmark: GLTeapot is nolonger a good benchmark in my opinion as someone has limited it to the screen refresh. Would be nice if it had an option to shut that sync off, but it hasn't currently. If you want to test best select highest colordepth and largest output window on highest display resolution. Then compare VESA against the driver again.

Another option would be for instance to run Quake2's Timedemo1 or some other openGL benchmark where this sync is not forced. Though what you say does sound a bit strange indeed..

comment:7 by rudolfc, 2 years ago

Ah, you wrote: I had also tryied to install a Debian Wheezy (that's a old distribution) on this laptop and encounter the same trouble of pixelized screen, same as starting point with Haiku. I don't have make search on Debian to solve this trouble...But I think that was the named "Nouveau" Drivers for Nvidia.

  • OK, that's very interesting. This would indicate an incompatibility between your mainboard and gfx card hardware, not a fault in the AGP busmanager. I'll concentrate on getting you options to have influence on the selected AGP mode then :-)

BTW The nouveau driver is a quite solid driver these days ;-)

  • Ah one more point maybe: you -could- have a quick peek at your BIOS to see if you have an option to set the AGP voltages or so for your system, maybe that could solve the incompatibility (AGP 8x capable cards often run at lower voltages than the older x1..x4 versions.
  • and ok, another thing to think about: note that your laptop might be faster running on mains than on battery..

And one more remark: it seems your card has 64Mb, that's also what the driver reports.

Last edited 2 years ago by rudolfc (previous) (diff)

comment:8 by rudolfc, 2 years ago

The current AGP/GART manager nolonger has a settings file to influence behaviour. My old non-GART AGP busmanager did though.

For reference it's here: http://rudolfs-place.nl/BeOS/Downloads/Haiku_AGPman_V0.02.zip

There's a readme in the zip. If you're on 32bit Haiku there's a slim chance afaik this would still work (but in the home/config/non-packaged hierarchy instead in home/config (see readme, uninstall folder info).

I'll have a look at the nvidia driver to see if I could add support for influencing the busmanager but this will take some time..

comment:9 by Kitsune64, 2 years ago

I have watch in the BIOS. The Video memory is set to 32Mb no more. I don't have any options about AGP voltage.

--- In few days, maybe a week. I will receveid a new Hard Drive with more space. I will use it to reinstall Windows XP or Seven (I think the driver of XP are compatible with Seven), and maybe Debian and of course Haiku cause it mainly work.

I will return the specifications of the driver from Windows here. Don't know, maybe this will guide you. --- About Linux/Debian: Using the "Nouveau" driver scare me cause it's an old laptop and I don't know if this driver is really compatible with my graphic card for now.

Also I have find a old driver for Linux: https://www.nvidia.com/download/driverResults.aspx/48996/en-us This one! But don't mention my exact graphic card model (4200 Go) but it's for Geforce 4 serie.

I don't have take the time to test it on my graphic card before but I would like to try it when I will have time and my new Hard drive. I will try to find a Linux Distribution that's work with this card (with acceleration if possible) and I will give return here if a driver work.

---About your AGP product (Zip file before)---

I have do a manually installation of it cause when I execute the .sh file, the extracted files don't appear in the directories. Of course I use a 32bits system...I must to go to a non-packaged directory like you said in your comment.

After installation I have put the max setting of AGP to 4 and put "off" the force_pci line of Nvidia driver settings but the pixalized screen reapear with theses settings.

Also I am not sure if I have installed your software in the goods directories. How can I view if your software is running well?

I will put a screenshot of my settings for now with your AGP software maybe that can guide you more than text. The force_pci option of Nvidia settings is push "off" for now. But here is the VESA driver that's in use cause the Nvidia always give me the pixalized bug when I don't put "on" the force_PCI option in it.

On this good night, Thanks.

Last edited 2 years ago by Kitsune64 (previous) (diff)

by Kitsune64, 2 years ago

Attachment: SettingAGP.png added

AGP software used to diagnostic the trouble about AGP port.

comment:10 by rudolfc, 2 years ago

Good morning from Holland,

Looks OK to me, so remove the agp block from nvidia.settings, reboot and see if you still have a desktop. I get you already did that though :-) From such a boot you could upload a syslog since that's where the AGP manager's debug messages appear. But from your report it looks like the old driver doesn't kick in. That could be because Haiku is not always very good with respecting the drivers in the user hierarchy unfortunately, or because the binary format is nolonger good for Haiku (I would need to recompile it then provided I can find the sources). I'd say upload the syslog anyway if you can to see what happens in there. Thanks for your efforts!

Oh BTW: you could check if the agp manager is marked executable to be sure that's OK too.

Last edited 2 years ago by rudolfc (previous) (diff)

comment:11 by Kitsune64, 2 years ago

Hi!

I have removed the agp block (force_pci line) from nvidia_settings and that cause the famous screen bug when I reboot the computer.

I don't know what I must to do about syslog.

I have make a chmod 777 agp about your app that's what I supose to do to mark it as executable?

comment:12 by rudolfc, 2 years ago

You can just use the context menu via the mouse when hovering over the file, and select 'Get Info' and look at tab 'Permissions'.

In the meantime I recovered the old agp manager source but I was unable to compile. Looking at the driver and current manager it looks like it should be possible though to block certain aspects from the nvidia driver, so I would have to add that. I'll have a look, but this requires me first to get a system up and running with AGP and nvidia card so I can test it. For now, if this old file you now have for the agp manager doesn't work you are stuck with PCI mode by blocking AGP from the nvidia driver. Did you rerun GLteapot btw on max windowed size to see if the vesa vs nvidia driver speed is comparable?

Oh, syslog is a file in the folder /var/log. When you cannot grab it because you can't see anything, just reboot and grab syslog.old instead (if all is right: sometimes you have to try a few times..)

Last edited 2 years ago by rudolfc (previous) (diff)

by Kitsune64, 2 years ago

Attachment: syslog.old added

Syslog when the screen bug with the nvidia driver and AGP are "on".

comment:13 by Kitsune64, 2 years ago

Hi,

I have put the syslog.old file and the execute permitions of AGP seem ok (the three squares next to execute label are checked).

comment:14 by rudolfc, 2 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.