Cuperino / QPrompt-Teleprompter

Teleprompter software for all video creators. Built with ease of use, productivity, control accuracy, and smooth performance in mind.
https://qprompt.app
GNU General Public License v3.0
357 stars 23 forks source link

Cannot configure projections properly on Apple Silicon #100

Open Cuperino opened 1 year ago

Cuperino commented 1 year ago

Bug Description Screen projections can't be configured for more than a single screen nor can the screen be properly specified on modern versions of MacOS.

Bug found initially through conversation with user Nicolas D in our community's Telegram chat, on June 21, 2022.

Steps to Reproduce

  1. Run macOS Catalina or newer. Older versions of macOS may also be affected.
  2. Prepare a setup with extended displays
  3. Launch QPrompt and configure to project to one of the extended displays.
  4. QPrompt will configure a screen based on unknown factors. That screen's configuration will be displayed on each screens' settings, but it will only take effect on the screen selected using unknown factors.

Expected behavior Each screen can be configured individually.

Detailed description of display configuration There's an extended display to the right of a MacBook Pro's primary display.

Device information

Additional context Happens with Qt 5.15.2 with KDE's Patch collection Also with Qt 5.15.5 without KDE's Patch collection

Potential fix lies in upgrading to Qt 6, but this is not an option at the time due to KF5 library's reliance on Qt 5.

Cuperino commented 1 year ago

This bug is caused by macOS not providing QPrompt any information about displays, beyond the amount of displays connected, on versions of macOS newer than High Sierra, which was used to test initial development. This bug can likely be fixed by upgrading to Qt 6.

Cuperino commented 1 year ago

I've copied QPrompt's display management code over to a test project that's using Qt 6 and no KDE frameworks. There I found that the issue continues to happen on Big Sur while using the latest version of Qt, 6.3. This is worrying news, as it means that it will take some time until we're able to fix this issue upstream as it is likely broken in all versions of Qt.

Cuperino commented 1 year ago

Issue may be limited to Apple Silicon machines, unable to replicate on Intel machine running macOS Big Sur.