Ubuntu QPA plugin does not override QScreen::devicePixelRatio

Bug #1275748 reported by Chris Coulson
30
This bug affects 5 people
Affects Status Importance Assigned to Milestone
qtubuntu (Ubuntu)
In Progress
Medium
Gerry Boland
ubuntu-ui-toolkit (Ubuntu)
Fix Released
High
Zsombor Egri

Bug Description

In bug 1257721, I made Oxide DPI aware by passing an appropriate device pixel ratio to Chromium. However, the way this is implemented on Ubuntu is not really ideal. I expected to be able to read the DPR from QScreen::devicePixelRatio, but this is always 1.0f on Ubuntu regardless of the device scale. Instead, device pixel independence is implemented entirely in ubuntu-ui-toolkit by providing a QML component for converting between grid units and device pixels, based on an environment variable called "GRID_UNIT_PX".

For now, I implemented a workaround in Oxide to also set the DPR to GRID_UNIT_PX / 8 when running with the Ubuntu platform plugin, and QScreen::devicePixelRatio on all other platforms.

I think that qtubuntu should instead override QScreen::devicePixelRatio (that could still come from the same environment variable for now), and ubuntu-ui-toolkit should do the conversion from grid units to device pixels using this instead.

Related branches

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in qtubuntu (Ubuntu):
status: New → Confirmed
Changed in ubuntu-ui-toolkit (Ubuntu):
status: New → Confirmed
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

This is effecting HiDPI screens

Changed in ubuntu-ui-toolkit (Ubuntu):
importance: Undecided → High
assignee: nobody → Zsombor Egri (zsombi)
Zoltan Balogh (bzoltan)
affects: ubuntu-ui-toolkit (Ubuntu) → ubuntu-ui-toolkit
Zoltan Balogh (bzoltan)
Changed in ubuntu-ui-toolkit (Ubuntu):
assignee: nobody → Zsombor Egri (zsombi)
importance: Undecided → High
status: New → Confirmed
Zoltan Balogh (bzoltan)
no longer affects: ubuntu-ui-toolkit
Gerry Boland (gerboland)
Changed in qtubuntu:
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Gerry Boland (gerboland)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-ui-toolkit - 1.3.1627+15.10.20150908-0ubuntu1

---------------
ubuntu-ui-toolkit (1.3.1627+15.10.20150908-0ubuntu1) wily; urgency=medium

  [ Zsombor Egri ]
  * Implement list item expansion.
  * Turn AdaptivePageLayout page creation to be asynchronous.
  * Fix ListItem swipe handling when gesture is initiated over an overlay
    MouseArea which does not accept pressed event. Fixes LP: #1484545
  * AbstractButton to C++. Fixes LP: #1365471, LP: #1458028
  * Haptics singleton moved to C++.
  * ActionItem moved to C++.
  * Making columns resizable in an AdaptivePageLayout.
  * Introducing column configuration into AdaptivePageLayout.

  [ Benjamin Zeller ]
  * Fix build inside qt and shadowbuild.

  [ Tim Peeters ]
  * Remove old and unused header-related files, and update unit test filenames.
  * Don't unset the subheader style when Page.head changes because that unsets
    the parent of Page.head.contents. Fixes LP: #1488922
  * Fix the theming of the MainView.
  * Fix the background color of the overflow panel.

  [ Christian Dywan ]
  * Include change signals with arguments in .api.
  * A public QML type with no version is an error. Rather than silently breaking
    as QML does normally at least apicheck can make this fatal.
  * UbuntuShape shouldn't emit redundant deprecation warnings. Fixes LP: #1481791
  * Update .bzrignore to new upstream style layout. Fixes LP: #1433308
  * Revert unnecessary change of Popover minimumWidth. Fixes LP: #1483708

  [ Ken VanDine ]
  * Fixed a few typos in the api docs for StateSaver.

  [ Olivier Tilloy ]
  * Take custom key indexes into account to allow sorting on custom roles.
    Fixes LP: #1485674

  [ Albert Astals Cid ]
  * Properly free shapeTextures[index] The old code assumes that the UbuntuShape
    will still be around when the opengl context is destroyed, but that seldom
    happens so connect the signal to a lambda that will be there and does the
    cleanup properly. Without this patch testDirectionalDragArea from unity8 was
    hitting the qFatal because it ran out of space in shapeTextures.

  [ Richard Huddie ]
  * Remove all usage of the autopilot simulated keyboard when the OSK is being
    used. Fixes LP: 31483668

  [ Gerry Boland ]
  * Compensate for Qt's device pixel ratio multiplier.
    Fixes: LP: #1207270, LP: #1275748, LP: #1468402

  [ Nick Dedekind ]
  * Added relative date time i18n.

  [ CI Train Bot ]
  * Resync trunk.

 -- Zoltan Balogh <email address hidden> Tue, 08 Sep 2015 04:10:50 +0000

Changed in ubuntu-ui-toolkit (Ubuntu):
status: Confirmed → Fix Released
Michał Sawicz (saviq)
Changed in qtubuntu (Ubuntu):
assignee: nobody → Gerry Boland (gerboland)
importance: Undecided → Medium
status: Confirmed → In Progress
no longer affects: qtubuntu
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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