Summary: | randr doesn't detect my external LCD's preferred resolution | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Rafał Miłecki <zajec5> | ||||||||||||||||||
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 | ||||||||||||||||||||
Version: | 7.3 (2007.09) | ||||||||||||||||||||
Hardware: | x86 (IA32) | ||||||||||||||||||||
OS: | Linux (All) | ||||||||||||||||||||
Whiteboard: | |||||||||||||||||||||
i915 platform: | i915 features: | ||||||||||||||||||||
Attachments: |
|
The driver is not able to get an edid from the monitor, but it detects the load, so it comes up with the server default modes since the driver doesn't know what modes the monitor supports. you can either add modelines to the monitor section of your config associated with the VGA port, or add the modelines at runtime using xrandr: xrandr --newmode "1280x1024R" 90.75 1280 1328 1360 1440 1024 1027 1034 1054 +hsync -vsync xrandr --newmode "1280x1024" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync xrandr --addmode VGA-0 "1280x1024R" xrandr --addmode VGA-0 "1280x1024" xrandr --output VGA-0 --mode 1280x1024 or xrandr --output VGA-0 --mode 1280x1024R Alex Deucher: thank you for answer and help. Do you have idea why driver is not able to read edid data? Is there something wrong with my monitor or rather with driver's reader? Can I check this somehow? I ask as I think it would be nice to have support for every monitor out of box, without manual setting modes. Created attachment 16160 [details] [review] possible fix (In reply to comment #2) > Alex Deucher: thank you for answer and help. Do you have idea why driver is not > able to read edid data? Is there something wrong with my monitor or rather with > driver's reader? Can I check this somehow? It could be either but I suspect it's a driver issue. There are a few cards where the GPIO settings don't quite work right. Does the following patch help? Alex Deucher: it didn't help. With your patch applied xrandr --verbose gave: VGA-0 connected (normal left inverted right x axis y axis) Identifier: 0x4c Timestamp: 60152 Subpixel: no subpixels Clones: CRTCs: 0 1 load_detection: 1 (0x00000001) range: (0,1) 1280x800 (0x5e) 83.5MHz -HSync +VSync +preferred h: width 1280 start 1352 end 1480 total 1680 skew 0 clock 49.7KHz v: height 800 start 803 end 809 total 831 clock 59.8Hz [more modes here...] I don't have access to 710N temporarily so I connected other LCD, it was GNR MR17-H1A (Hivision) ─ I belive it is still fine? As you can see preferred resolution wasn't detected and EDID also wasn't. I've also put some additional debugging messages info radeon_output.c to be able to describe what happens: 1) Before your patch RADEONPortCheckNonDDC is called and this returns 0 (MT_NONE). As my card supports ATOM (accoring to condition info->IsAtomBios) the next step is calling atombios_dac_detect. This function returns 1 (MT_CRT) and according to agd5f it is fine as everyting connected to VGA-0 should be detected as CRT. Unfortunately, as we already know, EDID is not got. 2) With you patch Function avivo_display_ddc_connected is called first but it returns 0 (MT_NONE). As the whole issue is about my VGA-0 so (radeon_output->type == OUTPUT_LVDS) is false atombios_dac_detect is called. The result is just like before. It returns 1 (MT_CRT) but no EDID info. Is there anything more I can test? Maybe I could try use some EDID checked and if it is fine, we could check why EDID checker in radeon driver doesn't work? It's just my little idea, if anything else can be done, please tell me. The gpios must be in some weird state. does ddcprobe work? does the driver work after running ddcprobe? Created attachment 16219 [details]
ddcprobe output without any monitor connected to VGA-0
Created attachment 16220 [details]
ddcprobe output after next try
This is quite weird. Randomly, I get two different ddcprobe outputs. Sometimes it is "edidfail" and sometimes it's OK (it's about 50%-50%).
Ah and after plugging in external LCD (it is detected by driver and turned on) output of ddcprobe doesn't change (but it's still randomly as before). I've used manual setting modeline in "xrandr" as in comment #1 and it works fine. Unfortunately still it's hard to make that every time I want to plug in new monitor. I tried ddcprobe and xrandr --verbose with my 710N and effect it the same as with MR17-H1A. EDID is not detected. Anything more I can test for you? Created attachment 16736 [details]
Xorg.0.log using _fglrx_
I started X, plugged in my LCD to VGA-0 and then using amdcccle I enabled it (LCD). This file is Xorg.0.log after doing these actions.
Created attachment 16747 [details]
Xorg.0.log using ati driver from git
I cloned git, compiled driver, started X using and plugged in my LCD 710N. There is my Xorg.0.log after above actions.
Created attachment 16758 [details]
Xorg.0.log after ddcprobe with -ati from git
Another tip received from airlied. I booted into init 3, then used ddcprobe (nothing interesing, it didn't detect my external LCD) and after that "init 5". This is Xorg.0.log after doing so.
When starting X (init 5) external LCD was enabled by driver but with this not proper 1280x800. Alos xrandr --verbose still can't read EDID from VGA-0.
Thanks to z3ro (!) I have now installed valgrind 3.3.1 with mmt patch (http://pastebin.ca/raw/1041115). Can someone explain me how can I use this patched version of valgring to detect difference between fglrx and radeon in EDID reader? Created attachment 17620 [details] xrandr verbose: 6.9.0 + patch I was asked to try 6.9.0 with http://www.botchco.com/alex/xorg/hz_rv410_fix.diff. There is output from xrandr verbose with this patch applied. LVDS port is empty (my notebook's LCD is dead and not connected) VGA-0 has SyncMaster 931c connected (1280x1024 is preferred) this should be fixed in ati git master: f9826a5694b7adb6920eb5bdf45d840d8fb14d53 |
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 16098 [details] Xorg.0.log lspci: 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X700 (PCIE) (prog-if 00 [VGA controller]) Subsystem: Acer Incorporated [ALI] Aspire 5024WLMi Flags: bus master, fast devsel, latency 0, IRQ 18 Memory at c8000000 (32-bit, prefetchable) [size=128M] I/O ports at 9000 [size=256] Memory at c0100000 (32-bit, non-prefetchable) [size=64K] Capabilities: [50] Power Management version 2 Capabilities: [58] Express Endpoint, MSI 00 Capabilities: [80] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- When I connect my Smasung SyncMaster 710N to my notebook's D-SUB port it is detected, but xrandr doesn't offer optimal resolution. This should be 1280x1024 (as you can find in LCD's specs) but I don't see such a mode: zajec@linux:~> xrandr Screen 0: minimum 320 x 200, current 1280 x 800, maximum 1280 x 1200 VGA-0 connected (normal left inverted right x axis y axis) 1280x960 60.0 1280x800 59.8 60.0 58.9 1152x768 54.8 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 LVDS connected 1280x800+0+0 (normal left inverted right x axis y axis) 330mm x 210mm 1280x800 60.1*+ 1024x768 60.0 800x600 60.3 640x480 59.9 S-video disconnected (normal left inverted right x axis y axis) DVI-0 disconnected (normal left inverted right x axis y axis) 1024x768_60 (0x5d) 64.1MHz h: width 1024 start 1080 end 1184 total 1344 skew 0 clock 47.7KHz v: height 768 start 769 end 772 total 795 clock 60.0Hz zajec@linux:~> xrandr --output VGA-0 --mode 1280x1024 xrandr: cannot find mode 1280x1024