On Saturday 09 December 2017, Felix Miata wrote: > [I am not a developer.] > > Vincent Reher composed on 2017-12-09 19:21 (UTC-0800): > > > I recently purchased a Dell XPS15 laptop for my daughter and before I turn it > > over to her, I am experimenting to see what must be done to make it usable > > under Linux/TDE for those with no better than normal eyesight. Per EDID, the > > laptop's native screen resolution is 3840 x 2160 and its physical screen > > dimensions are 346 x 194mm (~15.6" diagonal). My objective is to run the > > laptop at native resolution both inside and outside of X (no re-scaling). > > > Using the EDID metrics, it is pretty easy to determine during boot an optimum > > terminal font (ter-i32b.psf) and X font scaling (Xft.dpi=240). After that, > > using the TDE control panel to increase panel and icon sizes produces a nice > > looking desktop environment … almost. > > 15.6" nominal is physically 282.42 DPI @3840x2160 resolution: > http://fm.no-ip.com/PC/displays.html > > 3840x2160 is considered "quad density", aka 4K resolution. > > For a little perspective, consider what increased density means drawing icons or > text characters compared to lower resolutions. > > 15.6" nominal is 141.21 DPI @1920x1080 resolution (the HDTV standard). > The reference DPI, on which web standards are based, and from which most > software developers worked until production display densities started to > considerably exceed the standard reference, is 96. A screen that actually is 96 > DPI @1920x1080 would be almost 23". > > At the reference, a 16px by 16px icon is comprised at most of 16^2 or 256 > pixels, and measures 4.417mm square. Going down to a 15.6" screen at that same > resolution shrinks those same pixels into a 141 DPI 3.003mm square space. > Raising the resolution to *nominal* quad (3840x2160) squeezes those 256px into > 242 DPI 1.502mm square space. > > The converse is that in order to get an icon that was 4.417mm square on a true > 96 DPI screen to stay that size on a 15.6" screen @1920x1080 would require > utilizing approximately 554 pixels. On a quad screen, 3840x2160, that jumps to 2216. > > Computers can be programmed to scale up objects so as to improve their physical > size, but with images that comprise the standard 96 DPI icons, their appearance > cannot be improved to take advantage of higher available pixel density. Higher > density screens need to have different, and much larger, icons. > > > The remaining issue concerns TDE window/menu controls that are too small. > > These include window resizing double-arrows, window scrollbar and associated > > up and down arrows, the menu-submenu right arrow, list expand-collapse (+/-) > > controls, checkboxes, and radio buttons. > > > I suspect that these resources are part of QT3 but don't really know for > > sure. I suspect QT3 because applications that do not use that toolkit (e.g. > > LibreOffice and Firefox) do not manifest the problem. > > TDE and its own applications are QT3-based. QT3's initial release was 16 years > ago and for all practical purposes its development ended 3.5 years later, mid-2005. > > QT3's design foundation is close to two decades old, well before developers had > to consider escalation of display densities. Some elements could be scaled with > density, by using units that scaled (e.g. pt, mm or in), but images weren't > among them. Some design elements used a mixture of pixel units and scalable > units, while others used one or the other. Compromises were inevitable where > densities varied more than a little from the standard. > > Image scaling simply can't work as well as today's "HiDPI" screens require. > Either images in additional sizes need to be provided, or a different kind of > image designed to be scaled need to be provided, or both. QT3 wasn't designed > for scalable images, and no one ever provided much in the way of additional > images, or just as, or more, importantly, an effective framework for utilizing > them without compromises. > > Getting TDE off QT3 onto a foundation that fully supports "HiDPI", assuming any > such open source foundation actually exists at this point, in my estimation > would require resources several orders of magnitude larger than those available > to the TDE project. > > > I am hoping that somebody more knowledgeable about GUI configuration and > > programming can point me in the right direction. Is this something that can > > be corrected via a configuration file (e.g. qtrc)? If not, can somebody > > point me to where in in the source code tree I should be looking and what I > > would need to do to correct this? > > IMO you're probably facing a choice between using TDE and not using native > resolution. At a normal viewing distance, 141 DPI ought to be as high a display > density as anyone with no better than average visual acuity can fully > appreciate, absent side-by-side comparisons, where differences may or may not be > detectable without getting closer or using a magnifying glass. > > I suggest giving 1920x1080 (physically 141 DPI) a try. The kernel cmdline can be > configured through the bootloader menu to have it override EDID and use > 1920x1080. Xorg and thus TDE should use that mode automatically, but if it does > not, Xorg can readily be configured to use it directly. TDE settings can do same > if need be. > > Fonts in apps generally work best if DPI is a multiple of 24 (96 * 1.25, > 96*1.50, 96*1.75, etc.), less well at 12X, even less well at 4X or 8X, so at > 1920x1080 you might wish to try forcing DPI to 143 or 144. 144 is a breakpoint > in some software design, so you might notice some big differences between 143 > and 144. Depending on how good your daughter's vision is, leaving logical DPI > set to its 96 default may well prove acceptable with 1920x1080. > > > Of course, if HiDPI issues have already been addressed by others in the post > > R14.0.4 source code, that would be great. > Leaving QT3 has been suggested, but I've seen nothing on this mailing list or on > IRC to suggest anyone thinks it could ever happen. > > HTH Felix, thank you for your lengthy if somewhat pessimistic reply. To be clear, I have no issue whatsoever with the fonts -- they look great on this display with Xft.dpi=240, perhaps in part due to my past efforts at making fonts look reasonable on Linux desktops. And the desktop/panel icons are fine after stepping up to larger sizes (no scaling). It's just those apparently fixed-size bitmap images used for window/menu controls that are way too tiny. If indeed the problem lies in QT3 and it cannot be "configured away" either during build time or run time, then I simply ask for somebody more knowledgeable to point me in the right direction so I can start looking and experimenting with the source code. I am also not suggesting TDE be ported to QT>3. I know that is a non-trivial effort and would not be feasible. Also, I am not even sure that QT fixed this problem until the 5.x versions (http://doc.qt.io/qt-5/highdpi.html). To downsize from native resolution on this laptop would be to admit defeat and loose a touted feature. It's not going to be a problem for my daughter since most of the software she needs to run is "windows only" and the laptop's pre-installed Windows 10 does not seem to have any problem at all. It may be a problem eventually for me should I choose to get a similar laptop and stick with TDE.