Summary: | HD3650: Output defaults to HDMI, can't switch to DVI | ||
---|---|---|---|
Product: | xorg | Reporter: | Scott Bronson <bronson> |
Component: | Driver/Radeon | Assignee: | xf86-video-ati maintainers <xorg-driver-ati> |
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> |
Severity: | normal | ||
Priority: | medium | CC: | ancoron, kdekorte |
Version: | 7.4 (2008.09) | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
When I comment out HDMI-0's "Ingore" "true" but mark the DVI monitor preferred, DVI shows up but the card still uses HDMI: (II) RADEON(0): Output HDMI-0 using initial mode 2560x1600 I've attached the HDMI-0 not ignored logfile. Created attachment 22562 [details] [review] When HDMI-0 is NOT ignored, DVI-0 is present but unused Created attachment 22564 [details] [review] fix connector type This patch should fix the connector type. Please try radeon git master and see if what works any better. ^^ to which release version does this fix apply? I have a similar effect on my Radeon HD2400Pro: Connected a Dell 3007WFP at the Dual-Link-DVI connector and a Iiyama Vision Master Pro 510 (22" CRT) to the VGA connector. During boot of Kubuntu Jaunty both monitors show the loading screen and also both monitors are used when in text mode (I guess it is cloned automatically by the card itself). But as soon as the KDM comes up only the big Dell with 2560x1600 comes up, the CRT goes off. In the Xorg.0.log I read: ... XRANDR name: HDMI-0 Connector: HDMI-B DFP1: INTERNAL_KLDSCP_TMDS1 DDC reg: 0x7e50 ... (II) RADEON(0): Output: HDMI-0, Detected Monitor Type: 0 invalid output device for dac detection finished output detect: 0 ... So I guess here (as the card has a real HDMI connector between the DVI-I and the VGA) the driver doesn't recognize the VGA connector at all and invalidates the CRT monitor before all other things. I also tried the FGLRX driver and with that I can display something on the second monitor, but the configuration is a mess and requires various xrandr calls (unable to create a working correct layout using xorg.conf) and it is not able to exceed 60Hz refresh rate on the CRT which is really bad. Created attachment 25971 [details]
Xorg.0.log of HD2400Pro
Created attachment 25972 [details]
HD2400Pro xorg.conf
In addition to the non-working connector the big virtual line slows down rendering performance dramatically.
Created attachment 25973 [details]
Radeon HD2400Pro "lspci -vvnn"
(In reply to comment #5) > I have a similar effect on my Radeon HD2400Pro: Please attach your video bios. To get your video bios: (as root) cd /sys/bus/pci/devices/<pci bus id of card>/ echo 1 > rom cat rom > /tmp/vbios.rom echo 0 > rom Created attachment 25996 [details]
BIOS of the Radeon HD2400Pro
This is the BIOS of my Radeon HD2400Pro.
Just updated the radeon driver from 6.12.1 (ubuntu jaunty repo) to 6.12.2.99 (xorg-edgers ubuntu ppa repo) and noticed a slight change. The Xorg.0.log no longer says "invalid output device for dac detection". It just says nothing: ... (II) RADEON(0): Output HDMI-0 using monitor section secondary (**) RADEON(0): Option "PreferredMode" "1600x1200@85" (**) RADEON(0): Option "RightOf" "primary" (II) RADEON(0): I2C bus "HDMI-0" initialized. (II) RADEON(0): Output DVI-0 using monitor section primary (**) RADEON(0): Option "PreferredMode" "2560x1600@60" (II) RADEON(0): I2C bus "DVI-0" initialized. (II) RADEON(0): Port0: XRANDR name: HDMI-0 Connector: HDMI-B DFP1: INTERNAL_KLDSCP_TMDS1 DDC reg: 0x7e50 (II) RADEON(0): Port1: XRANDR name: DVI-0 Connector: DVI-I CRT1: INTERNAL_KLDSCP_DAC1 DFP2: INTERNAL_LVTM1 DDC reg: 0x7e40 (II) RADEON(0): I2C device "HDMI-0:E-EDID segment register" registered at address 0x60. (II) RADEON(0): I2C device "HDMI-0:ddc2" registered at address 0xA0. (II) RADEON(0): Output: HDMI-0, Detected Monitor Type: 0 finished output detect: 0 (II) RADEON(0): I2C device "DVI-0:E-EDID segment register" registered at address 0x60. (II) RADEON(0): I2C device "DVI-0:ddc2" registered at address 0xA0. (II) RADEON(0): Output: DVI-0, Detected Monitor Type: 3 (II) RADEON(0): EDID data from the display on output: DVI-0 ---------------------- (II) RADEON(0): Manufacturer: DEL Model: 4016 Serial#: 1194471476 (II) RADEON(0): Year: 2007 Week: 7 (II) RADEON(0): EDID Version: 1.3 (II) RADEON(0): Digital Display Input ... Still the additional "Sub-D" connector is missing from the outputs completely. Created attachment 26262 [details] [review] fix connector type This patch (against xf86-video-ati git master) should fix your board. (In reply to comment #12) > This patch (against xf86-video-ati git master) should fix your board. I finally got back to work and just tested your patch and it works straight forward. The display comes up properly and exactly the way I have configured in xorg.conf. The only thing that disturbs me a bit is that caused by the huge virtual screen (4160x1600) the rendering (even if it is completely software until now) is degraded a lot. It is still usable but it even interferes mouse movement when the system is under fire. (In reply to comment #13) > (In reply to comment #12) > > This patch (against xf86-video-ati git master) should fix your board. > > I finally got back to work and just tested your patch and it works straight > forward. The display comes up properly and exactly the way I have configured in > xorg.conf. Excellent. I've pushed the patch. > > The only thing that disturbs me a bit is that caused by the huge virtual screen > (4160x1600) the rendering (even if it is completely software until now) is > degraded a lot. It is still usable but it even interferes mouse movement when > the system is under fire. > Is acceleration still enabled? Can you attach an updated log? Created attachment 26436 [details] Xorg.0.log with patch applied (In reply to comment #14) > Is acceleration still enabled? Can you attach an updated log? All messages seem to be the same as before. Some additional thoughts that came to mind by reading some of the log messages: Why is it that EDID information is not available for the VGA port? -------------------------------------------------------------------------------- ... (II) RADEON(0): I2C device "VGA-0:E-EDID segment register" registered at address 0x60. (II) RADEON(0): I2C device "VGA-0:ddc2" registered at address 0xA0. (II) RADEON(0): Output: VGA-0, Detected Monitor Type: 0 Dac detection success finished output detect: 1 ... -------------------------------------------------------------------------------- Somehow the messages about the connectors are messed up (HDMI-0 should be related to VGA-0 and not to DVI-0): -------------------------------------------------------------------------------- ... (II) RADEON(0): Output HDMI-0 using monitor section primary (**) RADEON(0): Option "PreferredMode" "2560x1600@60" (**) RADEON(0): Option "Position" "1600 0" (II) RADEON(0): I2C bus "HDMI-0" initialized. (II) RADEON(0): Output VGA-0 using monitor section secondary (**) RADEON(0): Option "PreferredMode" "1600x1200@85" (**) RADEON(0): Option "Position" "0 400" (**) RADEON(0): Option "LeftOf" "primary" (II) RADEON(0): I2C bus "VGA-0" initialized. (II) RADEON(0): Output DVI-0 using monitor section primary (II) RADEON(0): I2C bus "DVI-0" initialized. ... -------------------------------------------------------------------------------- Thanx (In reply to comment #15) > Why is it that EDID information is not available for the VGA port? > Not sure. Does the monitor provide an edid? Is the driver able to get an edid from that monitor on the DVI port? > Somehow the messages about the connectors are messed up (HDMI-0 should be > related to VGA-0 and not to DVI-0): Probably something in your config file. Can you attach your current one? Created attachment 26489 [details] Current xorg.conf for dual-head (In reply to comment #16) > Not sure. Does the monitor provide an edid? Is the driver able to get an edid > from that monitor on the DVI port? Well, I tried and it doesn't. So the missing EDID dump is conpletely correct here. :) Sorry, had thought about that option myself. > Probably something in your config file. Can you attach your current one? As attached the current working xorg.conf where I don't specify HDMI-0 any longer. The issue in the log where it says that HDMI-0 uses the "primary" monitor section confuses me a bit as the card is supposed to either provide output on HDMI or on the VGA not both at the same time and so the DVI connector is the one that doesn't "share" with another connector. The port listing lists the connectors correctly attached to their resources: (II) RADEON(0): Port0: XRANDR name: HDMI-0 Connector: HDMI-B DFP1: INTERNAL_KLDSCP_TMDS1 DDC reg: 0x7e50 (II) RADEON(0): Port1: XRANDR name: VGA-0 Connector: VGA CRT2: INTERNAL_KLDSCP_DAC2 DDC reg: 0x7e50 <-- same as Port0 (HDMI-0) (II) RADEON(0): Port2: XRANDR name: DVI-0 Connector: DVI-I CRT1: INTERNAL_KLDSCP_DAC1 DFP2: INTERNAL_LVTM1 DDC reg: 0x7e40 Or is it just a mistake in my interpretion of the driver output? I don't some HDMI-capable display to test that issue here so I can't verify if the HDMI-0 output is working correctly. With commit 96581746eea2f4e29a04f9266ec9649f25480424 of 'src/radeon_atombios.c' in git master my problem reintroduced, as my card gets identified with a HDMI type B connector and so doesn't get into the appropriate if-clause to enable the VGA output. I think we need a special hook for cards like mine. However it seems to be not very easy to reliably determine which cards do have what connectors exactly (e.g. here we have another one like mine that from a completely different vendor: http://www.gecube.com/products-detail.php?prod_cat=22&prod_id=66443). my PCI-IDs: - sub-vendor: 18bc - sub-device: 3550 Regards, Ancoron After reading a lot about different versions of the HD2400 PRO from many different vendors I came to the conclusion that all those cards, whether PCI-e or AGP, Low-Profile or not, have one DVI-D (DualLink), one HDMI, one VGA and one S-Video connector on their boards. E.g. there is no version with two DVI ports (or I couldn't find any). The only difference is which of the on-board connectors are provided on the back panel. So a possible solution could be to enable all 4 connectors. The PCI-IDs for the HD2400 PRO are: - vendor: 1002 - device: 94c3 This should be fixed now in git: 2b9a5be3bb22fad1d52ec9eea7733c5e956250b7 Closing the bug, reopen if the lastest git with the aforementioned commit doesn't help. commit 2b9a5be3bb22fad1d52ec9eea7733c5e956250b7 breaks the connector table on my card. Without this patch, I get DVI-0 and DVI-1, which is correct. With the patch I get HDMI-0, VGA-0, and DVI-0. Which is weird. I can attach a Xorg.0.log if needed. Oh, I have a 01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3600 Series (prog-if 00 [VGA controller]) Subsystem: ASUSTeK Computer Inc. Device 01da Flags: bus master, fast devsel, latency 0, IRQ 16 Memory at d0000000 (64-bit, prefetchable) [size=256M] Memory at fe9e0000 (64-bit, non-prefetchable) [size=64K] I/O ports at c000 [size=256] [virtual] Expansion ROM at fe900000 [disabled] [size=128K] Capabilities: [50] Power Management version 3 Capabilities: [58] Express Legacy Endpoint, MSI 00 Capabilities: [a0] MSI: Mask- 64bit+ Count=1/1 Enable- Capabilities: [100] Vendor Specific Information <?> Kernel driver in use: radeon Well, commit 2b9a5be3bb22fad1d52ec9eea7733c5e956250b7 fixed the connectors on my card, before I had DVI-0 and DVI-1 and no HDMI-0 (found that out lately). So it is the complete reverse of the behavior that Kevin describes on his HD36xx. The issue is that some vendors do HMDI + VGA while others do DVI-I. Unfortunately, they use the same connector tables, so we don't know which configuration applies to which boards. As it currently stands, the both boards will be fully functional, the outputs just won't match up to the physical connectors, e.g., if your board has a DVI-I connector, the digital part will show up as HDMI-0 and the analog part will show up as VGA-0. I suppose we should just start adding quirks since this seems to be more widespread than I thought. Yes, that's my understanding too. The connectors table internally is the same on all boards, but in the end it is up to the actual manufacturer what interfaces get connected to the specified pins. That's one of the reasons why I sometimes miss my Matrox. :| So if you start to add more quirks there should be some common place or some infrastructure in the code to easily add one (even for those stupid Java devs like me). :) (In reply to comment #26) > Yes, that's my understanding too. > > The connectors table internally is the same on all boards, but in the end it is > up to the actual manufacturer what interfaces get connected to the specified > pins. The connector tables are not the same on every board, they are specific to each oem board. The tables for most boards are correct, it's just a few boards that have an unclear mapping. OK, that explains why there aren't much more bug reports as this one. :) Created attachment 28323 [details] [review] re-add quirks for asus boards that report dvi as hdmi (In reply to comment #22) > commit 2b9a5be3bb22fad1d52ec9eea7733c5e956250b7 breaks the connector table on > my card. Does this patch fix it? Alex, yes the quirks correct my connector problem. Can we add the ASUS quirk to the drm-next tree. It seems to be missing from there as I get HDMI-0 and DVI-0 as my connectors when using KMS. (In reply to comment #31) > Can we add the ASUS quirk to the drm-next tree. It seems to be missing from > there as I get HDMI-0 and DVI-0 as my connectors when using KMS. > Done. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 22561 [details] When HDMI-0 is ignored, DVI-0 disappears entirely The radeon driver selects the HDMI-0 output instead of DVI-0 and I can't figure out how to correct it! My video card (Asus EAH3650 512MB PCI-E) is connected to my monitor via Dual-Link DVI. This happens in Ubuntu Intrepid and Jaunty, and Fedora 10. When in 1280x800 mode, the card's HDMI-0 displays on DVI connector just fine. But when in 2560x1600 mode, presumably because of the dual link, it's completely garbled. bronson@eva-jaunty:~$ xrandr -q Screen 0: minimum 320 x 200, current 1280 x 800, maximum 2560 x 1600 HDMI-0 connected 1280x800+0+0 (normal left inverted right x axis y axis) 646mm x 406mm 2560x1600 59.9 1280x800 59.9* DVI-0 disconnected (normal left inverted right x axis y axis) How can I tell Radeon to ignore the HDMI-0 output and only use DVI-0? I tried using the following xorg.conf: Section "Device" Identifier "Video Card" Driver "radeon" Option "Monitor-DVI-0" "Good DVI" Option "Monitor-HDMI-0" "Bogus HDMI" EndSection Section "Monitor" Identifier "Bogus HDMI" Option "Ignore" "true" EndSection Section "Monitor" Identifier "Good DVI" Option "Enable" "true" Modeline "2560x1600_60" 268.00 2560 2608 2640 2720 1600 1603 1609 1646 +hsync +vsync Option "PreferredMode" "2560x1600_60" EndSection Section "Screen" Identifier "Default Screen" Device "Video Card" EndSection But, apparently when the HDMI output is ignored, the DVI output disappears altogether! (see attached log file) Is there any way to tell the radeon driver to use the DVI output?