LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (http://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   nVidia problem rainbow colors when 3d driver is activated (http://www.linuxquestions.org/questions/linux-hardware-18/nvidia-problem-rainbow-colors-when-3d-driver-is-activated-367273/)

chadl 09-26-2005 04:06 PM

nVidia problem rainbow colors when 3d driver is activated
 
I have a Compaq Presario R3000Z running Gentoo Linux x86_64, on an amd64 CPU.

I have gotten everything on my laptop working, until I attempted to get the nVidia driver to work.

Currently, my system is working fine with the driver in the xorg.conf file set to "nv", however I installed the nVidia driver, and attempting to use it causes my screen to filled with rainbow colors, that shift based (I assume) on what is supposed to be on the screen.
When I switch over to the terminal (using Ctrl+Alt+F1), the terminal appears, however, there is a very strong yellow tint covering the display, but I can still read it (to switch back to the nv driver.)

I have had the same problem when I attempted to acheave this same goal, using Fedora Core 4 x86_64.
At this point, my xorg.conf is a little bit of a hack job, as it took some work to make the x-server start, but I got it working (with the widescreen) by pasteing a few xorg.conf files I found on the internet together.

My xorg.conf file is as folows:
Code:

# XFree86 4 configuration created by pyxf86config

Section "ServerLayout"
        Identifier    "Default Layout"
        Screen                "WXGA Screen"
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"

# RgbPath is the location of the RGB database.  Note, this is the name of the
# file minus the extension (like ".txt" or ".db").  There is normally
# no need to change the default.
# Multiple FontPath entries are allowed (they are concatenated together)
# By default, Red Hat 6.0 and later now use a font server independent of
# the X server to render fonts.
        RgbPath      "/usr/lib/X11/rgb"
        FontPath    "/usr/share/fonts/misc/"
        FontPath    "/usr/share/fonts/TTF/"
        FontPath    "/usr/share/fonts/Type1/"
        FontPath    "/usr/share/fonts/CID/"
        FontPath    "/usr/share/fonts/75dpi/"
        FontPath    "/usr/share/fonts/100dpi/"
EndSection

Section "Module"
        Load  "dbe"
        Load  "extmod"
        Load  "fbdevhw"
        Load  "glx"
        Load  "record"
        Load  "freetype"
        Load  "type1"
        # Load  "dri"
EndSection

Section "ServerFlags"
        Option            "AllowMouseOpenFail" "yes"
EndSection

Section "InputDevice"

# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
#        Option        "Xleds"                "1 2 3"
# To disable the XKEYBOARD extension, uncomment XkbDisable.
#        Option        "XkbDisable"
# To customise the XKB settings to suit your keyboard, modify the
# lines below (which are the defaults).  For example, for a non-U.S.
# keyboard, you will probably want to use:
#        Option        "XkbModel"        "pc102"
# If you have a US Microsoft Natural keyboard, you can use:
#        Option        "XkbModel"        "microsoft"
#
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
#        Option        "XkbLayout"        "de"
# or:
#        Option        "XkbLayout"        "de"
#        Option        "XkbVariant"        "nodeadkeys"
#
# If you'd like to switch the positions of your capslock and
# control keys, use:
#        Option        "XkbOptions"        "ctrl:swapcaps"
# Or if you just want both to be control, use:
#        Option        "XkbOptions"        "ctrl:nocaps"
#
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option            "XkbModel" "pc105"
        Option            "XkbLayout" "us"
EndSection

# Doesn't work
# Section "InputDevice"
#        Identifier  "Mouse0"
#        Driver      "synaptics"
#        Option            "CorePointer"
#        Option            "Protocol" "event"
#        Option            "Device" "/dev/input/mice"
#        Option            "ZAxisMapping" "4 5"
#        Option            "Emulate3Buttons" "no"
#EndSection

# Original config
Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "IMPS/2"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5"
        Option      "Emulate3Buttons" "true"
EndSection

# Also allow USB mouse
Section "InputDevice"
        Identifier        "USB Mouse"
        Driver                "mouse"
        Option                "SendCoreEvents"        "true"
        Option                "Device"                "/dev/input/mice"
        Option                "Protocol"                "ImPS/2"
        Option                "Emulate3Buttons"        "true"
        Option                "ZAxisMapping"                "4 5"
EndSection

# Added by GAG
# Reference: <url removed so I can post this>
Section "Modes"
        # Here is the optimal mode: 1280x800 @ 60.0Hz
        Identifier "16:10"
        # 1280x800 @ 60.00Hz (GTF) hsyn: 49.68kHz; pclk: 83.46Mhz
        ModeLine "1280x800" 83.5 1280 1344 1480 1680 800 801 804 828
EndSection

Section "Monitor"
        Identifier  "Monitor0"
        VendorName  "Monitor Vendor"
        ModelName    "Unknown monitor"
        UseModes    "16:10"
        HorizSync    30-90
        VertRefresh  50-75
        Option            "UseEdidFreqs"        "1"
        Option            "FlatPanelProperties"        "Scaling = aspect-scaled"
        Option            "dpms"
EndSection

# Non-twinview setup
Section "Device"
        Identifier        "NVidia GeForce4 420 Go 32M"
        Driver                "nv"
        VideoRam        32768
        Option                "NvAgp"        "3"
        Option                "UseEdidFreqs"        "1"
        Option                "FlatPenelProperties"        "Scaling = aspect-scaled"
EndSection

# This monitor is only needed in the non-twinview setup
Section "Monitor"
        Identifier        "WXGA LCD"
        UseModes        "16:10"
        HorizSync        30-90
        VertRefresh        50-75
        Option                "UseEdidFreqs"                "1"
        Option                "FlatPanelProperties"        "Scaling = aspect-scaled"
        Option            "dpms"
EndSection

Section "Screen"
        Identifier "WXGA Screen"
        Device    "NVidia GeForce4 420 Go 32M"
        Monitor    "WXGA LCD"
        DefaultDepth    24
        SubSection "Display"
                Depth    24
                Modes    "1280x800"
        Virtual 1280 800
        EndSubSection
EndSection

Section "DRI"
        Group        0
        Mode        0666
EndSection

Any help would be greatly appericated, but in the end 3d is more fluf then requirement, as the 2d accelration is working fine. I just can not stand to have a system that "almost" works 100%.

ciotog 09-28-2005 11:33 AM

I'm not sure what the dga extension does, but most configurations have it disabled. Try adding
Code:

        SubSection "extmod"
                Option  "omit XFree86-DGA"  # don't initialise the DGA extension
        EndSubSection

to the Module section. It might be a good idea to comment out the DRI section as well, since nvidia doesn't use DRI.

Also, it looks like there's a typo in the GeForce Device section: "FlatPenelProperties".

chadl 09-28-2005 01:18 PM

Thank you for the reply, however, the changes do not seem to have any effect. While I was at it, I also tried commenting out the module lines of the config file, and there was no visible effect.
Thanks for pointing out the typo, although now I have no idea why I put that line in, as it seems to have no effect.

ciotog 09-28-2005 10:54 PM

It seems the panel may be a Samsung LTN154X1. According to a source I found, try the following modeline:
Code:

ModeLine "1280x800" 71.0 1280 1328 1360 1440 800 802 808 823
The same source indicates that the refresh rates are as follows:
Code:

    HorizSync 30-60
    VertRefresh 40-70


chadl 09-29-2005 04:32 PM

Well, that did not fix my problem, but I think it may have put me on the right trail.
I may just not have noticed this before, but after I switched to the terminal, I looked in /var/log/Xorg.0.log, and noticed the folowing:
When I am using the NV driver:
(II) NV(0): Modeline "1280x800" 71.00 1280 1328 1360 1440 800 802 808 823

However, when I am using the NVidia driver. it says that It is not using mode 1280x800 because the width is more then EDID maximum of 1024... I think this would be a problem, as I have no other modelines in my config file, so it would fall to a default one that would not have the correct refresh rates or size.

I did some Googleing on EDID, and found a bunch of stuff, but nothing that tells me what to change to make it allow that modeline.

I have a feeling this must have something to do with it, because it accepts it with the NV driver, but not with the NVidia driver.

Does anyone know what needs to be changed? I tried commenting out the lines in my xorg.conf that said UseEDIDFreq 1, but they did not seem to have any effect.

Thanks for your help :)

