Skip to content

Qt app that automates fractional scaling configuration on X11 desktops

License

Notifications You must be signed in to change notification settings

alex-spataru/HiDPI-Fixer

Repository files navigation

HiDPI Fixer

Deploy Github All Releases

This application allows you to create a script that accomplishes the following tasks:

  • Allow fractional scaling of your display and its components in X11.
  • The end result looks nicer and is way less buggy than using Wayland.
  • The generated script is configured to run every time you log in.
  • You can also instruct the application to modify the ~/.profile file to scale Qt-based apps, use with caution.
  • Tested on GNOME, Deepin Desktop and KDE (you need to manually set the scaling factor to 200% in Deepin and KDE).

Screenshot

Note: sorry for the screenshot taken under Wayland. I haven't really used this tool lately, but I felt the need of updating this repo after 2 years...

Installing/running

You can download the latest release as an AppImage, no installation required! After your download finishes, open a terminal and type the following commands:

cd Downloads                    # Go to directory where you have downloaded/saved HiDPI-Fixer
chmod +x HiDPI_Fixer*.AppImage  # Make HiDPI-Fixer.AppImage executable
./HiDPI_Fixer*.AppImage         # Run HiDPI-Fixer

Uninstalling

To remove all the scripts and startup launchers generated by HiDPI Fixer, open a terminal and type the following:

cd Downloads                         # Or the location in which you have saved HiDPI-Fixer AppImage
./HiDPI_Fixer*.AppImage --uninstall  # Run uninstall command (if you are lazy, just type -u)

This command will do the following:

  • Remove the ~/.hidpi-fixer directory and all its contents
  • Remove all the startup applications with the name pattern as HiDPI-Fixer_*.desktop in the ~/.config/autostart directory.

All directories and files that HiDPI Fixer removes will be listed in the terminal output.

How does it work?

This application uses a combination of GNOME's scaling-factor setting and xrandr commands. Basically, the application calculates the necessary resolution to obtain the desired scaling factor and registers a new resolution with xrandr. These commands are saved into a *.sh file for every display that you have and are configured to run at startup.

HiDPI-Fixer also works with DEs other than GNOME, however, you will need to manually set the scaling factor to 200% in the control center application of your desktop environment.

TODOs/Ideas

  • Allow users to choose between creating a custom resolution or using xrandr --scale, to avoid BAT MATCH errors
  • Integrate run_scaled to HiDPI-Fixer, by creating custom *.desktop files in ./local/share/applications to fix apps that refuse to do any scaling at all.
  • Instead of generating a startup script, allow users to apply the changes system wide.

Contributions and less-ugly fixes are welcome :octocat:

Tips

  • Some applications such as WPS Office ignore completely the system's DPI setting (and thus cannot do any scaling at all). Given that HiDPI-Fixer creates a very large resolution, it may be almost impossible to use these fixed-DPI applications. If you rely on those applications, you can run them with run_scaled, resulting in an usable, albeit blurry per-application experience. But at least your desktop and HiDPI-friendly apps will look decent 👍.
  • In some cases, xrandr will not let you to use resolutions larger than your screen's native resolution, which results in the rather-cryptic BAD MATCH error. If you have any idea how to fix this, please contact me or make a PR.

License

This project is released under the MIT license, for more info, click here.

About

Qt app that automates fractional scaling configuration on X11 desktops

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published