It’s not news that the Chrome support for high DPI (hiDPI) has been a work in progress for some time, and within the past year or so, the proliferation of high DPI displays on laptops has made the need for good high dpi support even more important. I have messed with a few beta features before, and some of them ended up making Chrome completely unusable.
I mostly tolerated the lack of high DPI on 13.3” laptop screens, but now that I work with a 32” 4K desktop display, I can no longer use Chrome without true high DPI support. Unfortunately, the old tricks won’t work anymore, but fret not there is a solution that does.
For this tutorial, I have used:
Sometime in late August, user have started reporting more changes, and users have reported the the registry changes no longer work. Ubergizmo commenter “Mark” was the first to bring a solution to this thread (thank you!), which I’m going to paste below. He says:
I’m running on the stable releases of Chrome. Yesterday Chrome upgraded to “37.0.2062.94 m” and since then I had the scaling issues. Changing the registry settings didn’t work (Chrome resets them). What _did_ work for me was the following:
* Right-click the Chrome icon shortcut on the taskbar
* Right-click the “Google Chrome” option
* Select “Properties” from the menu
* In the Target input field the path to Chrome is shown. I _added_ the following to this: /high-dpi-support=1 /force-device-scale-factor=1
* In my situation the Target field contains this line:“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” /high-dpi-support=1 /force-device-scale-factor=1
I have since had the time to check his solution, and it is valid. It is documented on other sites like superuser, which picked up the solution from reddit. This change was linked to a Chrome bug which is described here in the Chromium development bug tracker as Issue 395425. Note that if you have Chrome pinned onto the taskbar, you may have to edit that shortcut, or create a new one and edit it. Beware that if this was indeed a bug, Google may “fix it” and undo these tweaks again.
Because it is still under active development, the high DPI activation has moved around a few times. Our savvy commenters have pointed our that Chrome 37+ is using a new registry location to ensure that Chrome for both 64bit and 32bit Windows knows that it needs to use HiDPI. According to a blog post on ecomerc.com, the registry locations are:
[HKEY_CURRENT_USER\Software\Wow6432Node\Google\Chrome\Profile][HKEY_CURRENT_USER\Software\Google\Chrome\Profile]
The post author was kind enough to add a registry ready to go located here (download link). As usual, you need to close all Chrome Windows and processes, then restart the browser.
I headed there and found updated information including a fix that actually works on my system and that I expect to work on most systems.
The most recent version of Chrome toggles the hiDPI support based on a Windows Registry value. This is why the old tricks don’t work any more.
I know that’s it is a pain to edit the registry files, but fortunately, some handy little files are already available on the Chromium site. Fair warning: this is not something that Google officially supports, and you run registry commands from an unknown source at your own peril.
Thanks for Eugene Girard for uploading them to the Chrome Google Groups, and to Alex Sorokoletov for fixing an encoding issues on the original scripts.
The good thing with these, is that even if Chrome became or garbled, you could disable hiDPI support without going in blind and angry.
Even if you don’t enable Chrome’s built-in hiDPI settings, running Chrome with “Disable display scaling on high DPI settings” will help make the HTML text not blurry — although they may appear very small.
This doesn’t “solve” the hiDPI issue, but it prevents the magnification from happening and you can set the default zoom to 130% (or anything) to compensate for the small size. Because the zoom is done on vector element, everything will look neat on a high-dpi screen.
I’m glad to report that the steps above helped me setup Chrome with my hiDPI display. However, I have noticed that the Chrome window now sometime refuses to be moved and/or re-sized for some period of time. This has been reported to the developers in this bug report. If you see crazy font spacing, it may be due to this known bug.
If I wait long enough, the freeze magically go away, but this is something that I had never experienced before switching to high DPI mode. In the meanwhile, all HTML functions still work properly and you can read/browse the content.
Keep in mind that hiDPI is still very much under development, so things may change and be unstable until this feature is officially rolled out. If that is of interest, you can follow the code issue tracking #149881 and report bugs. Since the steps showed above don’t seem to work for everyone, reporting issues with your specific configuration may help speed this up.
Finally, even after getting this to work, I noticed that hiDPI support was still better on both IE and Firefox, so you can still fall back on these.
In the past, you could go to the Chrome settings and enable hiDPI from there. Here were the steps, which now no longer work:
First of all, it may have worked at some point, but a lot of people got burned out when Chrome turned into a garbled mess which was unreadable. The solution was to go back and fix this by following the same steps, but “blind”. I did it, it wasn’t fun, and re-installing Chrome didn’t solve it since the settings were apparently left in Windows after the uninstall. This option was removed around March 13 2014.
You may also find a second proposition which consists in adding command-line arguments to the Chrome app shortcut to enable HiDPI. They look like this:
–high-dpi-support=1
–force-device-scale-factor=2
There are TWO hyphens, and unfortunately, neither combinations work with the latest builds.
Follow these steps at your own risk. It worked fine for me, but I haven’t had the opportunity to test them on other systems. I hope that it helps you enjoy your new hiDPI display. If all else fails, disable the app scaling as shown in “Additional Notes”, and scale the inside of the webpage by setting up a default zoom value larger than 100%. Without proper support for high-DPI, this is the closest that you will get to it.
If it doesn’t work, or if you have additional questions, drop a comment, and I will help if I can. If not, maybe someone else in the community can pitch in. If a few can pitch in a little, everyone’s computing experience will improve.