[RS690] (Needs new -ati) Wrong resolution and Nokia 800 Pro+

Bug #298094 reported by Malte S. Stretz
4
Affects Status Importance Assigned to Milestone
xserver-xorg-driver-ati
Fix Released
Medium
xserver-xorg-video-ati (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Binary package hint: xrandr

I've got a Nokia 800 Pro+ monitor here, connected via DVI (with a P&D adapter). It is autoconfigured at a resolution of 1152x864 even though the native resolution is 1280x1024. The latter is also reported both by ddcprobe and read-edid (I'll attach the output).

mss@Otherland:~$ xrandr
Screen 0: minimum 320 x 200, current 1152 x 864, maximum 1360 x 1360
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-0 disconnected 1152x864+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
  1152x864 (0x4e) 81.6MHz
        h: width 1152 start 1216 end 1336 total 1520 skew 0 clock 53.7KHz
        v: height 864 start 865 end 868 total 895 clock 60.0Hz
mss@Otherland:~$ lsb_release -rd
Description: Ubuntu 8.10
Release: 8.10
mss@Otherland:/usr/src/read-edid-2.0.0$ apt-cache policy xserver-xorg
xserver-xorg:
  Installed: 1:7.4~5ubuntu3
  Candidate: 1:7.4~5ubuntu3
  Version table:
 *** 1:7.4~5ubuntu3 0
        500 http://de.archive.ubuntu.com intrepid/main Packages
        100 /var/lib/dpkg/status

parse-edid: parse-edid version 1.4.1
parse-edid: EDID checksum passed.

 # EDID version 1 revision 2
Section "Monitor"
 # Block type: 2:0 3:fd
 # Block type: 2:0 3:ff
 # Block type: 2:0 3:fc
 Identifier "NOKIA 800PRO"
 VendorName "NOK"
 ModelName "NOKIA 800PRO"
 # Block type: 2:0 3:fd
 HorizSync 31-65
 VertRefresh 58-62
 # Max dot clock (video bandwidth) 110 MHz
 # Block type: 2:0 3:ff
 # Block type: 2:0 3:fc
 # DPMS capabilities: Active off:yes Suspend:yes Standby:yes

 Mode "1280x1024" # vfreq 60.020Hz, hfreq 63.981kHz
  DotClock 108.000000
  HTimings 1280 1328 1440 1688
  VTimings 1024 1025 1028 1066
  Flags "+HSync" "+VSync"
 EndMode
 # Block type: 2:0 3:fd
 # Block type: 2:0 3:ff
 # Block type: 2:0 3:fc
EndSection

vbe: VESA 3.0 detected.
oem: ATI ATOMBIOS
vendor: (C) 1988-2005, ATI Technologies Inc.
product: RS690 01.00
memory: 16384kb
mode: 640x400x256
mode: 640x480x256
mode: 800x600x256
mode: 1024x768x256
mode: 1280x1024x256
mode: 640x480x64k
mode: 800x600x64k
mode: 1024x768x64k
mode: 1280x1024x64k
mode: 320x200x64k
mode: 1600x1200x256
mode: 1600x1200x32k
mode: 1600x1200x64k
edid:
edid: 1 2
id: 1803
eisa: NOK1803
serial: 00001c27
manufacture: 47 2000
input: analog signal.
screensize: 36 29
gamma: 2.200000
dpms: RGB, active off, suspend, standby
timing: 720x400@70 Hz (VGA 640x400, IBM)
timing: 640x480@75 Hz (VESA)
timing: 1024x768@87 Hz Interlaced (8514A)
dtiming: 1280x1024@70
monitorrange: 31-65, 58-62
monitorserial: H047007207
monitorname: NOKIA 800PRO

Revision history for this message
Malte S. Stretz (mss) wrote :
Revision history for this message
Malte S. Stretz (mss) wrote :
Revision history for this message
Malte S. Stretz (mss) wrote :
Revision history for this message
Malte S. Stretz (mss) wrote :

