High DPI issues

Teo Mrnjavac teo at kde.org
Mon May 26 15:47:35 UTC 2014


On Tuesday, May 20, 2014 15:16:25 Teo Mrnjavac wrote:
> On Tuesday, May 20, 2014 14:55:16 David Edmundson wrote:
> > On Tue, May 20, 2014 at 2:28 PM, Teo Mrnjavac <teo at kde.org> wrote:
> > > Another important issue is that currently the only tested and nicely
> > > working values for QT_HIGHDPI_SCALE_FACTOR are 1.0 and 2.0, i.e. Mac OS
> > > style scaling.
> > 
> > I can't imagine it being too big a problem; things only look bad once
> > they're past a certain point.
> > 
> > > produce decent results and minimize glitches, but the only way to be
> > > sure
> > > of that is trying it out. I'll try to give his branch a spin when I get
> > > the chance.
> > 
> > Please do, and report back.
> 
> Will do.

High DPI status update, part 2.

So I've managed to build Morten's highdpi branch [1] and (most of) the kdesrc-
build roster on top of it. Right now the highdpi branch tracks stable. As 
hinted last week, this branch scales up all UI elements by a scaling factor. 
On OSX this scaling factor is 1.0 or 2.0, in line with Apple's retina scaling 
policy, but on X11 it doesn't have to be an integer. Also on X11 there is no 
code that tries to guess this scaling factor, relying instead on an 
environment variable QT_HIGHDPI_SCALE_FACTOR.

I've made some screenshots of Kate with different values of 
QT_HIGHDPI_SCALE_FACTOR. All of them are with kwin 4 and unless otherwise 
noted, the style is Fusion.

http://wstaw.org/m/2014/05/26/plasma-desktopIo2083.png
QT_HIGHDPI_SCALE_FACTOR not set.
Font size in pixels is big because the fonts DPI is from the Xft.dpi setting 
which in turn comes from my Nvidia driver. The window opens up way too small 
for my screen.

http://wstaw.org/m/2014/05/26/plasma-desktopni2083.png 
QT_HIGHDPI_SCALE_FACTOR=1.0
It looks like the scale factor overrides the Xft DPI setting.

http://wstaw.org/m/2014/05/26/plasma-desktopaQ2083.png 
QT_HIGHDPI_SCALE_FACTOR=1.5
Decent overall widget geometry, window size also good automatically. Bad 
pixmaps, font kerning issues to be fixed in Qt.

http://wstaw.org/m/2014/05/26/plasma-desktoppN2083.png 
QT_HIGHDPI_SCALE_FACTOR=1.75

http://wstaw.org/m/2014/05/26/plasma-desktopLe2083.png 
QT_HIGHDPI_SCALE_FACTOR=2.0
Pixmaps still rough, fonts look better. This is arguably the right scale 
factor for my 215ppi panel, and the overall result is visually nice.

http://wstaw.org/m/2014/05/26/plasma-desktopTf2083.png 
QT_HIGHDPI_SCALE_FACTOR=3.0

http://wstaw.org/m/2014/05/26/plasma-desktopCs2083.png 
QT_HIGHDPI_SCALE_FACTOR=2.0
With Oxygen style.

Feel free to let me know if you can think of ways to break it, I can try and 
report back with screenshots.

As for generating the QT_HIGHDPI_SCALE_FACTOR, we can have some heuristics 
based on Xft DPI (if set), which could then be overridden in the Fonts KCM or 
some other KCM. Multiples of .25 or even .5 would probably be just fine, so if 
we scale pixmaps to increments of .5 and if the font rendering issues are 
fixed upstream, this could work nicely.

I'm still curious what happens in Plasma with this scaling factor, but 
unfortunately plasma-framework didn't build for me with the highdpi branch. 
I'll investigate and report back if there's breakage.

[1] https://github.com/msorvig/qt5-qtbase-highdpi

Cheers,
-- 
Teo Mrnjavac
http://teom.org | teo at kde.org


More information about the Plasma-devel mailing list