<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - sna driver ignores DisplaySize setting in xorg.conf"
href="https://bugs.freedesktop.org/show_bug.cgi?id=90842#c5">Comment # 5</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - sna driver ignores DisplaySize setting in xorg.conf"
href="https://bugs.freedesktop.org/show_bug.cgi?id=90842">bug 90842</a>
from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
<pre>Individual output sizes are reported via RandR. Screen in X parlance refers to
a single surface that may be split across multiple monitors.
The message you are quoting is from:
xf86RandR12CreateScreenResources():
/*
* Compute physical size of screen
*/
if (monitorResolution) {
mmWidth = width * 25.4 / monitorResolution;
mmHeight = height * 25.4 / monitorResolution;
}
else {
xf86OutputPtr output = xf86CompatOutput(pScrn);
if (output &&
output->conf_monitor &&
(output->conf_monitor->mon_width > 0 &&
output->conf_monitor->mon_height > 0)) {
/*
* Prefer user configured DisplaySize
*/
mmWidth = output->conf_monitor->mon_width;
mmHeight = output->conf_monitor->mon_height;
}
else {
/*
* Otherwise, just set the screen to DEFAULT_DPI
*/
mmWidth = width * 25.4 / DEFAULT_DPI;
mmHeight = height * 25.4 / DEFAULT_DPI;
}
}
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Setting screen physical size to %d x %d\n",
mmWidth, mmHeight);
so yes, you can indeed only set it once and only if you guess what X chooses to
use for the backwards compatible output. And screen dpi is just a fake number,
and there is a very long and heated bug about that.
When output->conf_monitor is set we get
if (output->conf_monitor) {
xf86DrvMsg(output->scrn->scrnIndex, X_INFO,
"Output %s using monitor section %s\n",
output->name, output->conf_monitor->mon_identifier);
xf86ProcessOptions(output->scrn->scrnIndex,
output->conf_monitor->mon_option_lst,
output->options);
}
else
xf86DrvMsg(output->scrn->scrnIndex, X_INFO,
"Output %s has no monitor section\n", output->name);
i.e. [ 9.527] (II) intel(0): Output LVDS1 using monitor section
Notebook-Display
Since xf86CompatOutput() should never return NULL, the implication has to be
that it is using a different CompatOutput. We set things up such that it should
always choose the panel as the CompatOutput....</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>