How to Change HiDPI Scaling on Linux
Table of Contents
HiDPI (High Dots Per Inch) displays have become more common in recent years, offering higher resolution and sharper images. However, sometimes the text and icons can appear too small, making it difficult to read and interact with. Fortunately, Linux offers a way to adjust HiDPI scaling settings to make the display more readable. In this guide, we will show you how to change HiDPI scaling settings on Linux.
Using xrandr
xrandr is a command-line tool used in Linux to interact with the X11 display server and manage the screen resolution, refresh rate, rotation, and other display settings. The tool allows users to add, remove, and modify display modes, adjust the position of displays, and change the screen orientation.
The xrandr tool is often used to configure multi-monitor setups, including setting the relative position and orientation of the displays. It can also be used to adjust the scaling of HiDPI displays to make them more readable.
The xrandr tool is included in most Linux distributions by default and can be accessed from the command line. It provides a simple and powerful way to manage display settings without requiring a graphical user interface.
Step 1: Open Terminal
Open the terminal by pressing Ctrl + Alt + T on your keyboard or by searching for it in the applications menu.
Step 2: Install xdpyinfo
On Debian/Ubuntu-based distros, run:
sudo apt install x11-utils
On Fedora/RPM-based distros, run:
sudo dnf install xorg-x11-utils
On Arch-based distros, run:
sudo pacman -S xorg-xdpyinfo
Step 3: Check Display Density
Next, check the display density or PPI (Pixels Per Inch) of your display. To do this, run:
xdpyinfo | grep -B 2 resolution
This will display the resolution and density of your display in pixels per inch (PPI).
Step 4: Install xrandr
On Debian/Ubuntu-based distros, run:
sudo apt install x11-xserver-utils
On Fedora/RPM-based distros, run:
sudo dnf install xorg-x11-server-utils
On Arch-based distros, run:
sudo pacman -S xorg-xrandr
Step 5: Adjust Scaling Settings
Once you have determined your display resolution and density, you can adjust the scaling settings. The scaling settings can be adjusted using the xrandr command.
To adjust the scaling settings, run:
xrandr –output [OUTPUT NAME] –scale [SCALE FACTOR]x[SCALE FACTOR]
Replace [OUTPUT NAME] with the name of your display (e.g., eDP-1) and [SCALE FACTOR] with the scaling factor you want to use (e.g., 1.5). The scaling factor determines how much to increase the size of text and icons. To get the name of your display, run:
xrandr
This command will display information about the current display configuration, including the available outputs and their names.
For example, to set the scaling factor to 1.5 on a display named eDP-1, run:
xrandr –output eDP-1 –scale 1.5×1.5
Step 6: Make Scaling Settings Persistent
Once you have adjusted the scaling settings to your liking, you can make them persistent so they are applied every time you start your Linux desktop.
To do this, create a new file called .xprofile in your home directory, if it does not already exist, and add the following line to the file:
xrandr –output [OUTPUT NAME] –scale [SCALE FACTOR]x[SCALE FACTOR]
Replace [OUTPUT NAME] and [SCALE FACTOR] with the values you used in step 5.
For example, if you used a scaling factor of 1.5 on a display named eDP-1, you would add the following line to the .xprofile file:
xrandr –output eDP-1 –scale 1.5×1.5
Save the file and restart your Linux desktop to apply the changes.
Using wlr-randr
If you are running a Linux distribution with a Wayland display server, you may not be able to use xrandr to adjust your HiDPI scaling settings. Instead, you can use wlr-randr, a tool specifically designed for Wayland, to change your scaling settings.
Step 1: Open Terminal
Open the terminal by pressing Ctrl + Alt + T on your keyboard or by searching for it in the applications menu.
Step 2: Install xdpyinfo
On Debian/Ubuntu-based distros, run:
sudo apt install x11-utils
On Fedora/RPM-based distros, run:
sudo dnf install xorg-x11-utils
On Arch-based distros, run:
sudo pacman -S xorg-xdpyinfo
Step 3: Check Display Density
Next, check the display density or PPI (Pixels Per Inch) of your display. To do this, run:
xdpyinfo | grep -B 2 resolution
This will display the resolution and density of your display in pixels per inch (PPI).
Step 4: Install wlr-randr
On Debian/Ubuntu-based distros, run:
sudo apt install swaybg wlr-randr
On Fedora/RPM-based distros, run:
sudo dnf install wlr-randr
On Arch-based distros, run:
sudo pacman -S swaybg wlr-randr
Step 5: Adjust Scaling Settings
Once you have determined your display resolution and density, you can adjust the scaling settings using wlr-randr. To do this, run:
wlr-randr –output [OUTPUT NAME] –scale [SCALE FACTOR]
Replace [OUTPUT NAME] with the name of your display (e.g., eDP-1) and [SCALE FACTOR] with the scaling factor you want to use (e.g., 1.5). The scaling factor determines how much to increase the size of text and icons. To get the name of your display, run:
wlr-randr
This command will display information about the current display configuration, including the available outputs and their names.
For example, to set the scaling factor to 1.5 on an output named HDMI-A-1, run:
wlr-randr –output HDMI-A-1 –scale 1.5
Step 6: Make Scaling Settings Persistent
Once you have adjusted the scaling settings to your liking, you can make them persistent so they are applied every time you start your Linux desktop.
To do this, create a new file called .config/wlr-randr.sh in your home directory and add the following lines to the file:
#!/bin/sh
wlr-randr –output [OUTPUT NAME] –scale [SCALE FACTOR]
Replace [OUTPUT NAME] and [SCALE FACTOR] with the values you used in step 5.
For example, if you used a scaling factor of 1.5 on an output named HDMI-A-1, you would add the following lines to the .config/wlr-randr.sh file:
#!/bin/sh
wlr-randr –output HDMI-A-1 –scale 1.5
Save the file and make it executable by running:
chmod +x ~/.config/wlr-randr.sh
Finally, add the following line to your Wayland startup file (e.g., ~/.bashrc or ~/.xinitrc) to ensure the script runs every time you start your desktop environment:
sh ~/.config/wlr
Conclusion
In conclusion, if you are using a high-resolution display with Linux, adjusting the scaling settings can make a significant difference in the user experience. We’ve shown you two tools, xrandr and wlr-randr, that can help you easily adjust your HiDPI scaling settings. While xrandr is suitable for systems running the X server, wlr-randr is specifically designed for Wayland display servers. Regardless of which tool you choose to use, make sure to determine your display resolution and density first, and then experiment with different scaling factors until you find the best setting for your needs. Don’t forget to make your scaling settings persistent so that they apply every time you start your desktop environment. With these tips, you can enjoy a better Linux experience on your HiDPI display.