- March 16, 2023
- 12:08 pm
- No Comments
How to Change HiDPI Scaling on Linux
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.
Please Leave Feedback and Corrections in the Comments
More to Explore
MALIBAL Aon S1 Vs Apple MacBook Pro 13 (M2)
In the competitive landscape of high-performance, thin & light laptops, the MALIBAL Aon S1 and the Apple MacBook Pro 13 (M2) are noteworthy contenders.
How to Set Up and Use a Basic Firewall on Linux
UFW (Uncomplicated Firewall) is a user-friendly front-end for managing iptables firewall rules on Linux systems.
How to Set Up a VPN Server on Linux
A VPN (Virtual Private Network) provides a secure, encrypted connection between your devices and the internet.
How to Install and Use a Terminal Multiplexer on Linux
A terminal multiplexer is a powerful command-line utility that enables users to manage multiple terminal sessions.
How to Set Up a Basic Samba Server on Linux
Samba is a popular open-source software suite that provides seamless file and print services to SMB/CIFS clients.
How to Create and Manage Users and Groups on Linux
User and group management is an essential aspect of maintaining a secure and organized Linux system.
How to Install and Configure a LAMP Stack on Linux
A LAMP stack is a popular software bundle consisting of Linux, Apache, MySQL, and PHP, used for hosting and deploying web applications.
How to Set Up and Use SSH Key Authentication on Linux
Secure Shell (SSH) is a widely used protocol for secure remote access and management of Linux servers.
How to Create and Manage Cron Jobs on Linux
Cron jobs are a feature on Linux that enables users to automate repetitive tasks by scheduling scripts or commands to run at specific intervals.