Re: Rivafb won't work with DVI connector
From: Andrew Walrond <hidden>
Date: 2004-11-20 15:52:59
On Friday 19 Nov 2004 22:08, Antonino A. Daplas wrote:
On Friday 19 November 2004 19:37, Andrew Walrond wrote:quoted
I have a TFT LCD screen (1600x1200) with both D-Sub and DVI inputs, and a NV25 [GeForce4 Ti 4600] with same outputs. Using the old D-Sub cable works fine: rivafb: nVidia device/chipset 10DE0250 rivafb: nVidia Corporation NV25 [GeForce4 Ti 4600] rivafb: Detected CRTC controller 0 being used rivafb: RIVA MTRR set to ON rivafb: Found EDID Block from BUS 2 rivafb: setting virtual Y resolution to 83886 Console: switching to colour frame buffer device 200x75 rivafb: PCI nVidia NV25 framebuffer ver 0.9.5b (128MB @ 0xE0000000) but with the DVI cable (dsub disconnected) I get a blank screen as soon as rivafb takes over: rivafb: nVidia device/chipset 10DE0250 rivafb: nVidia Corporation NV25 [GeForce4 Ti 4600] rivafb: Detected CRTC controller 0 being used rivafb: RIVA MTRR set to ON rivafb: Found EDID Block from BUS 3 EDID checksum failed, aborting rivafb: setting virtual Y resolution to 209715 Console: switching to colour frame buffer device 80x30 rivafb: PCI nVidia NV25 framebuffer ver 0.9.5b (128MB @ 0xE0000000) I then have to plug the d-sub back in to see the output. [side note: 2.6.8.1 shows only garbage on reconnecting dsub, so rc2 is an improvement.] No I don't understand the lingo here, but I assume EDID/BUS2/BUS3 and the checksum failure are the bits I'm interested in here.You can try the following: 1. turn on verbose debug output in drivers/video/fbmon.c
Done; but nothing gets displayed when checksum fails. Displays lots of nice stuff with dsub connection though :)
2. Try just grabbing the EDID from BUS2, since the EDID checksum failed from BUS3.
Ok - I modified riva_get_EDID_i2c to probe only BUS 2, but the checksum still fails unless the dsub is (also) connected. Infact, I hard coded each bus, 1-3 in turn. With just DVI connected, the returned EDID failed the checksum for all three buses. With the Dsub connected, I got valid EDID's on BUS 1 and 2, and a message saying none was available on BUS 3. I cannot get a DVI display, whatever I try. I have also tried various combinations of video:rivafb:forceCRTC=0/1 and video:rivafb:flatpanel, all to no effect (flatpanel gives me a corrupt dsub display)
3. if you can, send me your EDID block. You can use the utility 'read-edid'.
EDID attached. Parsed output:
./read-edid-1.4.1/parse-edid: parse-edid version 1.4.1
./read-edid-1.4.1/parse-edid: EDID checksum passed.
# EDID version 1 revision 3
Section "Monitor"
# Block type: 2:0 3:fd
# Block type: 2:0 3:fc
Identifier "iiyama "
VendorName "IVM"
ModelName "iiyama "
# Block type: 2:0 3:fd
HorizSync 30-80
VertRefresh 56-85
# Max dot clock (video bandwidth) 170 MHz
# Block type: 2:0 3:fc
# DPMS capabilities: Active off:yes Suspend:yes Standby:yes
Mode "1024x768" # vfreq 59.196Hz, hfreq 48.363kHz
DotClock 65.000000
HTimings 1024 1040 1104 1344
VTimings 768 781 783 817
Flags "-HSync" "-VSync"
EndMode
Mode "1600x1200" # vfreq 60.000Hz, hfreq 75.000kHz
DotClock 162.000000
HTimings 1600 1664 1856 2160
VTimings 1200 1201 1204 1250
Flags "+HSync" "+VSync"
EndMode
# Block type: 2:0 3:fd
# Block type: 2:0 3:fc
EndSection Attachments
- edid.dsub.32 [application/octet-stream] 128 bytes