Roon will not display on 3200x1800 screen (says: screen to small)

Roon is not misinterpreting the screen size and resolution here. We’ve spent quite a bit of time on this problem, testing on many machines and different DPI’s. We even provide assets and render fonts at higher resolutions, and we even do the right thing on Apple devices where the texture resolution is different than native screen resolution.

Windows, when asking for the current DPI, will return 96 to mean “native”, and it scales from there. Windows will lie to you and scale your app itself, unless you tell it that you are DPI aware. The fact that you see everything get very small when you do -scalefactor=1, shows that we are telling Windows that we are DPI aware and it should tell us the correct number, and not lie to us.

Now, there are 2 things to consider here when talking about resolution. We have what I call “real estate”, which is how much space in you have to put stuff when you measure with a ruler, and then you have resolution, which is how many pixels you have. My Roon footer should be the same size as your Roon footer. As we are DPI aware, if both our DPI settings were set correctly, that footer should be about 1 inch tall. Now, if your resolution was 768 tall, you’d have 768 / height-of-screen-in-inches pixels for that footer’s height. If your resolution was 1800 tall, you’d have 1800 / height-of-screen-in-inches for that footer’s height. Over twice the number of pixels in the 1800 case. So what do we do with all those extra pixels? The footer needs to be 1 inch tall in both cases, but in the cases with more pixels, we should draw more detail there. That means higher resolution artwork and higher resolution glyphs for the fonts being rendered. Each character and icon should take up about the same size in inches, but the higher resolution screen will look better.

Because your Windows scaling option is set to 250%, and your actual LCD is 3800x1800, your effective screen real estate is 3800/2.5 x 1800/2.5, or 1520 x 720, at “96 DPI”. If we were not telling Windows we were DPI aware, Windows would just scale us up and just lie to us that it was 1520x720. Instead, we are doing that same scaling behavior, but instead of doing a dumb scale, we are using the extra pixels with higher resolution graphics artwork and font rendering.

The end result however is the same for real estate, you have an effective desktop of 1520x720 and that’s what’s causing you to break. Long ago, before screens were high DPI, you would be hard pressed to find a 13" laptop with a resolution much higher than 1520x720. 1366x768 would have been common, slightly less 16:9 in aspect ratio. The benefit of having a small screen with a large resolution means you can control your effective real estate. For example, a 15" Mac 5 years ago would be 1440x900. Today, it is 2880x1800, but it is 200% scaled, so it is effectively the same thing it was 5 years ago. However, I lie to my Mac, and tell it that i don’t want 200%, but instead i want 150% scaling. That gives me real estate of 1920x1200. I get more real estate, at the cost of making everything a bit smaller. 5 years ago, to get 1920x1200, i would have to have a 17+ inch screen. Now I can make the tradeoff between size and resolution.

If you set your scaling to 200%, you’d get a scalefactor of 2x, which means 3800/2 x 1800/2 == 1900x900 – its a bit much for 13 inch display I think, but more than enough for Roon. Maybe 234% would work better? that would get you 1624x768 – which is similar to what you would have on a 13" before high DPI screens were available.

This stuff is really confusing, and I see manufacturers mess it up all the time. Apple totally nails this and the Android devices are mostly OK at this as well. Windows is a mess because the manufacturers really get their hands in there and mess up stuff. Putting a 3800x1800 screen on a 13" display is just stupid as you will always have either something too small, too big, or blurry.

I’m guessing you have a Samsung. They are famous for hyping up specs without considering what the consequences are. They do it on Android too.

1 Like