Display size incorreectly detected (assuming 96x96 DPI)

Bug #1512606 reported by Václav Šmilauer on 2015-11-03
This bug affects 3 people
Affects Status Importance Assigned to Milestone
xserver-xorg-video-intel (Ubuntu)

Bug Description

I am running 14.10 on Lenovo Yoga 12 with 280x160mm panel with 1920x1080 resolution, which translates to 174x171 DPI by trivial calculation. The panel size is correctly reported by edid:

$ get-edid | parse-edid
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
No EDID on bus 1
No EDID on bus 2
No EDID on bus 3
No EDID on bus 5
1 potential busses found: 4
256-byte EDID successfully retrieved from i2c bus 4
Looks like i2c was successful. Have a good day.
Checksum Correct

Section "Monitor"
 Identifier ""
 ModelName ""
 VendorName "LGD"
 # Monitor Manufactured week 0 of 2013
 # EDID version 1.4
 # Digital Display
 DisplaySize 280 160
 Gamma 2.20
 Option "DPMS" "false"
 Modeline "Mode 0" 138.46 1920 1968 2000 2106 1080 1083 1088 1095 +hsync -vsync

The XServer thinks something different:

$ xdpyinfo | grep -B2 resolution
screen #0:
  dimensions: 1920x1080 pixels (508x285 millimeters)
  resolution: 96x96 dots per inch

where the physical size is garbage. The driver sets DPI to 96 despite having correct data, and there seems to be no straightforward way to force a different DPI (see e.g. [1]). The internet is full of various workarounds for HiDPI displays, which include setting text-scaling-factor in dconf (gnome-only) , layout.css.devPixelsPerPt (mozilla products), scaling-factor (integer values only?), all of the toolkit- or program-specific. They have all of them some gotchas (such as terribly-looking interface, different scaling of some text, ugly icons etc).

I am willing to help debugging the driver, since Ubuntu should have a way to behave well out-of-box on HiDPI configurations. If the driver reports the right DPI, I assume many of those issue would disappear.

[1] https://ask.fedoraproject.org/en/question/39272/how-to-configure-screen-dpi-ppi-properly/

ProblemType: Bug
DistroRelease: Ubuntu 15.10
Package: xserver-xorg-video-intel 2:2.99.917+git20150808-0ubuntu4
ProcVersionSignature: Ubuntu 4.2.0-16.19-generic 4.2.3
Uname: Linux 4.2.0-16-generic x86_64

ApportVersion: 2.19.1-0ubuntu4
Architecture: amd64
 [ OK ] Started Modem Manager.
 [ OK ] Started Detect the available GPUs and deal with any system changes.
          Starting Light Display Manager...
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
CompositorUnredirectFSW: true
CurrentDesktop: Unity
Date: Tue Nov 3 08:54:40 2015
DistUpgraded: Fresh install
DistroCodename: wily
DistroVariant: ubuntu
ExtraDebuggingInterest: Yes, if not too technical
 Intel Corporation Broadwell-U Integrated Graphics [8086:1616] (rev 09) (prog-if 00 [VGA controller])
   Subsystem: Lenovo Device [17aa:503e]
InstallationDate: Installed on 2015-08-31 (63 days ago)
InstallationMedia: Ubuntu 15.04 "Vivid Vervet" - Release amd64 (20150422)
MachineType: LENOVO 20DLCTO1WW
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.2.0-16-generic root=UUID=f5cdca16-e2f9-4b9e-b12c-65011c787ea7 ro quiet splash vt.handoff=7
SourcePackage: xserver-xorg-video-intel
UdevLog: Error: [Errno 2] No such file or directory: '/var/log/udev'
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 06/05/2015
dmi.bios.vendor: LENOVO
dmi.bios.version: JEET66WW (1.15 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20DLCTO1WW
dmi.board.vendor: LENOVO
dmi.board.version: SDK0K11826 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrJEET66WW(1.15):bd06/05/2015:svnLENOVO:pn20DLCTO1WW:pvrThinkPadS1Yoga12:rvnLENOVO:rn20DLCTO1WW:rvrSDK0K11826WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.name: 20DLCTO1WW
dmi.product.version: ThinkPad S1 Yoga 12
dmi.sys.vendor: LENOVO
version.compiz: compiz 1:
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.64-1
version.libgl1-mesa-dri: libgl1-mesa-dri 11.0.2-1ubuntu4
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 11.0.2-1ubuntu4
version.xserver-xorg-core: xserver-xorg-core 2:1.17.2-1ubuntu9
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.9.2-1ubuntu1
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.5.0+git20150819-0ubuntu1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20150808-0ubuntu4
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.11-1ubuntu3
xserver.bootTime: Mon Nov 2 08:12:10 2015
xserver.configfile: default
 Wacom ISDv4 EC Pen stylus: Invalid type 'cursor' for this device.
 Wacom ISDv4 EC Pen stylus: Invalid type 'touch' for this device.
 Wacom ISDv4 EC Pen stylus: Invalid type 'pad' for this device.
xserver.logfile: /var/log/Xorg.0.log
 product id 1079
 vendor LGD
xserver.version: 2:1.17.2-1ubuntu9

Václav Šmilauer (eudoxos) wrote :
Timo Aaltonen (tjaalton) wrote :

you can change the scaling factor from display settings

affects: xserver-xorg-video-intel (Ubuntu) → unity (Ubuntu)
Václav Šmilauer (eudoxos) wrote :

@Timo: what you say is GTK-only setting (e.g. not Firefox and Thunderbird, not Qt programs), plus Xorg will still report wrong DPI, which is a crucial information e.g. for GIMP (so that it can know how is stuff physically scaled) and such. I don't want to scale things, I want xorg to not lie about the DPI. Come on, in 2016, out-of-the box installation should look right on non-exotic hardware without tinkering; and in this case, tinkering is not even possible in a consistent manner.

Václav Šmilauer (eudoxos) wrote :

(Putting back to intel driver; please actually read the bug report before changing to unity)

affects: unity (Ubuntu) → xserver-xorg-video-intel (Ubuntu)
Timo Aaltonen (tjaalton) wrote :
Changed in xserver-xorg-video-intel (Ubuntu):
status: New → Won't Fix
Václav Šmilauer (eudoxos) wrote :

@Timo seriously, don't set "won't fix" when you manifestly have no clue what this bug is about. It would be more helpful to find the LP duplicate and set it, which I just did.

Timo Aaltonen (tjaalton) wrote :

yes, and that's essentially "wontfix"

Václav Šmilauer (eudoxos) wrote :

The dupe is Confirmed and High priority. When you assigned it to unity before, I can have justified doubts you generally read what you reply to. Never mind, this one is not relevant anymore, being a duplicate.

Timo Aaltonen (tjaalton) wrote :

nope, it's "low" priority for us, and since it's nearly six years old it should probably just be "wishlist"

not much happening upstream either, so don't hold your breath

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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