I've recently acquired a Retina Display MacBook Pro, with a native
2880x1800 15" screen. Apple's approach to this on Mac OS X is similar to
iOS and Android running on high-density mobile displays: providing a
device-independent coordinate system that matches "traditional" pixel size,
scaled at some fixed factor to native device pixels. This leaves "old" apps
looking the right size but pixelated, while newer apps can drop in
high-resolution imagery where necessary without changing layout. [Detail:
any given window has a backing store at either 1.0 or 2.0 scale, and the
window manager / compositor scales them to fit the screen(s) they appear on
appropriately.]

Of course I'd love to see GNOME thrive on screens like this too... some day
this MacBook should become a proud Linux machine. :) I've been fiddling
with Ubuntu in a virtual machine while manually setting the screen to
2880x1800 unscaled to see what I get today. (VirtualBox gets
backwards-compatibility zoom mode normally, so I have to crank up to
unscaled mode to get all the pixels available to the Linux VM.)

>From what I can see the GNOME/Gtk+/X11 world so far works similarly to the
Windows desktop in that you can scale up text or DPI, but most everything
continues to address device pixels directly no matter how high you crank it
up -- leaving icons and other fixed-pixel-size elements tiny on a high-DPI
screen.

I've found that I can use the gnome-tweak tool to bump the text scaling
factor up to 2.0 and a lot of stuff looks pretty nice. Ubuntu's Unity
doesn't fare well, but GNOME-Shell w/ Adwaita theme scales up its dialogs,
status bar icons, and window decorations reasonably well -- with exceptions
like the on/off switches in the menus remaining small. On launching a few
apps, there are lots of problems, generally from seeing a mix of
text-relative-scaled objects and fixed-pixel-size icons or windows. Firefox
and Epiphany show UI scaled to the text factor, but web pages default to
showing tiny. The GNOME system settings app can't be resized, making it a
bit awkward. :)

Here's a screenshot of Gimp, showing a representative mix of good and bad
UI elements:
http://leuksman.com/log/wp-content/uploads/2012/07/Screenshot-from-2012-07-03-220521.png


Is there a strategy within GNOME for handling high-density displays of this
sort in the future?
* scaling more icons and widgets against the text scaling factor
automatically?
* sizing windows based on the text scaling factor, rather than raw pixels?
* making mouse cursors larger to maintain visibility?
* more SVG for icons?
* should things use device DPI instead of a GNOME-specific scaling factor?
How can this be easily overridden when Xorg seems to force it to 96dpi?
* even if DPI is cranked up, do we have to deal with scaling widgets to fit?
* most scarily: how to deal with multiple monitors with different display
densities?
* do we care about app backward-compatibility, or assume that good apps
will be updated to work in the future?

What can regular users and casual developers do to help today? Should we
report things that don't scale as expected, or wait for something to get
into place before we start?

I'm sure there won't be any fast fix-all solutions, but as screens with 1.5
and 2x the resolution of classic screens trickle out to more laptops in the
future, this'll be something that needs addressing...

-- brion vibber (brion @ pobox.com / bvibber @ wikimedia.org)
_______________________________________________
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

Reply via email to