Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Screen Projection works incorrectly if editor is not on Display1 #243

Closed
InvaderSnarf opened this issue Jan 20, 2024 · 8 comments
Closed
Labels
bug Something isn't working

Comments

@InvaderSnarf
Copy link

Screen Projection seems to be broken when trying to project to a screen when the editor is not on Display1. Have tried this across two desktops with multi displays and 1 laptop with an external display.

If the editor is not on the screen that is labeled as Display1, the projection does not work correctly and either doubles up and covers the editor or will just not project the content to the correct display entirely.

Tested this on another system and just dragged the editor off of what windows calls display1 and the issue replicated itself.

@Cuperino
Copy link
Owner

Hello,

Thank you for the detailed explanation.

Please provide the following information so we can attempt to replicate this issue.

Device information

  • QPrompt version:
  • Operating System:
  • Operating System version:
  • Qt version:
  • KDE Frameworks version:

You can find some of these details on QPrompt's about page.

@InvaderSnarf
Copy link
Author

Qprompt version: 1.1.6(v1.1/51788eb)
OS: Was found on a machine running Windows 10 and replicated on two other systems running windows 11
OS Versions: Windows 11 Pro version 10.0.22621 build 22621 & Win10 Pro version 10.0.19045 Build 19045
QT version: Qt 5.15.9
KDE Frameworks: 5.100.0

@Cuperino
Copy link
Owner

Excellent, thank you very much!

@Cuperino Cuperino added the bug Something isn't working label Jan 20, 2024
@mowenfarhat
Copy link

was this fixed for QPrompt 1.2.0 Early Access build 06 ? because i have the same issue . when i enable projection.
i have two screens 1 and 2 , and both screens set as extended displays. when i project on screen number 2 , and i have QPrompt opening at screen 1 , then if i minimize QPrompt the projection disappears from screen number 2

@Cuperino
Copy link
Owner

Hi @mowenfarhat,

No, this has not been fixed in the early access builds, and, unfortunately, it won't be fixed for the next release of QPrompt either.

Screen projections are the hardest problem to solve in teleprompter software, with many edge cases that need to be addressed. Based on your description I can tell that your problem is different from the one initially addressed on this thread.

When copying the prompter's contents, an image on the GPU is grabbed from the main screen and read from the same GPU location while processing the other windows. The other windows asume there will always be an image there, but this isn't the case when you minimize in some systems, Windows included, causing QPrompt to crash.

Unfortunately, I can't do anything about this the way the code is presently structured. I'm in the process of re-structuring it using a newer version of the Qt framework (the primary framework used for making QPrompt), but even when I find a solution that works, there are dependencies on other frameworks that that are not compatible with this version of Qt, which are preventing us from making a proper release.

The current implementation of this feature has the most problems under Windows because of a series of optimizations done on Windows to improve performance. These include crashes and, sometimes, incorrect window placement. There are no crashes in MacOS, but screen detection is buggy on Apple Silicon, so the main window will only be placed on the primary screen and the projection only on the second display. Linux is the system with the least problems, never failing on window placement, and only ever crashing on distributions that use uncommon window managers. All systems are and will forever be incompatible with mixing use of multiple graphics cards, which will, under most certainly, result in a crash. If mixing multiple

In the meantime, please read the following forum thread, which will hopefully give you things you could attempt to mitigate the problem:

https://forum.cuperino.com/t/qprompt-crashes-when-switching-on-a-secondary-display/98/16

Hope this helps. Sorry for the inconvenience.

Javier

@videosmith
Copy link

Is it possible to adapt your code from Imaginary for this feature?

@Cuperino
Copy link
Owner

Cuperino commented Mar 3, 2024

@videosmith It would involve a mayor re-writing of QPrompt, but it should be possible. I will not do it because I know perfecting the current approach is be better in the long term, as it also opens the door to adding NDI support and other forms of streaming.

The way I designed this feature in Imaginary Teleprompter is also wrong from an architectural standpoint. As a result Imaginary has a few bugs which are literally impossible to fix.

Issue 53 is also the most common complaint users have had with Imaginary Teleprompter.

@Cuperino
Copy link
Owner

Screen projections removed from v1.2/2.0 codebase and future implementation in the works won't be affected by this issue, therefore there's no use in keeping this issue open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants