tildearrow / furnace

a multi-system chiptune tracker compatible with DefleMask modules
GNU General Public License v2.0
2.63k stars 207 forks source link

Furnace thinks i have HiDPI display? #178

Closed axredneck closed 2 years ago

axredneck commented 2 years ago

Screenshot_20220216_010859 It's Arch Linux, KDE, x11, quite big 1080p LG TV. Later (after i took a screenshot) i tried to decrease font size in Furnace settings but icons are still huge.

tildearrow commented 2 years ago

Hmmm... are you using NVIDIA graphics?

axredneck commented 2 years ago

Yes, it's Nvidia with proprietary driver.

axredneck commented 2 years ago

Edit: setting DPI to 96 manually in KDE settings doesn't help. Edit2: xrandr --dpi 96 doesn't help either.

tildearrow commented 2 years ago

The DPI setting should be done in /etc/sddm.conf (ServerArguments=-dpi 96) It appears NVIDIA drivers set the DPI to the display's real physical DPI...

The only solution is to add a "scaling factor" setting... Let me do that, hoping macOS HiDPI won't break in the process.

axredneck commented 2 years ago

I already have this in /etc/sddm.conf.d/dpi.conf

[X11]
ServerArguments=-dpi 96

It appears NVIDIA drivers set the DPI to the display's real physical DPI...

My display's real physical DPI is quite low (approx. 96 or a bit lower), so i don't know why Furnace displays everything as if it was HiDPI... Edit: Nvidia Settings says it's 96.

tildearrow commented 2 years ago

I have added an UI scaling factor setting for 0.5.6. Thanks for the report!

axredneck commented 2 years ago

Thank You!

freq-mod commented 2 years ago

Discord server user Kagamiin has reported the same problem with newest master build and on AppImage. arch linux, proprietary NVIDIA driver and monitor being a 47" LG TV. Likely ImGui problem

Further info: I use a HDMI switcher to share my lower monitor with my work computer, so my desktop frequently switches between 1 monitor and 2 monitors... this may or may not be related to the issue

tildearrow commented 2 years ago

DPI detection on Linux is rather difficult as there are too many ways to detect it, and none of them is reliable (GDK_SCALE, QT_SCALE_FACTOR, X server DPI, etc.).

Not an ImGui issue as it doesn't do scaling factor detection. This is done by Furnace.

tildearrow commented 2 years ago

Reopening since I am improving the scaling detection code.

tildearrow commented 2 years ago

Please test again using latest artifact (see Actions). I have improved the scaling detection code.

axredneck commented 2 years ago

Looks right. (I enabled "Automatic UI scaling factor")

tildearrow commented 2 years ago

Amazing!