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 curtain is not working on newer windows insider builds #12491

Closed
akash07k opened this issue May 31, 2021 · 10 comments · Fixed by #12684 or #12698
Closed

Screen curtain is not working on newer windows insider builds #12491

akash07k opened this issue May 31, 2021 · 10 comments · Fixed by #12684 or #12698
Assignees
Labels
feature/screen-curtain p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Milestone

Comments

@akash07k
Copy link

Steps to reproduce:

  1. start NVDA
  2. Press insert+printscreen or turn on the curtain by going to the settings
  3. Observe

Actual behavior:

When we turn on the screen curtain, nothing happens. although, NVDA reports like: "Temporary screen curtain, enabled untill next restart" but screen still stays as before and doesn't turn black.

Expected behavior:

Screen curtain should work.

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

Version: alpha-22960,34e831bb

Windows version:

Windows 10 (Insider) build 21390

Name and version of other software in use when reproducing the issue:

NA

Other information about your system:

NA

Other questions

Does the issue still occur after restarting your computer?

Yes, always

Have you tried any other versions of NVDA? If so, please report their behaviors.

Yes, tried from 2020.4 to latest alpha, but no luck

If add-ons are disabled, is your problem still occurring?

Yes

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes

@seanbudd seanbudd added this to the 2021.2 milestone Jun 1, 2021
@akash07k
Copy link
Author

akash07k commented Jun 4, 2021

@feerrenrut
@LeonarddeR
@josephsl
Guys, I'm sorry to ping you in this issue, but this is a bug which can impact many users and will be good if it gets fixed before 2021.1 release

@josephsl
Copy link
Collaborator

josephsl commented Jun 4, 2021 via email

@seanbudd seanbudd modified the milestones: 2021.2, 2021.1 Jun 4, 2021
@LeonarddeR
Copy link
Collaborator

I'm curious to know:

  1. Whether the JAWS screen curtain suffers from this issue
  2. Whether the windows magnifier works correctly
  3. Whether you have wslg running. I got reports from @zersiax that starting a wsl gui application breaks the curtain.

@CyrilleB79
Copy link
Collaborator

  1. Whether the windows magnifier works correctly

More specifically, does the color inversion feature work correctly? I think that it uses the same color transformation matrix API as the screen curtain.

@LeonarddeR
Copy link
Collaborator

  1. Whether the windows magnifier works correctly

More specifically, does the color inversion feature work correctly? I think that it uses the same color transformation matrix API as the screen curtain.

True. Actually, we're using the same API and making the screen black this way. May be transforming to another color does still work.

@akash07k
Copy link
Author

akash07k commented Jun 4, 2021

Please find comments inline

I'm curious to know:

  1. Whether the JAWS screen curtain suffers from this issue
    I don't have JAWS, if you say then I can install the demo and let you know.
  2. Whether the windows magnifier works correctly
    Not sure, I don't have any vision sadly
  3. Whether you have wslg running. I got reports from @zersiax that starting a wsl gui application breaks the curtain.
    No, never tried WSL gui on this instance of windows, not even WSL.

@seanbudd
Copy link
Member

seanbudd commented Jun 7, 2021

I've reproduced this using windows build 21390.1. The screen curtain causes the screen to freeze, i.e. no longer visually update, but is otherwise visible.

As this is an insiders issue, and likely an unintended bug that will be fixed by Microsoft before a stable Windows version is shipped, we think it's best to delay looking at this until it has been around for a while but before 2021.2 is released.

@seanbudd seanbudd modified the milestones: 2021.1, 2021.2 Jun 7, 2021
@seanbudd
Copy link
Member

This is also confirmed to be an issue with the Windows 11 insider build (22000.65)

@zersiax
Copy link

zersiax commented Jul 12, 2021

I don't necessarily agree. While it is true that this is likely an unintended bug by Microsoft, I think it's still a good idea to at least track down what's causing the bug. Microsoft has a bit of a track record of taking quite a bit of time to fix unintended bugs at times, so if this is broken in insiders both for windows 10 and Windows 11, and we don't actually know what is causing this to happen, we can't report appropriate feedback either, which may very well mean this does not in fact get fixed on its own.
Another thing is that people who don't have light perception will have no idea this is happening. NVDA does not throw an error, the sound plays as normal and the blind person running insider builds now does not know that their banking details may very well be visible for anyone to see while they assume their screen is off.

@josephsl
Copy link
Collaborator

josephsl commented Jul 15, 2021

Hi,

I think it would be best to rename this issue to point out that this is a Windows 11 issue.

Re: #12585 collection

@seanbudd seanbudd self-assigned this Jul 22, 2021
@seanbudd seanbudd added the p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority label Jul 27, 2021
@seanbudd seanbudd linked a pull request Jul 28, 2021 that will close this issue
12 tasks
seanbudd added a commit that referenced this issue Jul 29, 2021
Link to issue number:
Fix for #12491

Summary of the issue:
Screen curtain does not work as intended for new Windows builds. This is due to an API change. Previously, NVDA used a fully transparent colour transformation to create the screen curtain, which now no longer results in a black screen.

In the future, the API is unstable: "The Magnification API is not supported under WOW64; that is, a 32-bit magnifier application will not run correctly on 64-bit Windows.".

Description of how this pull request fixes the issue:
Implements the screen curtain with a fully solid opacity.
Adds a warning to test newer Windows builds when using screen curtain.

Testing strategy:
 Test starting screencurtain using this PR build on a Windows 10 insiders build
 Test starting screencurtain using this PR build on a Windows 11 insiders build
 Test starting screencurtain using this PR build on a Windows 10 stable build
 Test starting screencurtain using this PR build on a Windows 8 stable build

Known issues with pull request:
This may occur again in the future due to the API not being fully supported, or another undefined behaviour change like this one. It would be good to add a test that confirms the screen is black using an independent tool, and/or move towards a different API.
@seanbudd seanbudd linked a pull request Jul 29, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/screen-curtain p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants