High DPI
This article helps users to configure their system for High DPI display, like a 4K monitor or notebook with retina display.
What is my DPI?
DPI setting of a regular display is 96. If you have a 27 inch 4K display (resolution is 3840x2160), you want to display 2 pixel width for 1 actual pixel width, the scale factor is 2. Then the DPI setting should be 192.
Some recommended DPI settings:
Screen size (inch) | Resolution (pixel) | Scale factor | DPI |
---|---|---|---|
28 | 3840x2160 | 1.5 | 144 |
17 | 3840x2160 | 2 | 192 |
13 | 2560x1600 | 2 | 192 |
13 | 1920x1080 | 1.5 | 144 |
Increasing scale factor could make fonts and user interface bigger and sharper. However it will make the available desktop space smaller. You should balance what you want: a larger space to show four windows at the same time, or a nice and beautiful desktop.
GRUB
By default, GRUB automatically detects the resolution of screen. In high DPI devices, texts of boot menu are too small. To change it, open YaST -> System -> Boot Loader, in Kernel Parameters tab, change console resolution to a specific value, NOT Autodetect by grub2. After that, boot menu will always scale up to resolution of your choice.
SDDM
SDDM is the default desktop manager in KDE 5. It provides the login screen. SDDM cannot detect your screen DPI so it won't scale to fit. Here is no option available on YaST or KDE System Settings, you need to modify /etc/sddm.conf
and add the following option:
ServerArguments=-dpi 192
If the file is empty, consider generating an example config file to ensure the correct format:
$ sddm --example-config > /etc/sddm.conf
The full configuration file looks like:
... [X11] DisplayCommand=/etc/X11/xdm/Xsetup MinimumVT=7 ServerPath=/usr/bin/X SessionCommand=/etc/X11/xdm/Xsession ServerArguments=-dpi 192
KDE
In System Settings -> Display & Monitor module, scroll down and click the Scale display button at the bottom.
You can change scale factor in the opened dialog:
Click OK button to save.
In System Settings -> Fonts module, check if Force font DPI was set to correct value. You should have 192 for high DPI screen.
Click OK button to save.
Note: you must reboot system to make these settings take effects.
GNOME
TODO
Applications
Firefox
Perfect. No need to configure anything.
Chrome/Chromium
Perfect. No need to configure anything.
LibreOffice
Almost perfect. No need to configure anything.
- Toolbar icons are scaled bitmap picture so they are not clear and sharp.
- Radio button, checkbox and scroll bar are small in KDE. (GNOME not tested)
Thunderbird
Perfect. No need to configure anything.
VLC (Qt5)
Perfect. No need to configure anything.
GIMP
GIMP's high DPI support is still poor. Problems including:
- Icons are too small.
- Radio button, checkbox and scroll bar are small in KDE. (GNOME not tested)
Here are some community made high DPI icon theme for GIMP:
After install this icon theme, toolbox icon in GIMP will become normal.
Inkscape
Inkscape looks poor on high DPI without configuration:
- Icons are too small. (can be configured)
- Radio button, checkbox and scroll bar are small in KDE. (GNOME not tested)
- Cursors and control box of shapes are small.
- Page size is scaled up. (can be configured)
However, you can do a little configuration to make it much better.
Open menu Edit -> Preferences, choose Interface in the dialog.
Choose Larger for all icon sizes. Set Zoom correction factor to 200% (depends on your scale factor).
Restart Inkscape to take effects. After configuration, tool bar icon size is big enough.
Telegram Desktop
Perfect. No need to configure anything.
KDE5/Qt5 applications
Almost all KDE5/Qt5 applications work out of box in KDE.
However, here might be some graphics, like icons and images, are blur. This is caused by missing HiDPI support in source code. Gwenview's image viewer is a bad example.
Qt4 applications
Many KDE4/Qt4 applications have poor support to high DPI screen, including Amarok, Clementine.
GNOME3/GTK3 applications
All GNOME3 core applications are perfectly engineered for high DPI screen.
GTK2 applications
Many GTK2 applications have poor support to high DPI screen, like GIMP, Inkscape.
Electron applications
Electron applications, like Atom, Visual Studio Code, Slack, use Chromium as render engine. So they should work perfectly in high DPI display.
Steam
Go to Steam menu ->Settings->Interface and check the "Enlarge text and icons based on monitor size" box