Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#4074 closed bug (fixed)

eMachines 19" WS LCD monitor native resolution not avail. using AGP Geforce 2/3

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

Description

Using this monitor and either an AGP GeForce 2 or GeForce 3 video card (VGA output), Haiku offers no option for the 1440x900 native resolution of this monitor. However, I know Haiku is capable of this native resolution, because using another system with a PCIe GeForce 6200 card and the DVI output (DVI input on the monitor), Haiku allows me to select 1440x900 on this same monitor with no problem. I have not yet tried the VGA output on that card, however.

Attachments (1)

syslog (84.5 KB ) - added by Luposian 10 years ago.
Syslog of Athlonica

Download all attachments as: .zip

Change History (22)

by Luposian, 10 years ago

Attachment: syslog added

Syslog of Athlonica

comment:1 by Luposian, 10 years ago

I just added my syslog, to help find what is preventing native resolution discovery in Haiku.

comment:2 by Luposian, 10 years ago

Apparently, a missing "nvidia.settings" file is/was the culprit. Why was it not part of the GCC4 build? Also, I had to set "force_ws" to true, in order for my monitor's native resolution to be correctly identified and made available to select.

The question I have, though, is... when the VESA setting file keeps popping up (when/after using with the Screen preflet?), does that mean I'm still operating in VESA mode or am I in true nVidia accelerated mode? I can't tell. How *can* I tell for certain?

comment:3 by umccullough, 10 years ago

It's not a required file. Likely there's a non-default setting in the file you grabbed that changed the behavior.

comment:4 by umccullough, 10 years ago

You can tell what accelerant the app_server is using the following command from a terminal:

listimage | grep accel

Which will list out all binaries loaded in memory that have the string: "accel" in their name. All current accelerants end in .accelerant.

in reply to:  2 comment:5 by anevilyak, 10 years ago

Replying to Luposian:

The question I have, though, is... when the VESA setting file keeps popping up (when/after using with the Screen preflet?), does that mean I'm still operating in VESA mode or am I in true nVidia accelerated mode? I can't tell. How *can* I tell for certain?

If you have the drop down to adjust the refresh rate in the Screen prefs, you're using the nvidia driver (or some other accelerated driver). If not, you're using VESA.

comment:6 by Hubert, 10 years ago

Cc: HubertNG@… added

in reply to:  3 comment:7 by Luposian, 10 years ago

Replying to umccullough:

It's not a required file. Likely there's a non-default setting in the file you grabbed that changed the behavior.

"It's not a required file.", yet it was a file *I* required, to get my monitor's native resolution detected and made available. And, the behavior it changed was that my monitor's native resolution wasn't detected before... but now it is. :-)

comment:8 by umccullough, 10 years ago

Please understand... my point was simple: it shouldn't be required. The reason it worked is because the file contains non-standard options to manipulate the driver in ways that can't be anticipated automatically.

Ultimately, the proper solution would be to fix the driver to detect the situation which required manual tweaking of the settings file.

The reason the file is not included by default is because it should not be needed unless the driver is having issues doing the "right thing" without manual intervention. Clearly there is an issue with your particular hardware and monitor that prevents the driver from automatically detecting your resolution.

Tou should probably put a # in front of each value in the nvidia.settings and restart until you find the one setting that breaks it again, that would be the most helpful for rudolf to determine what the actual issue is.

in reply to:  8 comment:9 by Luposian, 10 years ago

Replying to umccullough:

Please understand... my point was simple: it shouldn't be required. The reason it worked is because the file contains non-standard options to manipulate the driver in ways that can't be anticipated automatically.

Ultimately, the proper solution would be to fix the driver to detect the situation which required manual tweaking of the settings file.

The reason the file is not included by default is because it should not be needed unless the driver is having issues doing the "right thing" without manual intervention. Clearly there is an issue with your particular hardware and monitor that prevents the driver from automatically detecting your resolution.

Tou should probably put a # in front of each value in the nvidia.settings and restart until you find the one setting that breaks it again, that would be the most helpful for rudolf to determine what the actual issue is.

The only thing in that file that I needed to change, in order to make my monitor's native resolution (1440x900) seen and available, was to change "force_ws" to true. Nothing else made any difference, as the *resolution* was the only issue.

The funny thing is, the syslog shows that the native resolution is right there all along... but Haiku never makes it available without the file and "force_ws" being set to true. I don't understand that.

