Windows display scaling factors 125% + 175% are not applied correctly

Bug #1938102 reported by mirh
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Medium
Daniel Schürmann

Bug Description

At least on Windows it's pretty awfully small.

Revision history for this message
mirh (mirh) wrote :
Changed in mixxx:
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Daniel Schürmann (daschuer)
Revision history for this message
Daniel Schürmann (daschuer) wrote :

There is work in progress to set an extra scale factor from the preferences https://github.com/mixxxdj/mixxx/pull/3960

In the meantime you can set the environment variable QT_SCALE_FACTOR
manually.

Revision history for this message
Be (be.ing) wrote :

Mixxx uses the OS's scaling setting. What is the problem?

mirh (mirh)
summary: - HiDPI support could see some improvement
+ 125% display scaling is the same of 100%
mirh (mirh)
summary: - 125% display scaling is the same of 100%
+ Fractional display scaling doesn't work
Revision history for this message
ronso0 (ronso0) wrote : Re: Fractional display scaling doesn't work

A screenshot of a native windows app (Notepad?) would help us to compare the scaling.
Please post the entire screen with the app maximized.

Revision history for this message
mirh (mirh) wrote :

You are absolutely right. I just tested 150% and 200% scaling and they work.
On the other hand, 125% and 175% are the same exact size of 100% and 150% respectively (save for the menu bar and the font size of the vertical folder list)

I just tested QT_SCALE_FACTOR=1.25 though, and that didn't have problems.

Revision history for this message
Be (be.ing) wrote :

This is likely Qt trying to be too clever with rounding the scale factor...

ronso0 (ronso0)
summary: - Fractional display scaling doesn't work
+ Windows display scaling factors 125% + 175% are not applied correctly
Revision history for this message
ronso0 (ronso0) wrote :

maybe QT_SCALE_FACTOR_ROUNDING_POLICY
https://bugreports.qt.io/browse/QTBUG-53022

Revision history for this message
mirh (mirh) wrote (last edit ):

You are spot on
https://bugreports.qt.io/browse/QTBUG-86344

EDIT: interestingly enough, while QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough managed to also do most of the trick, it neglected the size of the library fonts.

Revision history for this message
Jan Holthuis (holthuis-jan) wrote :
Revision history for this message
ronso0 (ronso0) wrote (last edit ):

isn't only Ubuntu requiring Qt 5.12? (in 2.3)
so #ifdef Qt <= 5.14 would fix it for Windows (macOS isn't affected IIRC)

@mirh
The library font can be set independently from the OS in Preferences > Library

I can't believe I can **EDIT** this comment..

Revision history for this message
mirh (mirh) wrote :

I'm saying that forcing the scale factor still had an overall marginally better looking experience than the rounding policy.

Also, it is my understanding from the linked commits above that all platforms should be affected.. It's just that probably nobody has high hidpi expectations on linux /s

Revision history for this message
Be (be.ing) wrote :

> if we switched to Qt 5.14

We are already using Qt 5.15.2 on Windows. It is only macOS where we are stuck with Qt 5.12.

Revision history for this message
Be (be.ing) wrote :

mirh, could you test setting the environment variable QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough before starting Mixxx from a command prompt? If this works well without odd looking artifacts we may consider setting the rounding policy to passthrough by default.
https://doc.qt.io/qt-5/qguiapplication.html#setHighDpiScaleFactorRoundingPolicy

Revision history for this message
ronso0 (ronso0) wrote :

> It is only macOS where we are stuck with Qt 5.12.

If we intend to fix this in a 2.3 point release it's not applicable to Ubuntu 20.04 builds because those are still using 5.12.8

Revision history for this message
Be (be.ing) wrote :

That only affects Ubuntu LTS users. Other Linux distros are not stuck on Qt 5.12.

Revision history for this message
Jan Holthuis (holthuis-jan) wrote :

I propose to add the fix inside a QT_VERSION_CHECK.

People using Ubuntu will have to live with the current scaling behavior, but it's actually a good thing. Stable distros are for users that don't want their system to change without a distro upgrade, so fixing the bug would be confusing and might break their workflows :D.

Revision history for this message
ronso0 (ronso0) wrote :

I can't turn on the CPU fan with spacebar anymore :D

Revision history for this message
Be (be.ing) wrote :

Yes, a QT_VERSION_CHECK is needed because Mixxx 2.3 still supports Qt 5.12.

Revision history for this message
Jan Holthuis (holthuis-jan) wrote :

> I can't turn on the CPU fan with spacebar anymore :D

Context: https://xkcd.com/1172/

Revision history for this message
Daniel Schürmann (daschuer) wrote :
Changed in mixxx:
milestone: none → 2.3.1
Changed in mixxx:
status: In Progress → Fix Committed
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/10485

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.