This seems to be a bug in the xserver-xorg-video-radeon driver becasue with xserver-xorg-video-radeonhd I get the full resolution (though other bugs like a wrong frequency of only 60 MHz instead of the needed 108 MHz. I'll open another bug for that issue.

Revision history for this message
Malte S. Stretz (mss) wrote :

About the monitor: I was able to get this page from the Google cache, seems like Viewsonic (who acquired the Nokia monitor line) removed the page
http://www.viewsonic.com/support/desktopdisplays/lcddisplays/nokia/800pro/

Interesting bits from that page:

Features
 * Horizontal Scan Frequency: 30-82 kHz
 * 1280x1024 optimum resolution
 * Pixel Pitch: 0.28mm
 * Color: 16.7 Million True Color
 * Viewing Angle: 160° Horizontal and Vertical
 * Multimedia: BusinessAudio System
 * Input Capability: 30 Pin P & D Connection and 15 Pin Mini D-Sub
 * USB Connectivity: 1 Upstream Port, 4 Downstream Ports
 * Plug & Play +
 * ISO 9001 and ISO 14001

Specifications
  LCD Panel
  * Type 18.1" VIS
  * True Resolution 1280x1024
  * Contrast Ratio 300:1
  * Viewing Angle 160° horizontal, 160° vertical
  * Brightness 235 cd/m2 typical
  * Panel Surface SafetyPlex screen
  INPUT SIGNAL
  * Sync H/V sync (TTL)
  * Analog RGB Analog (0.7 Vpp, 75 ohms)
  * Frequency Fh:29-82kHz, Fv:55-86Hz
  * Bandwidth 140MHz
  CONNECTOR
  * Analog 15-pin mini D-sub
  * Power External AC/DC single phase, 6 ft detachable power cord
  POWER
  * Voltage AC 100-240 VAC 47-63Hz
  * Consumption Three-year limited warranty on parts, labor and back light.

Revision history for this message
Malte S. Stretz (mss) wrote :

And for completeness, here's the xrandr output and the Xorg.0.log:

mss@Otherland:~$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 1440 x 1440
VGA_1 disconnected
DVI-D_1 disconnected
DVI-D_2 connected 1280x1024+0+0 359mm x 287mm
   1280x1024 60.0*+
   1440x900 59.9
   1280x960 60.0
   1360x768 59.8
   1152x864 60.0
   1024x768 60.0
   800x600 60.3
   640x480 60.0 59.9

Revision history for this message
Malte S. Stretz (mss) wrote :

fglrx gets it right:

mss@Otherland:~$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 1280 x 1024
default connected 1280x1024+0+0 0mm x 0mm
   1280x1024 60.0*
   1280x960 60.0
   1280x768 60.0
   1280x720 60.0
   1152x864 60.0
   1024x768 60.0
   800x600 60.0
   720x480 60.0
   640x480 60.0
   640x400 60.0
   512x384 60.0
   400x300 60.0
   320x240 60.0
   320x200 60.0

Bryce Harrington (bryce)
Changed in xserver-xorg-video-ati:
importance: Undecided → Medium
status: New → Confirmed
Bryce Harrington (bryce)
description: updated
Revision history for this message
Bryce Harrington (bryce) wrote : Re: [RS690] Wrong resolution and Nokia 800 Pro+

Hmm, you're right that it's interesting that the resolution is being detected differently by each of the three drivers, and the inconsistency may indeed point to some sort of issue with -ati; I'll upstream it to them for that reason.

However, from your description it seems that none of the drivers get it quite perfect. I note that both -ati and -fglrx are seeing the physical screen size as 0x0 mm, which suggests bad EDID; yet -radeonhd is getting valid looking measurements. But you say that radeonhd is getting the wrong refresh rate, which suggests that even it isn't quite perfect.

My guess is that your monitor provides EDID that is just slightly out of wack from what the xserver expects, and it's mis-parsing it. Perhaps each of the drivers has some correction code that handles the error condition in a slightly different way, thus causing the range of different results.

Changed in xserver-xorg-video-ati:
status: Confirmed → Triaged
Revision history for this message
Bryce Harrington (bryce) wrote :

Notice how the h/v rates don't match the vendor's advertised capabilities:

Via EDID:
 HorizSync 31-65
 VertRefresh 58-62

Via DDC:
 monitorrange: 31-65, 58-62

Xorg.0.log (radeonhd):
  (II) RADEONHD(0): Ranges: V min: 58 V max: 62 Hz, H min: 31 H max: 65 kHz, PixClock max 110 MHz

Advertised specifications:
  * Frequency Fh:29-82kHz, Fv:55-86Hz

So, what happens if you plug in these values into your xorg.conf?

Section "Monitor"
    ...
    HorizSync 29 - 82
    VertRefresh 55 - 86
EndSection

Changed in xserver-xorg-video-ati:
status: Triaged → Incomplete
Revision history for this message
Bryce Harrington (bryce) wrote :

We're closing this bug since it is has been some time with no response from the original reporter. However, if the issue still exists please feel free to reopen with the requested information. Also, if you could, please test against the latest development version of Ubuntu, since this confirms the bug is one we may be able to pass upstream for help.

Changed in xorg-server:
status: Incomplete → Invalid
Revision history for this message
Malte S. Stretz (mss) wrote :

Sorry, I didn't have time to investigate further (except that adding the lines you wrote didn't help). fglrx worked fine so I didn't have to work on this issue.

