[PATCH] Re: wrong display size
Steven Newbury
steve at snewbury.org.uk
Fri Aug 5 11:07:41 UTC 2016
On Tue, 2016-06-14 at 23:46 -0400, Felix Miata wrote:
> Sebastian Gutzwiller composed on 2016-06-14 11:10 (UTC+0200):
>
> > I have a LCD display (115 mm x 86 mm) with VGA resolution (640 x
> > 480)
> > connected over LVDS with an Intel Atom N450.
>
> > After upgrading from Ubuntu 10.04 to 14.04 I only see the upper
> > left
> > detail of the whole screen (see attachment 'display_picture.jpg').
>
> > The Xorg log (see attachment 'Xubuntu.14.04.4.LTS.Xorg.0.log')
> > reported
> > a physical screen size of 270 mm x 203 mm which is pretty much the
> > size
> > of the whole screen.
>
> > Any suggestions?
>
> Something to try (I don't have any Intel Atoms to test on):
>
> 1.login on a vtty
> 2.sudo apt-get purge xserver-xorg-video-intel
> 3.reboot (or restart X xserver)
>
> Reason: sometime post-server 1.16.x. the generic modesetting driver
> was moved
> directly into the server itself. It's supposed to be competent for
> all
> non-ancient mainstream gfxchips, a substitute for chip-specific
> drivers. If
> it doesn't help, it's up to you whether to bother reinstalling the
> intel driver.
I made this patch a few years ago, still applies:
--- hw/xfree86/ddc/interpret_edid.c~ 2013-10-03 07:25:56.000000000 +0100
+++ hw/xfree86/ddc/interpret_edid.c 2013-10-03 07:48:55.168972224 +0100
@@ -144,6 +144,15 @@
xf86ForEachDetailedBlock(m, handle_detailed_hvsize, &p);
+ if ((p.real_hsize != m->features.hsize ) ||
+ (p.real_vsize != m->features.vsize)) {
+ xf86Msg(X_INFO, "Inconsistency in detected Display Size:\n");
+ xf86Msg(X_INFO, "Monitor features physical dimensions %dx%d mm\n",
+ m->features.hsize, m->features.vsize);
+ xf86Msg(X_INFO, "Detailed timings physical dimensions %dx%d mm\n",
+ p.real_hsize, p.real_vsize);
+ }
+
if (!p.real_hsize || !p.real_vsize) {
m->features.hsize = m->features.vsize = 0;
}
--- hw/xfree86/modes/xf86Crtc.c.orig 2013-11-01 16:59:03.904169898 +0000
+++ hw/xfree86/modes/xf86Crtc.c 2013-11-01 17:06:28.387359579 +0000
@@ -3052,8 +3052,15 @@
(det_mon->section.d_timings.v_size * 12)) &&
((det_mon->section.d_timings.v_size * 5) <
(det_mon->section.d_timings.h_size * 12))) {
- p->output->mm_width = det_mon->section.d_timings.h_size;
- p->output->mm_height = det_mon->section.d_timings.v_size;
+ if (!(p->output->conf_monitor &&
+ (p->output->conf_monitor->mon_width > 0 &&
+ p->output->conf_monitor->mon_height > 0))) {
+ /*
+ * Do not update size if user configured DisplaySize
+ */
+ p->output->mm_width = det_mon->section.d_timings.h_size;
+ p->output->mm_height = det_mon->section.d_timings.v_size;
+ }
p->ret = TRUE;
} else
xf86DrvMsg(p->output->scrn->scrnIndex, X_WARNING,
@@ -3109,6 +3116,15 @@
xf86OutputSetEDIDProperty(output, edid_mon ? edid_mon->rawData : NULL,
size);
#endif
+ if (output->conf_monitor &&
+ (output->conf_monitor->mon_width > 0 &&
+ output->conf_monitor->mon_height > 0)) {
+ /*
+ * Prefer user configured DisplaySize
+ */
+ output->mm_width = output->conf_monitor->mon_width;
+ output->mm_height = output->conf_monitor->mon_height;
+ }
if (edid_mon) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <https://lists.x.org/archives/xorg/attachments/20160805/0ec1fe49/attachment.sig>
More information about the xorg
mailing list