[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Some stuff about DPI [was: Re: text size xfce4 panel]

On Ma, 06 iul 21, 13:05:26, mick crane wrote:
> On 2021-07-06 12:47, Andrei POPESCU wrote:
> > On Ma, 06 iul 21, 12:36:31, mick crane wrote:
> > > On 2021-07-06 12:18, Dan Ritter wrote:
> > > > mick crane wrote:
> > > > > hello,
> > > > > recently got 4K monitor, I struggle to read the tiny text in
> > > > > bullseye xfce4
> > > > > desktop.
> > > > > I see how to increase size of desktop items but the panel text and
> > > > > pop up
> > > > > menu text are tiny.
> > > > > Also the tabs in brave browser and browser menu settings.
> > > > > I have looked but unable to find where to change those text sizes.
> > > >
> > > > Start with the DPI setting in the XFCE settings for display.
> > > 
> > > Would that not also change the resolution for any image software ?
> > 
> > Short answer: no, though you might need to (partially) undo some of 
> > the
> > other tweaks you already did.
> > 
> > The long answer is *very* long.
> > 
> I would like to read the long answer if you have the time and inclination.

I'm guessing your question above is due to an assumption that DPI in 
refers strictly to the actual dots per inch of your display device, so 
until we have resizeable monitors[1] the only way to adjust the real DPI 
is by adjusting the resolution (please do correct me if I'm wrong).

I'm not familiar with the entire historical background here, but 
basically the mess we have today is due to a combination of:

1. No or (later) unreliable methods of getting the real DPI

2. GUI / website designers specifying sizes in pixels
   (hey, text interfaces were specified in characters, so it must be 
   fine for graphical interfaces as well, right?)

3. Various software assuming and/or hardcoding the DPI value
   (96 DPI ought to be enough for anyone)

The problems weren't major as long as screen sizes increased in parallel 
with resolutions and with CRT monitors one could just run them at a 
lower resolution.

However, there are some practical limits to monitor sizes, and the real 
DPI has a noticeable impact on image quality. Add to this that LCDs look 
really bad if used at resolutions that don't match nicely to their real 

Modern display devices do have the means to inform the OS of their size 
and resolution (EDID), but these are sometimes buggy or just lie 
(sometimes with good reason, like TVs).

So in addition to the real DPI we also have the X DPI setting (still 
hardcoded to 96 x 96, regardless of the EDID values) and the Xft DPI 
(which is for fonts, but not all of them).

Not sure which of these (if any) the Xfce setting will actually change, 
but it should affect at least Xfce applications, but not necessarily 
applications using other toolkits (QT), or the elements in Firefox that 
aren't using GTK.

(did I already mention it's a mess?)

So what should you set the DPI value to?

For one monitor sitting somewhere around an arm's length away from you 
the real DPI is probably a good start, but this is definitely personal 
preference territory and some tweaking might be necessary regardless.

With the correct DPI value set a 10 pt font should be the same size on 
screen as on paper, so this has some practical value.

This [2] article describes several methods of setting X and Xft DPI and 
appears to be reasonably up to date. My personal preference is to 
specify the size of the display device from the EDID (i.e. what X would 
be using if it actually cared about it).

Some applications might still give you troubles. Firefox is a common 
offender, because it has some additional internal settings.

Things get more complicated if you start considering multi monitor 
setups (with different sizes and/or resolutions), as well as other types 
of devices, because there is no way that I'm aware of to specify the 
third dimension: viewing distance.

So if you want to use a TV as a monitor from 2+ meters away you might 
want to use a higher than real DPI setting[3]. Some TVs even 
intentionally provide wrong dimensions via EDID to achieve the same 

[1] e.g. like 1920 x 1080 (a.k.a. 2K) on a 4K (3840 x 2160) monitor.
[2] https://linuxreviews.org/HOWTO_set_DPI_in_Xorg
[3] e.g. 240 x 135 mm works for me for a 40" 1080p TV (i.e. 203 DPI)

Hope this provides at least some idea on the topic, because it likely 
doesn't really explain much.

Kind regards,
If you can't explain it simply, you don't understand it well enough.
(Albert Einstein)

Attachment: signature.asc
Description: PGP signature

Reply to: