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

Feat/Windows - virtual display privacy mode #6406

Merged
merged 5 commits into from Nov 14, 2023

Conversation

fufesou
Copy link
Collaborator

@fufesou fufesou commented Nov 14, 2023

  1. "Privacy mode", disable physical displays.
  2. check_uac_switch() in video_service.rs is very expensive. Remove the one call in video_service.rs.
        let wait_begin = Instant::now();
        while wait_begin.elapsed().as_millis() < timeout_millis as _ {
            ...
-            #[cfg(windows)]
-            check_uac_switch(c.privacy_mode_id, c._capturer_privacy_mode_id)?;
  1. Menu on mobile is
  1. Change src/platform/windows.rs
        match control_event {
            ServiceControl::Interrogate => ServiceControlHandlerResult::NoError,
            - ServiceControl::Stop => {
            + ServiceControl::Stop | ServiceControl::Preshutdown | ServiceControl::Shutdown => {
                send_close(crate::POSTFIX_SERVICE).ok();
                ServiceControlHandlerResult::NoError
            }
privacy-1.mp4
privacy-2.mp4

TODOs

If the resolution of the virtual display has been modified, enabling privacy mode will fail.
ChangeDisplaySettingsEx will return 2.

I cannot reproduce it anymore.

Signed-off-by: fufesou <shuanglongchen@yeah.net>
@rustdesk
Copy link
Owner

rustdesk commented Nov 14, 2023

5. Menu on mobile is

There should be at least seperator lines here if no better design for secondary level menu.

@rustdesk
Copy link
Owner

rustdesk commented Nov 14, 2023

  1. Menu on mobile is

There should be at least seperator lines here if no better design for secondary level menu.

Pop up a dialog here (after clicking on privacy mode) since this menu is ugly here.

Signed-off-by: fufesou <shuanglongchen@yeah.net>
@fufesou fufesou closed this Nov 14, 2023
Signed-off-by: fufesou <shuanglongchen@yeah.net>
Signed-off-by: fufesou <shuanglongchen@yeah.net>
Signed-off-by: fufesou <shuanglongchen@yeah.net>
@fufesou fufesou reopened this Nov 14, 2023
@rustdesk rustdesk merged commit 24eb6f8 into rustdesk:master Nov 14, 2023
36 checks passed
@fufesou fufesou deleted the feat/virtual_display_privacy_mode branch November 21, 2023 06:17
@Vasilis553
Copy link

Hello I downloaded the nighly 1.2.4 on windows 10 and on my Android but I don't see the privacy mode options only uses the old method with the layer

@fufesou
Copy link
Collaborator Author

fufesou commented Mar 8, 2024

This feature has been temporarily removed along with idd.

#6444 (comment)

@Vasilis553
Copy link

Vasilis553 commented Mar 8, 2024

This feature has been temporarily removed along with idd.

#6444 (comment)
It will come back or you will keep the layer
I though the problem is that the driver don't works fine or it doesn't blacks the physic screen
Because on this layer has the mouse shown

@fufesou
Copy link
Collaborator Author

fufesou commented Mar 8, 2024

I though the problem is that the driver don't works fine

The latest nightly does not contains the driver since #7198

it doesn't blacks the physic screen. Because on this layer has the mouse shown

Yes, it's just a topmost window that hides all others.

@Vasilis553
Copy link

Vasilis553 commented Mar 8, 2024

Is any download link or archive to download older nighly with separate privacy mode and the driver?
Both phone and computer versions
Because I want fully phisical screen off

@fufesou
Copy link
Collaborator Author

fufesou commented Mar 8, 2024

The driver is not recommended.

But if you really want that version, you can:

  1. Fork this repo.
  2. Checkout a new branch based on https://github.com/rustdesk/rustdesk/tree/9a1fd1aa4f98f8b719a8e57b168cb9cda0356896
  3. Push to github.
  4. Create a nightly tag, push to github. like https://github.com/fufesou/rustdesk/tree/nightly
  5. Create a nightly pre-release. like https://github.com/fufesou/rustdesk/releases/tag/nightly
  6. Trigger a new action. like https://github.com/fufesou/rustdesk/actions/workflows/flutter-nightly.yml

@Vasilis553
Copy link

The driver is not recommended.

But if you really want that version, you can:

  1. Fork this repo.
  2. Checkout a new branch based on https://github.com/rustdesk/rustdesk/tree/9a1fd1aa4f98f8b719a8e57b168cb9cda0356896
  3. Push to github.
  4. Create a nightly tag, push to github. like https://github.com/fufesou/rustdesk/tree/nightly
  5. Create a nightly pre-release. like https://github.com/fufesou/rustdesk/releases/tag/nightly
  6. Trigger a new action. like https://github.com/fufesou/rustdesk/actions/workflows/flutter-nightly.yml

Thanks a lot!
And one thing a bug maybe is at nighly v1. 2.4 when you change windows injector.dllfor change the privacy mode image after try to use privacy mode both on remote and on physic stacks on the image instead of remote see the desktop and physic see the image

@Vasilis553
Copy link

The driver is not recommended.
But if you really want that version, you can:

  1. Fork this repo.
  2. Checkout a new branch based on https://github.com/rustdesk/rustdesk/tree/9a1fd1aa4f98f8b719a8e57b168cb9cda0356896
  3. Push to github.
  4. Create a nightly tag, push to github. like https://github.com/fufesou/rustdesk/tree/nightly
  5. Create a nightly pre-release. like https://github.com/fufesou/rustdesk/releases/tag/nightly
  6. Trigger a new action. like https://github.com/fufesou/rustdesk/actions/workflows/flutter-nightly.yml

Thanks a lot! And one thing a bug maybe is at nighly v1. 2.4 when you change windows injector.dllfor change the privacy mode image after try to use privacy mode both on remote and on physic stacks on the image instead of remote see the desktop and physic see the image

ive tryed this but i didnt make it at all do you have the nighly in exe and apk with 2nd privacy mode?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants