There have been a lot of questions that are similar in nature, but none can truly address the Issues I've been having. I have a Dell XPS 15 9550 and have pretty much all of the hardware on it supported by manually upgrading the kernel. Yay!
My laptop has a 15 inch 4K display and elementary OS handles it quite well by automatically scaling up everything in Pantheon Desktop. However, it falls short when working with external displays. Any external display that I connect will inherit the same HiDPI setting that my laptop display uses. This means that windowed programs like system settings are scaled up and consume nearly the entire screen of a 27 inch 1440p display.
I would like to keep the HiDPI settings on my laptop screen but then have a different HiDPI setting on my external displays. I want to make better use of the screen's real estate for my work.
Through my research, I have found that I can use xrandr
to modify the HiDPI Settings on my screens and I have found what I think is an ideal configuration to solve my problem.
xrandr --output HDMI1 --scale 2x2 --mode 2560x1440 --fb 5120x3600 --pos 0x0
xrandr --output eDP1 --scale 1x1 --pos 600x3600
But it only works momentarily, then something happens in either the nouveau video driver that elementary OS uses by default, or with Pantheon Desktop. The screen goes black, I see some terminal output on my laptop, then the elementary OS login prompt appears and when I login, all my applications that were previously open are closed. Most importantly, all of the changes I made to the displays through xrandr
have been reverted back to how it was to begin with.
I would like to be able to adjust the scaling settings of my displays with out my system becoming unstable. My plans are to eventually write a bash script that will configure my displays for me. But right now something is making my early attempts fail. Does anyone have any ideas on how I can change the scale settings on individual monitors in elementary OS?