Why can't the file just be left and, if there is a display issue, it can be (hopefully) fixed by adjusting the "nvidia.settings" file? The same for every other graphics card settings file.

If the file is to be removed, then why not have an "Other display options" button somewhere in "Screen", that offers you every possible display settings combination that isn't normally available. Maybe make it so that you have to hold down Shift or something to make it appear (or to ungrey it, as it's normally greyed out), to click on it and access the other options. That way it's not messed with accidentally.

comment:10 by umccullough, 10 years ago

Interestingly, force_ws is set to false in the settings file in subversion, so you must have manually edited to make it work anyway...

In any case, as you can see from the tickets already here:

http://dev.haiku-os.org/search?q=force_ws&noquickjump=1&ticket=on

The use of that setting is sometimes problematic as well. Rudolf is already adding EDID support to the driver to have it detect the resolutions automatically (perhaps the EDID info is what you're seeing the syslog when the vesa driver queries the card for monitor resolutions).

In any case, perhaps attaching a syslog to this ticket would even help more, since you seem to already have viewed it and determined that there is useful information there.

in reply to:  10 comment:11 by Luposian, 10 years ago

Replying to umccullough:

Interestingly, force_ws is set to false in the settings file in subversion, so you must have manually edited to make it work anyway...

In any case, as you can see from the tickets already here:

http://dev.haiku-os.org/search?q=force_ws&noquickjump=1&ticket=on

The use of that setting is sometimes problematic as well. Rudolf is already adding EDID support to the driver to have it detect the resolutions automatically (perhaps the EDID info is what you're seeing the syslog when the vesa driver queries the card for monitor resolutions).

In any case, perhaps attaching a syslog to this ticket would even help more, since you seem to already have viewed it and determined that there is useful information there.

I also tried turning everything off (using the # symbol) in the settings file and activating (removing the #) each one and then rebooting. Nothing, but NOTHING made any difference in finding my monitor's native resolution, until I activated "force_ws" and made it true. Then Haiku found my monitor's native resolution.

Funny thing is... why does Screen create a VESA file with the 1440x900@60Hz (native resolution), when I'm supposedly not using Vesa mode? It creates this file, whether or not I have "nvidia.settings" installed/enabled or not. It was said by "anevilyak", that if I can change refresh rates (which I can, even from the very beginning), then I am supposedly NOT in Vesa mode. Yet, Screen creates a file called "Vesa" with the resolution/refresh rate in it. This doesn't make any sense!

Are you suggesting that I should include a 2nd Syslog file, in addition to the one I already put in this ticket? I can do that, if you think it will help, but I doubt it will say anything different...

comment:12 by stippi, 10 years ago

It didn't make sense to you maybe before you read what I am going to write next... :-)

The vesa settings file is indeed created by the Screen preflet, which is for the purpose to get your Monitor into the correct resolution as early as possible, which is during boot, when the Haiku boot icons are displayed, until the kernel has detected your file system and loaded drivers. During this time, Haiku (and any other operating system) use the VESA mode. The point is that the resolution switch happens as early as possible, so it looks better than, say, Windows, which displays the logo in one resolution and then switches to a different resolution when the Desktop shows. It's for making a smoother impression during booting. That's all. If you can pick a screen refresh rate, then yes, you are using the nvidea driver, not the vesa driver.

comment:13 by rudolfc, 10 years ago

Hi,

Ticket #4084 might be the same problem. Apparantly something goes wrong with autodetection of the capabilities of your monitor. Please upload a logfile from the driver.

Please use a default nvidia.settings file with only the line 'full logging' enabled, otherwise I won't get all the correct info maybe. So your monitor won't startup in the native resolution.

For your info: the driver is actually working OK (apart from the missing modeline that is). force_ws is indeed a emergency option to get what you want because the driver somehow misbehaves, your gfx card misbehaves or your monitor misbehaves.

nvidia.settings in not required unless troubleshooting, or some hardware was incorrectly manufactured (bios faults might be an issue for instance). It might be that on windows it behaves OK after all, but then again, I don't have all info that nvidia has, so I can't workaround all errors.

Bye!

Rudolf.

in reply to:  13 comment:14 by Luposian, 10 years ago

Replying to rudolfc:

Hi,

Ticket #4084 might be the same problem. Apparantly something goes wrong with autodetection of the capabilities of your monitor. Please upload a logfile from the driver.

Please use a default nvidia.settings file with only the line 'full logging' enabled, otherwise I won't get all the correct info maybe. So your monitor won't startup in the native resolution.

For your info: the driver is actually working OK (apart from the missing modeline that is). force_ws is indeed a emergency option to get what you want because the driver somehow misbehaves, your gfx card misbehaves or your monitor misbehaves.

nvidia.settings in not required unless troubleshooting, or some hardware was incorrectly manufactured (bios faults might be an issue for instance). It might be that on windows it behaves OK after all, but then again, I don't have all info that nvidia has, so I can't workaround all errors.

Bye!

Rudolf.

As far as I can tell, in VGA mode, Haiku (hrev32100 or thereabouts) still can't detect my monitor's native resolution right off the bat (it starts out at 1024x768), BUT... the option for 1440x900 is now showing up in the Screen pref.

comment:15 by rudolfc, 10 years ago

How come 1440x900 is now showing up? did you enable force_ws in nvidia.settings, or not???

Can you upload a driver logfile for me please?

BTW VESA doesn't support WS modes, that's why the icons screen will never appear in your native resolution. Haiku once booted with nvidia driver, should support the native resolution though..

At first start the driver might come up with 1024x768 but that's app_server behaviour if certain new accelerant hooks concerning DDC/EDID aren't available. If all is right that will change in the future.

Bye!

Rudolf.

comment:16 by rudolfc, 10 years ago

Hmm, does your card have both a DVI and VGA connector? Did you change the connection of your screen?

Anyhow, I'd love a driver logfile from a system boot, if possible a boot on the VGA connector, and a boot on the DVI connector, if that's what you changed... ?

Bye!

Rudolf.

in reply to:  15 comment:17 by Luposian, 10 years ago

Replying to rudolfc:

How come 1440x900 is now showing up? did you enable force_ws in nvidia.settings, or > not???

I (thankfully) no longer need the nvidia.settings file. Something was fixed in the sources. What, I don't know, but 1440x900 now shows up and is selectable.

Can you upload a driver logfile for me please?

If you need it, sure. But as it was a monitor issue, if it's fixed, it's fixed. Isn't that a good thing? Or do you want to know WHY it's fixed, so it doesn't break (or get broken) later?

in reply to:  16 comment:18 by Luposian, 10 years ago

Replying to rudolfc:

Hmm, does your card have both a DVI and VGA connector? Did you change the connection of your screen?

No. The Creative Geforce 2 Ultra and the Asus GeForce 3 Ti500 are both AGP and only have VGA, no DVI.

Anyhow, I'd love a driver logfile from a system boot, if possible a boot on the VGA connector, and a boot on the DVI connector, if that's what you changed... ?

I can send a logfile from the latest revision of Haiku, if you still need it, but I can't test DVI. But DVI always worked on my other system. VGA has always been the problem area. But not anymore, so it seems, on this current system.

comment:19 by rudolfc, 10 years ago

Resolution: fixed
Status: newclosed

OK, Thanks for your responses. Probably the DDC setup does it's work then, together with the modified I2C detection for 3 instead of 2 buses that was added later.

Closing this ticket. If trouble arises again in the future, I take it I'll hear from you :-)

Bye!

Rudolf.

in reply to:  15 comment:20 by stippi, 10 years ago

Replying to rudolfc:

BTW VESA doesn't support WS modes, that's why the icons screen will never appear in your native resolution. Haiku once booted with nvidia driver, should support the native resolution though..

That's not entirely correct, since the VESA BIOS *may* contain WS modes. That's the case on my GTX285 by Club3D (it depends on the vendor), it contains for example 1920x1200x32, which gives me the boot screen in the native resolution. My other nVidea board does not have WS screens in the VESA BIOS, while my old 8800GTX did contain 1920x1200, but only at 8bpp. So it really depends on the vendor, but this info is not easily available (or not at all), before you purchase a graphics board.

comment:21 by rudolfc, 10 years ago

Thanks for the correction Stephan.

Then I should probably say that cards before the G80 (mostly) did not have WS VESA support. That in theory WS modes could be in the list I understand of course.. ;-)

Since I never saw it myself yet...

Bye!

Rudolf.

Note: See TracTickets for help on using tickets.