monkiidansu 09-29-2005 04:45 PM

Code:

Section "Device"
        Identifier        "NVidia GeForce4 420 Go 32M"
        Driver                "nv"
        VideoRam        32768
        Option                "NvAgp"        "3"
        Option                "UseEdidFreqs"        "1"
        Option                "FlatPenelProperties"        "Scaling = aspect-scaled"
EndSection

where it says "nv" it should say "nvidia". I had the same problem that you discribed before I changed the driver.

chadl 09-29-2005 04:53 PM

Quote:

Originally posted by monkiidansu
<some code here>

where it says "nv" it should say "nvidia". I had the same problem that you described before I changed the driver.

That is my xorg.conf from when it is working correctly. When I change the nv to nvidia it comes up with the crazy colors, that is why I am trying to figure out why the driver is tossing out the modeline because of the EDID maximum width.
The reason I want to change the nv to nvidia is that I want my 3d acceleration to work, and it is only supported under the nvidia driver.

chadl 09-29-2005 08:46 PM

Update:
I have been working on it for a while longer, and I got it working a little more then it was before by adding the option "IgnoreEDID" "1" to the xorg.conf in the relevent sections.

Now I can see something closer to what I should be, but still far away.
1) I can see three copies of TWM in three rows on the screen, seperated by a bar with some blocks of colors in it.
2) The entire screen is still covered in a yellow fog that persists unil I restart my computer (even covers the terminal).