Until today I upgraded to jaunty where fglrx is obiously broken. Bad news: After I removed every trace of fglrx from my system, both radeon and radeonhd are broken as well. radeonhd displayed a distorted screen, radeon nothing at all.

I'll attach the Xorg.logs, both with and without the config lines you posted.

Changed in xorg-server:
status: Invalid → Confirmed
Revision history for this message
Malte S. Stretz (mss) wrote :
Revision history for this message
Malte S. Stretz (mss) wrote :
Revision history for this message
Malte S. Stretz (mss) wrote :

I must correct myself: radeonhd works fine, only the radeon driver fails.

I originally first removed the fglrx driver, rebooted, radeonhd was autoselected (and failed), uninstalled radeonhd and while doing so noticed that I forgot to remove some fglrx-mesa-stuff. After removing both packages I tried radeon and it failed as described above. Now I re-added radeonhd and everything seems to be fine, looks almost better than the fglrx driver at the first glance.

Revision history for this message
In , Fdo-contrib (fdo-contrib) wrote :

This was originally reported on Launchpad, see URL. You can find the history and a lot of additional infos there.

The original report was "I've got a Nokia 800 Pro+ monitor here, connected via DVI (with a P&D adapter). It is autoconfigured at a resolution of 1152x864 even though the native resolution is 1280x1024." I think this was version 1.2.4

