Bug 15865 - DisplaySize first considered but than overwritten
Summary: DisplaySize first considered but than overwritten
Status: RESOLVED NOTABUG
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: 7.3 (2007.09)
Hardware: x86 (IA32) All
: medium major
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 6004
  Show dependency treegraph
 
Reported: 2008-05-08 02:28 UTC by P.Givy
Modified: 2008-11-25 03:27 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log (32.54 KB, text/plain)
2008-11-19 01:28 UTC, Oliver Maurhart
no flags Details
xorg.conf (3.09 KB, text/plain)
2008-11-19 01:29 UTC, Oliver Maurhart
no flags Details
xdpyinfo output (showing wrong DPI) (2.80 KB, text/plain)
2008-11-19 01:30 UTC, Oliver Maurhart
no flags Details

Description P.Givy 2008-05-08 02:28:46 UTC
The DisplaySize will be considered first. In Xorg.log I see the lines

after xf86InitialConfiguration
(**) RADEON(0): Display dimensions: (305, 229) mm
(**) RADEON(0): DPI set to (133, 133)

Which is correct and reflects the values of DisplaySize directive in xorg.conf.

But than at almost end of the log file appears:

(II) RADEON(0): Setting screen physical size to 423 x 317

xdpyinfo shows:

screen #0:
  dimensions:    1600x1200 pixels (423x317 millimeters)
  resolution:    96x96 dots per inch

I tried the options

        Option          "IgnoreEDID"    "on"
and/or
        Option          "NoDDC"

but neither of them has an effect.

The actual result is tiny unusable fonts.
Comment 1 Oliver Maurhart 2008-09-11 09:49:38 UTC
Confirmed.

Very same results here.

Using xf86-video-ati-6.9.0 and xorg-server-1.5.0.

I'm as well defining "DisplaySize" in /etc/X11/xorg.conf and they seem to be accepted at first:
--->snip--->
(**) RADEON(0): Display dimensions: (332, 209) mm
(**) RADEON(0): DPI set to (146, 145)
(II) Loading sub module "fb"
<---snap<---

However soon afterwards they are set to some ridiculous dimensions:
--->snip--->
(II) AIGLX: Loaded and initialized /usr/lib/dri/r300_dri.so
(II) GLX: Initialized DRI GL provider for screen 0
(II) RADEON(0): Setting screen physical size to 508 x 317
(**) Option "Protocol" "auto"
(**) Option "Device" "/dev/input/mouse0"
<---snap<---

Resulting in xdpyinfo giving
--->snip--->
  dimensions:    1920x1200 pixels (508x317 millimeters)
  resolution:    96x96 dots per inch
<---snapy<---