My system sill works fine when I change the display driver from nvidia to nv in xorg.conf.

Any hints would be greatly appreciated!

EDIT: I do not expect anyone to actually read this, but just in case someone is going out of there way to figure out my problem, I have a few log files that may be of help.
http://home.southernct.edu/~lavoiec1/nvidiastuff.tar.gz

In this archive, I have put my xorg.conf file while my system is working (just replace nv in the device section with nvidia and it will be that of the broken system)
I have two Xorglog files, that are the /var/log/xorg.0.log #1 is from when my system is working with the nv driver, and then #2 is from when my system is running with the nvidia driver.
And then the last file in there is Glxinfo, that is the output from when I ran glxinfo when my system was running the nvidia driver... everything was stretched out, but I was able to get to the terminal to pipe the output of that command to a file in case it is of any help.

ciotog 09-29-2005 10:28 PM

Try adding "-HSync -VSync" to the end of the modeline, so it would be
Code:

ModeLine "1280x800" 71.0 1280 1328 1360 1440 800 802 808 823 -HSync -VSync
If that doesn't work right, try the same with your original modeline
Code:

ModeLine "1280x800" 83.5 1280 1344 1480 1680 800 801 804 828 -HSync -VSync

chadl 09-30-2005 11:09 AM

Adding the -HSync and -VSync improved the situation, where now I only see one and a quarter copies of my display at once.
The yellow fog is still there just as it was before.

Using the modeline that you gave me, or my old one, both seem to do the same thing.

This is at least another step in the right direction :), Thank you.

If I keep going in the right direction, I have to end up with everything working sometime...

(I will try to get a screen-shot up here sometime, as I think it may be working to the point where I can do that under the nvidia driver)


All times are GMT -5. The time now is 05:48 PM.