I tested 1.2.5 now (from https://edge.launchpad.net/~ubuntu-x-swat/+archive/x-updates):
  xserver-xorg-video-ati 6.12.2-0ubuntu1~xup~1
  xserver-xorg 1.6.0-0ubuntu14
  libdrm 2.4.9-1ubuntu1~xup~1

Now the screen isn't detected/activated at all. read-edid still detects the monitor correctly. radeonhd gets it right as well.

This might be related to bug 13964 or bug 18066.

Revision history for this message
In , Fdo-contrib (fdo-contrib) wrote :

Created an attachment (id=25367)
Xorg.0.log

Revision history for this message
In , Fdo-contrib (fdo-contrib) wrote :

Bah, I got the versions completely wrong, mixed up radeonhd in my head. Of course I originally tried 6.12.1-0ubuntu2 (as shipped in jaunty) and then tried the listed 6.12.2-0ubuntu1~xup~1.

Revision history for this message
In , agd5f (agd5f) wrote :

Created an attachment (id=25374)
use default gpio entries for rs690

Does this patch help? Also can you include the output of lspci -vn?

Malte S. Stretz (mss)
affects: xorg-server (Ubuntu) → xserver-xorg-video-ati (Ubuntu)
Revision history for this message
Malte S. Stretz (mss) wrote : Re: [RS690] Wrong resolution and Nokia 800 Pro+
Changed in xserver-xorg-driver-ati:
status: Unknown → Confirmed
Revision history for this message
Malte S. Stretz (mss) wrote :

Section "Screen"
 Identifier "Screen"
 Device "Device"
EndSection

Section "Device"
 Identifier "Device"
 Driver "radeon"
 Option "IgnoreEDID" "true"
 Option "NoDDC" "true"
EndSection

Section "Monitor"
 Identifier "HDMI-0"
 Option "Enable" "false"
# Option "Ignore" "true"
EndSection

Section "Monitor"
 Option "Enable" "true"
 Option "PreferredMode" "1280x1024"
        # Block type: 2:0 3:fd
        # Block type: 2:0 3:ff
        # Block type: 2:0 3:fc
        Identifier "DVI-0"
        VendorName "NOK"
        ModelName "NOKIA 800PRO"
        # Block type: 2:0 3:fd
        HorizSync 31-65
        VertRefresh 58-62
        # Max dot clock (video bandwidth) 110 MHz
        # Block type: 2:0 3:ff
        # Block type: 2:0 3:fc
        # DPMS capabilities: Active off:yes Suspend:yes Standby:yes

        Mode "1280x1024" # vfreq 60.020Hz, hfreq 63.981kHz
                DotClock 108.000000
                HTimings 1280 1328 1440 1688
                VTimings 1024 1025 1028 1066
                Flags "+HSync" "+VSync"
        EndMode
        # Block type: 2:0 3:fd
        # Block type: 2:0 3:ff
        # Block type: 2:0 3:fc
EndSection

Revision history for this message
In , Fdo-contrib (fdo-contrib) wrote :

Created an attachment (id=25385)
Output of lspci -vn

Revision history for this message
In , Fdo-contrib (fdo-contrib) wrote :

Created an attachment (id=25386)
Xorg.0.log (working)

The patch works indeed! Here's the log file, everything looks fine.

Revision history for this message
In , agd5f (agd5f) wrote :

Created an attachment (id=25390)
updated patch

Can you test this patch as well?

Can you also attach your video bios?

cd /sys/bus/pci/devices/<pci bus id>/
echo 1 > rom
cat rom > /tmp/vbios.rom
echo 0 > rom

Revision history for this message
In , Fdo-contrib (fdo-contrib) wrote :

Created an attachment (id=25393)
ROM

Here's the ROM.

Your patch doesn't apply to 6.12.2: The Acer workaround doesn't exist and code in the second hunk looks different. (Your first patch didn't apply as well, I thought it was just white spaces and applied it by hand.)

Revision history for this message
In , agd5f (agd5f) wrote :

The bios image is enough. thanks, fix pushed:
e01b8dc827ce1913927e1a4fad05a99a2dd9e805

Revision history for this message
Malte S. Stretz (mss) wrote : Re: [RS690] Wrong resolution and Nokia 800 Pro+
Revision history for this message
Tormod Volden (tormodvolden) wrote :

Excellent. Thanks for reporting and testing upstream.

Changed in xserver-xorg-video-ati (Ubuntu):
status: Confirmed → Fix Committed
Changed in xserver-xorg-driver-ati:
status: Confirmed → Fix Released
Revision history for this message
Bryce Harrington (bryce) wrote :

Patch does not directly apply to 6.12.2 codebase. We'll pull the fix in when we update -ati to latest in karmic.

Changed in xserver-xorg-video-ati (Ubuntu):
status: Fix Committed → In Progress
summary: - [RS690] Wrong resolution and Nokia 800 Pro+
+ [RS690] (Needs new -ati) Wrong resolution and Nokia 800 Pro+
Revision history for this message
Malte S. Stretz (mss) wrote :

The patch is actually quite small, I filtered the two needed hunks from the big diff. Here's a debdiff if you're interested :) So far this patched driver seems to work fine.

Revision history for this message
Bryce Harrington (bryce) wrote :

Excellent, that does the trick. Thanks, upload sponsored.

Changed in xserver-xorg-video-ati (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xserver-xorg-video-ati - 1:6.12.2-0ubuntu3

---------------
xserver-xorg-video-ati (1:6.12.2-0ubuntu3) karmic; urgency=low

  * Add 106_fix_dvi_on_rs690.patch: Fix DCI output on some rs690
    cards. Filtered from upstream.
    (LP: #298094)

 -- <email address hidden> (Malte S. Stretz) Tue, 05 May 2009 17:25:01 +0200

Changed in xserver-xorg-video-ati (Ubuntu):
status: Fix Committed → Fix Released
Changed in xserver-xorg-driver-ati:
importance: Unknown → Medium
Changed in xserver-xorg-driver-ati:
importance: Medium → Unknown
Changed in xserver-xorg-driver-ati:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.