Now I can help with "xrandr --dpi 145" to switch back to my valid, good DPIs. But this is an action after the full WM has loaded giving unreadable tiny fonts already on the desktop. KDE applies the font rendering to any newly opened window, yes. However the text underneath desktop icons as well as the taskbar are unreadable tiny. :(

It's very annoying.

Anything changed? Can I help? 
Comment 2 Alex Deucher 2008-09-12 00:12:34 UTC
This has nothing to do with the radeon driver.  All the DPI handling is done by the xserver.  The driver merely passes along the physical size info from the monitor's EDID if it's available.  The xserver handles the DisplaySize option and the actual DPI setup.  It could also be an issue with your desktop environment as many of them assume 96 DPI regardless of what the physical size of your desktop is.
Comment 3 Oliver Maurhart 2008-09-12 13:28:50 UTC
Thanks for the reply.

It's fine with me if it is the xserver not the driver, I don't care.

I googled over hell and found this bug report which exactly defines mine. I didn't made the assignment to the xf86-video-ati maintainers ... if you know better: please reassign!

But, look: back those days in ati-6.6.3 and xserver-1.3 things looked pretty cool, though I can hardly remember ... but DPI has never been of any concern.

Then ati-6.8.0 was delivered which led to this incident (on xserver-1.3). Then I used ati-6.9.0 together with xserver-1.3, xserver-1.4.2 and xserver-1.5. I even tried the git-sources of the ati-driver some days ago.

No nothing. DPI is plain wrong. Even worse: it get set correctly in the first place just to be overwritten quite shortly after. I've set DisplaySize in the Monitor Section (used a ruler).

But, if I use fglrx ... it's fine! Together with xserver-1.3 and xserver-1.4.2 (remember vaguely fglrx complaining about xserver-1.5, when used ...). With fgrlx, I get correct DPI!

To me, this looks like a driver issue, doesn't it?

Where does this second assignment to this "physical size" come from, even if set it up (as root!!) in the xorg.conf? I currently have no clue where to look for ...

Concerning the Desktop Environment: actually the physical size has been changed to some wrong values reflected by xdpyinfo. The later I don't count to some Desktop Environment. 

Funny thing is, that Gnome fully ignores the this thing (which in turn could be a false-positive bug?) giving me correct DPI. Whereas KDE gets really freaked out and confuessed: some apps using the correct DPI some not, making the desktop a mess.

Are there any files (/var/log/Xorg.0.log, /etc/X11/xorg.conf, lspci, etc.) which could provide some insights?

Oh, and BTW - it's a Gentoo machine.
Comment 4 Alex Deucher 2008-11-18 07:36:02 UTC
Please attach your full Xorg log and config.
Comment 5 Oliver Maurhart 2008-11-19 01:28:36 UTC
Created attachment 20439 [details]
Xorg.0.log
Comment 6 Oliver Maurhart 2008-11-19 01:29:54 UTC
Created attachment 20440 [details]
xorg.conf
Comment 7 Oliver Maurhart 2008-11-19 01:30:38 UTC
Created attachment 20441 [details]
xdpyinfo output (showing wrong DPI)
Comment 8 Oliver Maurhart 2008-11-19 01:32:57 UTC
Here you are.

Xorg-server 1.5.2
ati/radeon driver 6.9.0

# lspci | grep ATI
01:00.0 VGA compatible controller: ATI Technologies Inc M24 1P [Radeon Mobility X600]

Thanks.
Comment 9 Alex Deucher 2008-11-24 11:49:44 UTC
There is no display size information available for your panel.  newer versions of kde and gnome actually use the DPI which is why this has started showing up more recently.  I suspect fglrx probably just fills in values for the display size.  As to why the DisplaySize you specified in your log is getting ignored, it's because monitor sections are per-output on randr 1.2 aware drivers.  Since your monitor section is not linked to a particular output, it's getting associated with your VGA port which isn't currently active.  To link it to your panel (LVDS), you'll need to either change the monitor's indentifier to LVDS:
Identifier	"LVDS"
or link it to LVDS in the device section like so:
Option "Monitor-LVDS" "Monitor0"
See the "Per Output Config" section of this page for more info:
http://wiki.debian.org/XStrikeForce/HowToRandR12
Comment 10 Oliver Maurhart 2008-11-25 03:27:36 UTC
Ahhh ... =)

/etc/X11/xorg.conf
---> snip --->

Section "Monitor"
	Identifier	"LVDS"
	Option	     "DPMS"
	DisplaySize  332 209
EndSection

Section "Monitor"
	Identifier	"VGA"
EndSection

Section "Device"
	Identifier  "xorg ati driver"
	Driver      "ati"
	Option		"Monitor-LVDS" "LVDS"
	Option		"Monitor-VGA-0" "VGA"
	Option		"XAANoOffscreenPixmaps" "true"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "xorg ati driver"
	Monitor    "LVDS"
	DefaultDepth    24
	SubSection "Display"
		Viewport	0 0
		Depth   	24
		Modes		"1920x1200"
	EndSubSection
EndSection

<--- snap <---

Did it:

---> snip --->
# xdpyinfo | grep resolution
  resolution:    147x146 dots per inch
<--- snap <---

THX. Didn't knew of these Option values.

Great!


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.