"waiting for image" issues #2107

Open
opened 2026-02-21 00:13:24 -05:00 by deekerman · 52 comments
Owner
Originally created by @rustdesk on GitHub (Sep 5, 2023). # Unresolved - [ ] https://github.com/rustdesk/rustdesk/issues/5608 - [ ] https://github.com/rustdesk/rustdesk/issues/2175 - [ ] https://github.com/rustdesk/rustdesk/issues/6419
Author
Owner

@Aqua1ung commented on GitHub (Sep 24, 2023):

Just FYI, I am getting this one on Android with the latest Rustdesk nightly as of Sept. 24, 2023. Client on Clear Linux, server on Android.

@Aqua1ung commented on GitHub (Sep 24, 2023): Just FYI, I am getting this one on Android with the latest Rustdesk nightly as of Sept. 24, 2023. Client on Clear Linux, server on Android.
Author
Owner

@mclovin-2k commented on GitHub (Oct 8, 2023):

I'm facing the same issue when I try to connected to a locked Android phone with Rustdesk v1.2.3.
I think this issue was happening since v1.2.1, but you can workaround this by clicking cancel button on the "waiting for image" dialog.
Since v1.2.2, clicking cancel button will disconnect the device, which make Rustdesk completely unusable on Android.

@mclovin-2k commented on GitHub (Oct 8, 2023): I'm facing the same issue when I try to connected to a locked Android phone with Rustdesk v1.2.3. I think this issue was happening since v1.2.1, but you can workaround this by clicking cancel button on the "waiting for image" dialog. Since v1.2.2, clicking cancel button will disconnect the device, which make Rustdesk completely unusable on Android.
Author
Owner

@Aqua1ung commented on GitHub (Oct 9, 2023):

The current workaround is to click the Home button (which will make the "Successful/Cancel" window disappear), and then click on the screen. (You may need to enable "Mobile Actions" to see the "Home" button.)

@Aqua1ung commented on GitHub (Oct 9, 2023): The current workaround is to click the Home button (which will make the "Successful/Cancel" window disappear), and then click on the screen. (You may need to enable "Mobile Actions" to see the "Home" button.)
Author
Owner

@Aqua1ung commented on GitHub (Oct 30, 2023):

Apparently this workaround ^ no longer works with the latest nightly (Oct. 30).

@Aqua1ung commented on GitHub (Oct 30, 2023): Apparently [this workaround](https://github.com/rustdesk/rustdesk/issues/5609#issuecomment-1753467612) ^ no longer works with the latest nightly (Oct. 30).
Author
Owner

@Aqua1ung commented on GitHub (Nov 2, 2023):

The workaround started working again with the latest 2 releases.

@Aqua1ung commented on GitHub (Nov 2, 2023): The workaround started working again with the latest 2 releases.
Author
Owner

@rustdesk commented on GitHub (Dec 18, 2023):

https://www.reddit.com/r/rustdesk/comments/18ig4ap/succesful_connected_waiting_for_image/

This was a rough one to fix.

The issue is evidently the Windows Lock Screen on login.

The fix was to install the program on both ends. Using the standalone at either end would not suffice.

Once installed, change the security settings to allow for keyboard and mouse.

This enables the ability to send a CTRL-ALT-DELETE, which magically then shows a picture of the lock screen on the rmote computer and enables logging in and finally remote operation.

@rustdesk commented on GitHub (Dec 18, 2023): https://www.reddit.com/r/rustdesk/comments/18ig4ap/succesful_connected_waiting_for_image/ > This was a rough one to fix. > > The issue is evidently the Windows Lock Screen on login. > > The fix was to install the program on both ends. Using the standalone at either end would not suffice. > > Once installed, change the security settings to allow for keyboard and mouse. > > This enables the ability to send a CTRL-ALT-DELETE, which magically then shows a picture of the lock screen on the rmote computer and enables logging in and finally remote operation.
Author
Owner

@mclovin-2k commented on GitHub (Feb 19, 2024):

https://www.reddit.com/r/rustdesk/comments/18ig4ap/succesful_connected_waiting_for_image/

This was a rough one to fix.
The issue is evidently the Windows Lock Screen on login.
The fix was to install the program on both ends. Using the standalone at either end would not suffice.
Once installed, change the security settings to allow for keyboard and mouse.
This enables the ability to send a CTRL-ALT-DELETE, which magically then shows a picture of the lock screen on the rmote computer and enables logging in and finally remote operation.

But Android didn't have this issue until v1.2.1 or v1.2.0.
Could you maybe fix this on Android first, please?
I think quickest way to do this is revert related code to older version or just remove this dialog on Android client.

@mclovin-2k commented on GitHub (Feb 19, 2024): > https://www.reddit.com/r/rustdesk/comments/18ig4ap/succesful_connected_waiting_for_image/ > > > This was a rough one to fix. > > The issue is evidently the Windows Lock Screen on login. > > The fix was to install the program on both ends. Using the standalone at either end would not suffice. > > Once installed, change the security settings to allow for keyboard and mouse. > > This enables the ability to send a CTRL-ALT-DELETE, which magically then shows a picture of the lock screen on the rmote computer and enables logging in and finally remote operation. But Android didn't have this issue until v1.2.1 or v1.2.0. Could you maybe fix this on Android first, please? I think quickest way to do this is revert related code to older version or just remove this dialog on Android client.
Author
Owner

@asdf4w3t5 commented on GitHub (Mar 4, 2024):

after arch linux update now rustdesk is getting this error. But I guess many devices have had it for a while

I can see their mouse moving but can't see the screen lol

FWIW I installed the flatpak and it all works now. I'll just delete the other version.

@asdf4w3t5 commented on GitHub (Mar 4, 2024): after arch linux update now rustdesk is getting this error. But I guess many devices have had it for a while I can see their mouse moving but can't see the screen lol FWIW I installed the flatpak and it all works now. I'll just delete the other version.
Author
Owner

@ArchPrime commented on GitHub (Aug 5, 2024):

The fix was to install the program on both ends. Using the standalone at either end would not suffice.

Once installed, change the security settings to allow for keyboard and mouse.

This enables the ability to send a CTRL-ALT-DELETE, which magically then shows a picture of the lock screen on the remote computer and enables logging in and finally remote operation.

That doesn't work for me. Remote computer is running installed 1.2.6 Client on Windows 10.

No other remote computer affected this way.

@ArchPrime commented on GitHub (Aug 5, 2024): > > The fix was to install the program on both ends. Using the standalone at either end would not suffice. > > Once installed, change the security settings to allow for keyboard and mouse. > > This enables the ability to send a CTRL-ALT-DELETE, which magically then shows a picture of the lock screen on the remote computer and enables logging in and finally remote operation. That doesn't work for me. Remote computer is running installed 1.2.6 Client on Windows 10. No other remote computer affected this way.
Author
Owner

@rustdesk commented on GitHub (Aug 20, 2024):

@ArchPrime please try out this, https://github.com/rustdesk/rustdesk/discussions/9124#discussioncomment-10391439

@rustdesk commented on GitHub (Aug 20, 2024): @ArchPrime please try out this, https://github.com/rustdesk/rustdesk/discussions/9124#discussioncomment-10391439
Author
Owner

@ArchPrime commented on GitHub (Aug 20, 2024):

@ArchPrime please try out this, #9124 (comment)

Thanks - will do as soon as I can, though I likely won't have physical access to the other end for a few weeks.

@ArchPrime commented on GitHub (Aug 20, 2024): > @ArchPrime please try out this, [#9124 (comment)](https://github.com/rustdesk/rustdesk/discussions/9124#discussioncomment-10391439) Thanks - will do as soon as I can, though I likely won't have physical access to the other end for a few weeks.
Author
Owner

@cesar93600 commented on GitHub (Dec 9, 2024):

Hello, I had the same problem.
Version 1.3.3 (installed or not).
From 2 machines (Windows Server and Desktop) to a Windows 10 Client.
It was not a network problem, I could transfer files in the background.
I disabled "Capture screen using DirectX".
Problem solved

@cesar93600 commented on GitHub (Dec 9, 2024): Hello, I had the same problem. Version 1.3.3 (installed or not). From 2 machines (Windows Server and Desktop) to a Windows 10 Client. It was not a network problem, I could transfer files in the background. I **disabled "Capture screen using DirectX"**. Problem solved
Author
Owner

@ArchPrime commented on GitHub (Dec 9, 2024):

Thanks – good to know. In my case uninstall and reinstall of version 1.3.1 on all machines also seemed to do the trick (but this required physical access to all machines)

From: cesar93600 @.>
Sent: Tuesday, 10 December 2024 3:48 am
To: rustdesk/rustdesk @.
>
Cc: Paul King @.>; Mention @.>
Subject: Re: [rustdesk/rustdesk] "waiting for image" issues (Issue #5609)

Hello, I had the same problem.
Version 1.3.3 (installed or not).
From 2 machines (Windows Server and Desktop) to a Windows 10 Client.
It was not a network problem, I could transfer files in the background.
I disabled "Capture screen using DirectX".
Problem solved


Reply to this email directly, view it on GitHubhttps://github.com/rustdesk/rustdesk/issues/5609#issuecomment-2528182738, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEBZ5YC5GR4WXRDMKS3YGEL2EWUQ5AVCNFSM6AAAAAA4L6OGO2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMRYGE4DENZTHA.
You are receiving this because you were mentioned.Message ID: @.@.>>

@ArchPrime commented on GitHub (Dec 9, 2024): Thanks – good to know. In my case uninstall and reinstall of version 1.3.1 on all machines also seemed to do the trick (but this required physical access to all machines) From: cesar93600 ***@***.***> Sent: Tuesday, 10 December 2024 3:48 am To: rustdesk/rustdesk ***@***.***> Cc: Paul King ***@***.***>; Mention ***@***.***> Subject: Re: [rustdesk/rustdesk] "waiting for image" issues (Issue #5609) Hello, I had the same problem. Version 1.3.3 (installed or not). From 2 machines (Windows Server and Desktop) to a Windows 10 Client. It was not a network problem, I could transfer files in the background. I disabled "Capture screen using DirectX". Problem solved — Reply to this email directly, view it on GitHub<https://github.com/rustdesk/rustdesk/issues/5609#issuecomment-2528182738>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AEBZ5YC5GR4WXRDMKS3YGEL2EWUQ5AVCNFSM6AAAAAA4L6OGO2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMRYGE4DENZTHA>. You are receiving this because you were mentioned.Message ID: ***@***.******@***.***>>
Author
Owner

@21pages commented on GitHub (Dec 9, 2024):

If disabling the Capture screen using DirectX option resolves your issue, I would like to further investigate the problem with it. Please run the program below on the controlled side and enable the Capture screen using DirectX option.
When you see waiting for image, please upload the log file from the controlled side.

https://github.com/21pages/rustdesk/releases/download/directx/rustdesk-1.3.5-x86_64.exe

Log file path:

If not installed on the controlled side: %AppData%\RustDesk\log\RustDesk_rCURRENT.log
If installed on the controlled side: C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\log\server\RustDesk_rCURRENT.log
The log file contains lots of ====DEBUG==== lines. Remove personal informations before upload the file.

@21pages commented on GitHub (Dec 9, 2024): If disabling the `Capture screen using DirectX` option resolves your issue, I would like to further investigate the problem with it. Please run the program below on the controlled side and enable the `Capture screen using DirectX` option. When you see waiting for image, please upload the log file from the controlled side. https://github.com/21pages/rustdesk/releases/download/directx/rustdesk-1.3.5-x86_64.exe Log file path: If not installed on the controlled side: `%AppData%\RustDesk\log\RustDesk_rCURRENT.log` If installed on the controlled side: `C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\log\server\RustDesk_rCURRENT.log` The log file contains lots of `====DEBUG====` lines. Remove personal informations before upload the file.
Author
Owner

@cesar93600 commented on GitHub (Dec 10, 2024):

Unfortunately I could not reproduce the error.
When I launched your version 1.3.5 (i could not connect the server), i had to start the service (but it was version 1.3.3 that was launched because it was installed).
I uninstalled 1.3.3, with 1.3.5 I no longer had the "waiting for image" error.
I reinstalled 1.3.3 with the .msi (I no longer had the "waiting for image" error either).
I will soon deploy Rustdesk on other workstations, I will try first with your version 1.3.5 (DEBUG).

@cesar93600 commented on GitHub (Dec 10, 2024): Unfortunately I could not reproduce the error. When I launched your version 1.3.5 (i could not connect the server), i had to start the service (but it was version 1.3.3 that was launched because it was installed). I uninstalled 1.3.3, with 1.3.5 I no longer had the "waiting for image" error. I reinstalled 1.3.3 with the .msi (I no longer had the "waiting for image" error either). I will soon deploy Rustdesk on other workstations, I will try first with your version 1.3.5 (DEBUG).
Author
Owner

@21pages commented on GitHub (Dec 10, 2024):

Thanks

@21pages commented on GitHub (Dec 10, 2024): Thanks
Author
Owner

@cesar93600 commented on GitHub (Dec 10, 2024):

I attach the logs of 1.3.3.
Maybe a clue.
RustDesk_rCURRENT_1.3.3_WAITING_FOR_IMAGE.log
RustDesk_rCURRENT_1.3.3_DISABLED_DIRECTX.log

@cesar93600 commented on GitHub (Dec 10, 2024): I attach the logs of 1.3.3. Maybe a clue. [RustDesk_rCURRENT_1.3.3_WAITING_FOR_IMAGE.log](https://github.com/user-attachments/files/18076400/RustDesk_rCURRENT_1.3.3_WAITING_FOR_IMAGE.log) [RustDesk_rCURRENT_1.3.3_DISABLED_DIRECTX.log](https://github.com/user-attachments/files/18076410/RustDesk_rCURRENT_1.3.3_DISABLED_DIRECTX.log)
Author
Owner

@21pages commented on GitHub (Dec 10, 2024):

Thank you, the log is in the file named with the occurrence time

1733823210422

1733822813346

@21pages commented on GitHub (Dec 10, 2024): Thank you, the log is in the file named with the occurrence time ![1733823210422](https://github.com/user-attachments/assets/5434446f-ca22-45b6-8344-a3fad8f08f02) ![1733822813346](https://github.com/user-attachments/assets/51149ff6-f06a-4a92-b56f-2f362084aa58)
Author
Owner

@cesar93600 commented on GitHub (Dec 11, 2024):

Sorry, I was not available.
Here are all the logs.
logs.zip

@cesar93600 commented on GitHub (Dec 11, 2024): Sorry, I was not available. Here are all the logs. [logs.zip](https://github.com/user-attachments/files/18094349/logs.zip)
Author
Owner

@21pages commented on GitHub (Dec 11, 2024):

Thank you, I found an anomaly in the logs. The hardware encoding got stuck while encoding the second frame. You don't need to disable DirectX; just disable hardware encoding. I will put the modified program here, and if you have time, you can test it. This will help us a lot.

Tests that will help:

  1. Enable directx, enable hwcodec, change codec between h264/h265 and vp8/vp9/av1, maybe h264/h265 not work but vp8/vp9/av1 work.
  2. This program uses the latest FFmpeg and the latest AMF driver, https://github.com/21pages/rustdesk/releases/download/update_vcpkg_build/rustdesk-1.3.5-x86_64.exe
  3. Enable directx, enable hwcodec, try https://github.com/21pages/rustdesk/releases/download/hwcodec-stuck-log-build/rustdesk-1.3.5-x86_64.exe with h264, it shows which step it stucks.

1733918119949

@21pages commented on GitHub (Dec 11, 2024): Thank you, I found an anomaly in the logs. The hardware encoding got stuck while encoding the second frame. You don't need to disable DirectX; just disable hardware encoding. I will put the modified program here, and if you have time, you can test it. This will help us a lot. Tests that will help: 1. Enable directx, enable hwcodec, change codec between h264/h265 and vp8/vp9/av1, maybe h264/h265 not work but vp8/vp9/av1 work. 2. This program uses the latest FFmpeg and the latest AMF driver, https://github.com/21pages/rustdesk/releases/download/update_vcpkg_build/rustdesk-1.3.5-x86_64.exe 3. Enable directx, enable hwcodec, try https://github.com/21pages/rustdesk/releases/download/hwcodec-stuck-log-build/rustdesk-1.3.5-x86_64.exe with h264, it shows which step it stucks. ![1733918119949](https://github.com/user-attachments/assets/282cbcad-4086-4726-bef1-e15c78b941ea)
Author
Owner

@cesar93600 commented on GitHub (Dec 11, 2024):

Today, I was able to reproduce the error "waiting for image" (disabling "Hardware Codec" solves the problem).
But you have to restart Rustdesk after disabling and re-enabling "Hardware Codec" otherwise message "waiting for image".

I perform the tests by connecting in parallel with Anydesk.

I did the tests with the uninstalled versions 1.3.5 official, debug version from yesterday, hwcodec-stuck and update_vcpkg.
The results are the same.

Settings
Show quality Monitor : Enabled
Default codec : Auto
2024-12-11_16-29-09

Hardware Codec : Enabled
Codec: AUTO (H264)
No error but the image is frozen, even if i switch between VP8, VP9, ​​AV1, H264 and AUTO.
The mouse and keyboard work.
Show quality Monitor

  • Speed ​​: 0.01kB/s
  • Codec : H264 (does not change, even when switching between codecs)

Hardware Codec : Disabled
Codec : AUTO (VP9)
No error, switch OK between VP8, VP9, ​​AV1 and AUTO.
Show quality Monitor

  • Speed ​​: Activity...
  • Codec : Updates according to the selected codec

logs.zip

@cesar93600 commented on GitHub (Dec 11, 2024): Today, I was able to reproduce the error "waiting for image" (disabling "Hardware Codec" solves the problem). But you have to restart Rustdesk after disabling and re-enabling "Hardware Codec" otherwise message "waiting for image". I perform the tests by connecting in parallel with Anydesk. I did the tests with the uninstalled versions 1.3.5 official, debug version from yesterday, hwcodec-stuck and update_vcpkg. The results are the same. Settings Show quality Monitor : Enabled Default codec : Auto ![2024-12-11_16-29-09](https://github.com/user-attachments/assets/ea931d85-24e1-474c-a684-e185bed613e4) Hardware Codec : Enabled Codec: AUTO (H264) No error but the image is frozen, even if i switch between VP8, VP9, ​​AV1, H264 and AUTO. The mouse and keyboard work. Show quality Monitor - Speed ​​: 0.01kB/s - Codec : H264 (does not change, even when switching between codecs) Hardware Codec : Disabled Codec : AUTO (VP9) No error, switch OK between VP8, VP9, ​​AV1 and AUTO. Show quality Monitor - Speed ​​: Activity... - Codec : Updates according to the selected codec [logs.zip](https://github.com/user-attachments/files/18098588/logs.zip)
Author
Owner

@21pages commented on GitHub (Dec 11, 2024):

Thanks for all the tests, it stuck at avcodec_send_frame, it's very helpful!
1733932389589

@21pages commented on GitHub (Dec 11, 2024): Thanks for all the tests, it stuck at `avcodec_send_frame`, it's very helpful! ![1733932389589](https://github.com/user-attachments/assets/42e739f2-01f2-47ad-a198-19d80397f7ea)
Author
Owner

@21pages commented on GitHub (Dec 13, 2024):

@cesar93600 I still have some questions, you can do the following when you have time,

  1. When waiting for image happens, not stop the RustDesk process, just disable DirectX option, connect again, will waiting for image disappear? I want to confirm wheter stop the RustDesk process is needed for the disable DirectX option to take effect, if need to stop RustDesk process, it's stuck.

  2. New logs added into FFmpeg source code in this link:
    https://github.com/21pages/rustdesk/releases/download/hwcodec-stuck-log-build/rustdesk-1.3.5-x86_64.exe
    Could you try it with Hwcodec and directx enabled and show the log?
    Better to show 2 kinds of logs, one is waiting for image, another is frozen image.

  3. Change the FFmpeg source code, this program may fix the stuck. Enable directx, enable hwcodec, use h264, if fallback to software encoders, it works. https://github.com/21pages/rustdesk/releases/download/hwcodec-stuck-log-build/rustdesk-1.3.5-x86_64-try-fix.exe

  4. What is your GPU graphics card and driver version?

  5. When running the following command using ffmpeg in the command line, can it succeed?

ffmpeg -i h265.mp4 -c:v h264_amf h264.mp4
https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-7.0.2-full_build.7z
h265.zip

@21pages commented on GitHub (Dec 13, 2024): @cesar93600 I still have some questions, you can do the following when you have time, 1. When waiting for image happens, not stop the RustDesk process, just disable DirectX option, connect again, will waiting for image disappear? I want to confirm wheter stop the RustDesk process is needed for the disable DirectX option to take effect, if need to stop RustDesk process, it's stuck. 2. New logs added into FFmpeg source code in this link: https://github.com/21pages/rustdesk/releases/download/hwcodec-stuck-log-build/rustdesk-1.3.5-x86_64.exe Could you try it with Hwcodec and directx enabled and show the log? Better to show 2 kinds of logs, one is waiting for image, another is frozen image. 3. Change the FFmpeg source code, this program may fix the stuck. Enable directx, enable hwcodec, use h264, if fallback to software encoders, it works. https://github.com/21pages/rustdesk/releases/download/hwcodec-stuck-log-build/rustdesk-1.3.5-x86_64-try-fix.exe 4. What is your GPU graphics card and driver version? 5. When running the following command using ffmpeg in the command line, can it succeed? `ffmpeg -i h265.mp4 -c:v h264_amf h264.mp4` https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-7.0.2-full_build.7z [h265.zip](https://github.com/user-attachments/files/18133891/h265.zip)
Author
Owner

@cesar93600 commented on GitHub (Dec 16, 2024):

I confirm, you have to restart Rustdesk to apply the changes correctly.
Otherwise "freeze" or "waiting for image".
Reboot (HW and/or DX disabled)
1 - Enable HW or DX (reconnect without restart) "freeze"
2 - Disable HW or DX (reconnect without restart) "waiting for image"

No problem with the version "rustdesk-1.3.5-x86_64-try-fix.exe"

Video Chipset : AMD Radeaon R5 Series

Video conversion works with ffmpeg.

I have attached all the logs and screenshots. logs.zip

@cesar93600 commented on GitHub (Dec 16, 2024): I confirm, you have to restart Rustdesk to apply the changes correctly. Otherwise "freeze" or "waiting for image". Reboot (HW and/or DX disabled) 1 - Enable HW or DX (reconnect without restart) "freeze" 2 - Disable HW or DX (reconnect without restart) "waiting for image" No problem with the version "rustdesk-1.3.5-x86_64-try-fix.exe" Video Chipset : AMD Radeaon R5 Series Video conversion works with ffmpeg. I have attached all the logs and screenshots. [logs.zip](https://github.com/user-attachments/files/18148841/logs.zip)
Author
Owner

@21pages commented on GitHub (Dec 16, 2024):

Thanks for your test, according to the logs, I can confirm it's caused by FFmpeg amf encode stuck, and https://github.com/rustdesk/rustdesk/pull/10283 may fix it, but because it shows vram_encode: [] in the try_fix logs, the fallback can't be tested, could you try more times?

Only test the condition below:

Use https://github.com/21pages/rustdesk/releases/download/hwcodec-stuck-log-build/rustdesk-1.3.5-x86_64-try-fix.exe, enable hwcodec, enable directx.

  • if vram_encode: [FeatureContext is in the latest log, connect with h264, it should fallback to VP9, test end.

  • if vram_encode: [] is in the latest log, restart RustDesk and check the latest log.

If you can' see vram_encode: [FeatureContext after many times, could you show the logs in %appdata%\RustDesk\log\check-hwcodec-config after restarting try-fix program?

Video conversion works with ffmpeg.

So it still needs improvement.

@21pages commented on GitHub (Dec 16, 2024): Thanks for your test, according to the logs, I can confirm it's caused by FFmpeg amf encode stuck, and https://github.com/rustdesk/rustdesk/pull/10283 may fix it, but because it shows `vram_encode: []` in the `try_fix` logs, the fallback can't be tested, could you try more times? Only test the condition below: Use https://github.com/21pages/rustdesk/releases/download/hwcodec-stuck-log-build/rustdesk-1.3.5-x86_64-try-fix.exe, enable hwcodec, enable directx. * if `vram_encode: [FeatureContext` is in the latest log, connect with h264, it should fallback to VP9, test end. * if `vram_encode: []` is in the latest log, restart RustDesk and check the latest log. If you can' see `vram_encode: [FeatureContext` after many times, could you show the logs in `%appdata%\RustDesk\log\check-hwcodec-config` after restarting `try-fix` program? > Video conversion works with ffmpeg. So it still needs improvement.
Author
Owner

@cesar93600 commented on GitHub (Dec 16, 2024):

With the version "rustdesk-1.3.5-x86_64-try-fix.exe" I don't have the H264 option, it automatically connects with VP9.
2024-12-16_12-38-05

Even if I select VP8, AV1 or H264 in the settings and restart Rustdesk on both sides.
2024-12-16_12-37-44

But it switches (between VP8, VP9 and AV1) if I change the codec live.

@cesar93600 commented on GitHub (Dec 16, 2024): With the version "rustdesk-1.3.5-x86_64-try-fix.exe" I don't have the H264 option, it automatically connects with VP9. ![2024-12-16_12-38-05](https://github.com/user-attachments/assets/5d59989e-9434-4391-a46a-03cd0906c29a) Even if I select VP8, AV1 or H264 in the settings and restart Rustdesk on both sides. ![2024-12-16_12-37-44](https://github.com/user-attachments/assets/b9d92a15-e6a4-4845-9bdf-9154cd79adab) But it switches (between VP8, VP9 and AV1) if I change the codec live.
Author
Owner

@21pages commented on GitHub (Dec 16, 2024):

The reason is that there is a check process at RustDesk startup, it filters the h264, and treat h264 as unusable.

  1. Could you show %appdata%\RustDesk\log\check-hwcodec-config first?
  2. You can connect using VP9 to see if the h264 option is shown. If it is, select it, it should fallback to vp9; If the h264 option is not displayed, restart RustDesk.

In early tests, it can encode one image, but it may not able to encode one image with this program. If you try several times, it still not shows, feel free to stop trying.

  1. Test with the latest nightly https://github.com/rustdesk/rustdesk/releases/download/nightly/rustdesk-1.3.5-x86_64.exe, "waiting for image" or "image freeze" should never occur.
@21pages commented on GitHub (Dec 16, 2024): The reason is that there is a check process at RustDesk startup, it filters the h264, and treat h264 as unusable. 1. Could you show `%appdata%\RustDesk\log\check-hwcodec-config` first? 2. You can connect using VP9 to see if the h264 option is shown. If it is, select it, it should fallback to vp9; If the h264 option is not displayed, restart RustDesk. In early tests, it can encode one image, but it may not able to encode one image with this program. If you try several times, it still not shows, feel free to stop trying. 3. Test with the latest nightly https://github.com/rustdesk/rustdesk/releases/download/nightly/rustdesk-1.3.5-x86_64.exe, "waiting for image" or "image freeze" should never occur.
Author
Owner

@cesar93600 commented on GitHub (Dec 16, 2024):

With version "1.3.5_try-fix"
I don't have the h264 option, even if I restart several times.

With version "1.3.5_nightly"
I have the "freeze" and "waiting for image" (restart necessary to apply the settings correctly)
When I switched live between VP9 and h264, it remained stuck on h264.
h264 only appears if HW and DX are enabled.
logs.zip

@cesar93600 commented on GitHub (Dec 16, 2024): With version "1.3.5_try-fix" I don't have the h264 option, even if I restart several times. With version "1.3.5_nightly" I have the "freeze" and "waiting for image" (restart necessary to apply the settings correctly) When I switched live between VP9 and h264, it remained stuck on h264. h264 only appears if HW and DX are enabled. [logs.zip](https://github.com/user-attachments/files/18150197/logs.zip)
Author
Owner

@21pages commented on GitHub (Dec 16, 2024):

Thanks for the tests, sorry, we forgot to clear cache before build FFmpeg, please try next nightly.

@21pages commented on GitHub (Dec 16, 2024): Thanks for the tests, sorry, we forgot to clear cache before build FFmpeg, please try next nightly.
Author
Owner

@21pages commented on GitHub (Dec 16, 2024):

The new nightly is ready, https://github.com/rustdesk/rustdesk/releases/download/nightly/rustdesk-1.3.5-x86_64.exe. expect: "waiting for image" or "image freeze" should never occur, and no h264 option.

@21pages commented on GitHub (Dec 16, 2024): The new nightly is ready, https://github.com/rustdesk/rustdesk/releases/download/nightly/rustdesk-1.3.5-x86_64.exe. expect: "waiting for image" or "image freeze" should never occur, and no h264 option.
Author
Owner

@cesar93600 commented on GitHub (Dec 16, 2024):

With this version everything works fine, in portable or installed version.

On a workstation that was causing problems.
HW and DX enabled, no "freeze" or "waiting for image", no h264 option and switch between codecs ok.
logs.zip

On a workstation that was not causing problems.
HW and DX enabled, h264 option available and switch between codecs ok.

Thanks for your work.

A particular behavior:
With the portable version if the service is not started it does not connect to the Rustdesk server (maybe because of a previous installation)

@cesar93600 commented on GitHub (Dec 16, 2024): With this version everything works fine, in portable or installed version. On a workstation that was causing problems. HW and DX enabled, no "freeze" or "waiting for image", no h264 option and switch between codecs ok. [logs.zip](https://github.com/user-attachments/files/18152240/logs.zip) On a workstation that was not causing problems. HW and DX enabled, h264 option available and switch between codecs ok. Thanks for your work. A particular behavior: With the portable version if the service is not started it does not connect to the Rustdesk server (maybe because of a previous installation)
Author
Owner

@datafeng commented on GitHub (Feb 8, 2025):

Image
@datafeng commented on GitHub (Feb 8, 2025): <img width="254" alt="Image" src="https://github.com/user-attachments/assets/a52f23c8-22a4-4c18-93b6-69ef3c2b8ae8" />
Author
Owner

@gepbird commented on GitHub (Feb 20, 2025):

Having this issue with rustdesk 1.3.7 on linux. A workaround I'm using is changing the codecs from the default H264 to anything else for the session when I see the "Successful; Connected, waiting for image" message.

It could be a packaging issue at nixpkgs, I'll investigate.

@gepbird commented on GitHub (Feb 20, 2025): Having this issue with rustdesk 1.3.7 on linux. A workaround I'm using is changing the codecs from the default H264 to anything else for the session when I see the "Successful; Connected, waiting for image" message. It could be a packaging issue at [nixpkgs](https://github.com/NixOS/nixpkgs), I'll investigate.
Author
Owner

@Aqua1ung commented on GitHub (Mar 13, 2025):

Any news about this?

@Aqua1ung commented on GitHub (Mar 13, 2025): Any news about this?
Author
Owner

@EvanZhu2000 commented on GitHub (Mar 31, 2025):

still experiencing this issue 1.3.8 mac, any updates?

@EvanZhu2000 commented on GitHub (Mar 31, 2025): still experiencing this issue 1.3.8 mac, any updates?
Author
Owner

@Alfex4936 commented on GitHub (Apr 10, 2025):

happened sometimes on windows11, new version.

some problems of lock or smth idk (or dual monitor setup), it happens so rarely.

I could fix it by adding virtual display and move around

@Alfex4936 commented on GitHub (Apr 10, 2025): happened sometimes on windows11, new version. some problems of lock or smth idk (or dual monitor setup), it happens so rarely. I could fix it by adding virtual display and move around
Author
Owner

@campodoro74 commented on GitHub (Apr 29, 2025):

Still same problem. Mac console, Pixel client: waiting for image

@campodoro74 commented on GitHub (Apr 29, 2025): Still same problem. Mac console, Pixel client: waiting for image
Author
Owner

@grocal commented on GitHub (Jul 19, 2025):

I can reproduce that error easily.

Android -> Windows 10

Both 1.4.0

Windows 10 has 3 monitors connected and turned on. OS detects 3 of them. Start Rustdesk - in my case as a service with my own ID/relay server. Now fire up Rustdesk on Android and connect. It works.

And now turn monitors off. In my case OS ends up with only one monitor active/detected (two monitors are display port connected so turning them off disconnects them). Try to connect from Android now. Pop-up on that last monitor shows up that there's connection but "waiting for image" stays on Android.

If now I restart Rustdesk on Windows I can connect while one monitor is active. Then if I turn other monitors on - problem comes back.

TLDR; If you change monitor configuration while Rustdesk is on and change their number you will have "waiting for image". Locking Windows with multiple active monitors is the same situation as locking turns off other monitors except the main one.

I hope I helped a little.

@grocal commented on GitHub (Jul 19, 2025): I can reproduce that error easily. Android -> Windows 10 Both 1.4.0 Windows 10 has 3 monitors connected and turned on. OS detects 3 of them. Start Rustdesk - in my case as a service with my own ID/relay server. Now fire up Rustdesk on Android and connect. It works. And now turn monitors off. In my case OS ends up with only one monitor active/detected (two monitors are display port connected so turning them off disconnects them). Try to connect from Android now. Pop-up on that last monitor shows up that there's connection but "waiting for image" stays on Android. If now I restart Rustdesk on Windows I can connect while one monitor is active. Then if I turn other monitors on - problem comes back. TLDR; If you change monitor configuration while Rustdesk is on and change their number you will have "waiting for image". Locking Windows with multiple active monitors is the same situation as locking turns off other monitors except the main one. I hope I helped a little.
Author
Owner

@kanslor commented on GitHub (Sep 12, 2025):

I also encountered the "waiting for image" situation.
My controlled client is Windows Server 2012 R2, and it is located far away from the relay server, so the connection from my side is very slow.
When connecting, the same issue occurs. At that time, I noticed that the mouse on my controlled client (desktop mode)would move to the top-left corner, and it seemed as if a right-click operation was performed, causing a context menu to appear.

Would this information help you identify the root cause of the problem?

The Client Version is 1.4.1(lates version)

@kanslor commented on GitHub (Sep 12, 2025): I also encountered the "waiting for image" situation. My controlled client is Windows Server 2012 R2, and it is located far away from the relay server, so the connection from my side is very slow. When connecting, the same issue occurs. At that time, I noticed that the mouse on my controlled client (desktop mode)would move to the top-left corner, and it seemed as if a right-click operation was performed, causing a context menu to appear. Would this information help you identify the root cause of the problem? The Client Version is 1.4.1(lates version)
Author
Owner

@21pages commented on GitHub (Sep 12, 2025):

@kanslor

Thanks for your feedback, could you try out https://github.com/21pages/rustdesk/releases/tag/waiting-for-image both sides and show the log lines containing ====? https://github.com/rustdesk/rustdesk/wiki/FAQ#access-logs

@21pages commented on GitHub (Sep 12, 2025): @kanslor Thanks for your feedback, could you try out https://github.com/21pages/rustdesk/releases/tag/waiting-for-image both sides and show the log lines containing `====`? https://github.com/rustdesk/rustdesk/wiki/FAQ#access-logs
Author
Owner

@kanslor commented on GitHub (Sep 12, 2025):

@21pages I used this vserion and test for connection, I can't find any log lines containing ====DEBUG====

the whole log lines lists:

[2025-09-12 16:23:04.345265 +08:00] INFO [src\server.rs:600] server not started: 系统找不到指定的文件。 (os error 2), no_server: false
[2025-09-12 16:23:04.348134 +08:00] INFO [libs\hbb_common\src\config.rs:1455] Preload peers done in 3.8444ms, batch_count: 100, total: 7
[2025-09-12 16:23:04.352050 +08:00] INFO [src\server.rs:605] try start server
[2025-09-12 16:23:04.354493 +08:00] INFO [src\ipc.rs:337] Started ipc server at path: \\.\pipe\RustDesk\query
[2025-09-12 16:23:04.360666 +08:00] INFO [src\common.rs:586] Testing nat ...
[2025-09-12 16:23:04.379548 +08:00] ERROR [src\server.rs:147] printer service init failed: Failed to init printer driver
[2025-09-12 16:23:04.380649 +08:00] INFO [libs\scrap\src\common\codec.rs:1046] skip test av1
[2025-09-12 16:23:04.382094 +08:00] INFO [src\lan.rs:31] lan discovery listener started
[2025-09-12 16:23:04.427673 +08:00] DEBUG [src\common.rs:614] Got nat response from test.sample.com:21116: port=8589
[2025-09-12 16:23:04.472791 +08:00] DEBUG [src\common.rs:614] Got nat response from test.sample.com:21115: port=8589
[2025-09-12 16:23:04.473053 +08:00] INFO [src\common.rs:640] Tested nat type: ASYMMETRIC in 112.0997ms
[2025-09-12 16:23:04.526138 +08:00] WARN [src\common.rs:1903] Failed to bind IPv6 socket: Failed to resolve STUN ipv6 server address: stun.l.google.com:19302
[2025-09-12 16:23:04.544581 +08:00] ERROR [src\common.rs:1955] Failed to get public IPv6 address: Failed to resolve STUN ipv6 server address: stun.nextcloud.com:3478
[2025-09-12 16:23:06.787476 +08:00] INFO [libs\scrap\src\common\hwcodec.rs:524] set hwcodec config
[2025-09-12 16:23:06.787520 +08:00] DEBUG [libs\scrap\src\common\hwcodec.rs:525] HwCodecConfig { signature: 18014403147105380, ram_encode: [CodecInfo { name: "h264_amf", mc_name: None, format: H264, priority: 0, hwdevice: AV_HWDEVICE_TYPE_NONE }, CodecInfo { name: "hevc_amf", mc_name: None, format: H265, priority: 0, hwdevice: AV_HWDEVICE_TYPE_NONE }], ram_decode: [CodecInfo { name: "h264", mc_name: None, format: H264, priority: 0, hwdevice: AV_HWDEVICE_TYPE_D3D11VA }, CodecInfo { name: "hevc", mc_name: None, format: H265, priority: 0, hwdevice: AV_HWDEVICE_TYPE_D3D11VA }, CodecInfo { name: "h264", mc_name: None, format: H264, priority: 3, hwdevice: AV_HWDEVICE_TYPE_NONE }, CodecInfo { name: "hevc", mc_name: None, format: H265, priority: 3, hwdevice: AV_HWDEVICE_TYPE_NONE }], vram_encode: [FeatureContext { driver: FFMPEG, vendor: AMF, luid: 76497, data_format: H264 }, FeatureContext { driver: FFMPEG, vendor: AMF, luid: 113433, data_format: H264 }, FeatureContext { driver: FFMPEG, vendor: AMF, luid: 76497, data_format: H265 }, FeatureContext { driver: FFMPEG, vendor: AMF, luid: 113433, data_format: H265 }], vram_decode: [DecodeContext { device: None, driver: FFMPEG, vendor: AMF, luid: 76497, data_format: H264 }, DecodeContext { device: None, driver: FFMPEG, vendor: AMF, luid: 113433, data_format: H264 }, DecodeContext { device: None, driver: FFMPEG, vendor: AMF, luid: 76497, data_format: H265 }, DecodeContext { device: None, driver: FFMPEG, vendor: AMF, luid: 113433, data_format: H265 }] }
[2025-09-12 16:23:07.397889 +08:00] INFO [libs\scrap\src\common\hwcodec.rs:743] Check hwcodec config, exit with: exit code: 0
[2025-09-12 16:23:13.411174 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== add tag 0 to _dialogs
[2025-09-12 16:23:13.411201 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== insert dialog to overlayState: 0
[2025-09-12 16:23:13.411963 +08:00] INFO [src\flutter.rs:1401] Session 164633566 start, use texture render: true
[2025-09-12 16:23:13.412641 +08:00] INFO [libs\clipboard\src\context_send.rs:41] clipboard context for file transfer created.
[2025-09-12 16:23:13.433963 +08:00] DEBUG [src\client.rs:392] TCP connection establishment time used: 20.1468ms
[2025-09-12 16:23:13.434022 +08:00] INFO [src\client.rs:407] rendezvous server: test.sample.com:21116
[2025-09-12 16:23:13.434216 +08:00] INFO [src\client.rs:470] #1 TCP punch attempt with 192.168.0.108:6022, id: 164633566
[2025-09-12 16:23:13.566714 +08:00] INFO [src\client.rs:532] relay requested from peer, time used: 152.8957ms, relay_server: test.sample.com
[2025-09-12 16:23:13.589690 +08:00] INFO [src\client.rs:572] 22.7902ms used to establish Relay connection
[2025-09-12 16:23:13.639915 +08:00] DEBUG [src\client\io_loop.rs:204] get cliprdr client for conn_id 1
[2025-09-12 16:23:13.831992 +08:00] DEBUG [src\ui_session_interface.rs:1718] handle_peer_info :PeerInfo { username: "Administrator", hostname: "server2012_database", platform: "Windows", displays: [DisplayInfo { x: 0, y: 0, width: 1024, height: 768, name: "\\\\.\\DISPLAY1", online: true, cursor_embedded: false, original_resolution: MessageField(Some(Resolution { width: 1024, height: 768, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), scale: 1.0, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }], current_display: 0, sas_enabled: true, version: "1.4.2", features: MessageField(Some(Features { privacy_mode: true, terminal: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), encoding: MessageField(Some(SupportedEncoding { h264: false, h265: false, vp8: true, av1: true, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), resolutions: MessageField(Some(SupportedResolutions { resolutions: [Resolution { width: 640, height: 480, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 800, height: 600, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1024, height: 768, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1152, height: 864, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1280, height: 960, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1400, height: 1050, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1600, height: 1200, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1920, height: 1440, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 2048, height: 1536, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 2560, height: 1920, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 854, height: 480, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1280, height: 720, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1366, height: 768, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1920, height: 1080, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 2560, height: 1440, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 3840, height: 2160, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1280, height: 800, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1440, height: 900, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1680, height: 1050, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1920, height: 1200, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 2560, height: 1600, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 2880, height: 1800, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 3840, height: 2400, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 720, height: 480, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 720, height: 576, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 800, height: 480, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1280, height: 768, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1280, height: 1024, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }], special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), platform_additions: "{\"has_file_clipboard\":true,\"idd_impl\":\"amyuni_idd\",\"is_installed\":true,\"support_view_camera\":true,\"supported_privacy_mode_impl\":[[\"privacy_mode_impl_mag\",\"privacy_mode_impl_mag_tip\"],[\"privacy_mode_impl_virtual_display\",\"privacy_mode_impl_virtual_display_tip\"]]}", windows_sessions: MessageField(None), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }
[2025-09-12 16:23:13.837192 +08:00] INFO [src\client.rs:2561] peer info supported_encoding:SupportedEncoding { h264: false, h265: false, vp8: true, av1: true, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }
[2025-09-12 16:23:13.838454 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== kMsgboxTextWaitingForImage
[2025-09-12 16:23:13.838522 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== insert dialog to overlayState: 3043d802-253b-4d80-9eba-6d5813be1a8a-waiting-for-image
[2025-09-12 16:23:13.838468 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== add tag 3043d802-253b-4d80-9eba-6d5813be1a8a-waiting-for-image to _dialogs
[2025-09-12 16:23:13.838552 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== set waitForImageDialogShow to true
[2025-09-12 16:23:13.838457 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== showConnectedWaitingForImage, waitForFirstImage.value: true
[2025-09-12 16:23:13.886969 +08:00] INFO [src\clipboard.rs:812] Subscribe clipboard listener: client-clipboard
[2025-09-12 16:23:13.887022 +08:00] INFO [src\clipboard.rs:821] Start clipboard listener thread
[2025-09-12 16:23:13.887996 +08:00] INFO [src\clipboard.rs:838] Clipboard listener thread started
[2025-09-12 16:23:13.888057 +08:00] INFO [src\clipboard.rs:841] Clipboard listener subscribed: client-clipboard
[2025-09-12 16:23:13.888081 +08:00] INFO [src\client.rs:982] Start client clipboard loop
[2025-09-12 16:23:13.887992 +08:00] DEBUG [src\clipboard.rs:876] Clipboard listener started
[2025-09-12 16:23:13.888306 +08:00] DEBUG [src\client\io_loop.rs:2235] handling cliprdr msg from server peer
[2025-09-12 16:23:13.888331 +08:00] DEBUG [src\client\io_loop.rs:2253] Process clipboard message from server peer, stop: false, is_stopping_allowed: true, file_transfer_enabled: true
[2025-09-12 16:23:13.888345 +08:00] DEBUG [libs\clipboard\src\platform\windows.rs:646] server_monitor_ready called
[2025-09-12 16:23:13.888359 +08:00] DEBUG [libs\clipboard\src\platform\windows.rs:648] server_monitor_ready called, conn_id 1, return 0
[2025-09-12 16:23:13.888372 +08:00] DEBUG [src\client\io_loop.rs:2235] handling cliprdr msg from server peer
[2025-09-12 16:23:13.888384 +08:00] DEBUG [src\client\io_loop.rs:2253] Process clipboard message from server peer, stop: false, is_stopping_allowed: true, file_transfer_enabled: true
[2025-09-12 16:23:13.888395 +08:00] DEBUG [libs\clipboard\src\platform\windows.rs:646] server_monitor_ready called
[2025-09-12 16:23:13.888431 +08:00] DEBUG [libs\clipboard\src\platform\windows.rs:648] server_monitor_ready called, conn_id 1, return 0
[2025-09-12 16:23:19.590666 +08:00] DEBUG [src\client\io_loop.rs:321] Exit io_loop of id=164633566
[2025-09-12 16:23:19.590826 +08:00] INFO [src\clipboard.rs:846] Unsubscribe clipboard listener: client-clipboard
[2025-09-12 16:23:19.590869 +08:00] INFO [src\clipboard.rs:857] Stop clipboard listener thread
[2025-09-12 16:23:19.590982 +08:00] DEBUG [src\clipboard.rs:880] Clipboard listener stopped
[2025-09-12 16:23:19.590879 +08:00] DEBUG [src\client.rs:1000] Clipboard listener stopped
[2025-09-12 16:23:19.591140 +08:00] INFO [src\client.rs:1014] Stop client clipboard loop
[2025-09-12 16:23:19.591812 +08:00] INFO [src\clipboard.rs:860] Clipboard listener thread stopped
[2025-09-12 16:23:19.591857 +08:00] INFO [src\clipboard.rs:863] Clipboard listener unsubscribed: client-clipboard
[2025-09-12 16:23:19.591888 +08:00] DEBUG [src\clipboard.rs:169] try to empty client cliprdr for conn_id 1
[2025-09-12 16:23:19.591937 +08:00] INFO [libs\clipboard\src\context_send.rs:53] clipboard context for file transfer destroyed.
[2025-09-12 16:23:19.592690 +08:00] INFO [src\client\io_loop.rs:1049] sync transfer job status
[2025-09-12 16:23:19.593484 +08:00] INFO [src\client\io_loop.rs:1060] meta: TransferSerde { write_jobs: [], read_jobs: [] }
[2025-09-12 16:23:19.593538 +08:00] INFO [src\client.rs:2937] Audio decoder loop exits

controlled side either.

@kanslor commented on GitHub (Sep 12, 2025): @21pages I used this vserion and test for connection, I can't find any log lines containing `====DEBUG====` the whole log lines lists: ``` [2025-09-12 16:23:04.345265 +08:00] INFO [src\server.rs:600] server not started: 系统找不到指定的文件。 (os error 2), no_server: false [2025-09-12 16:23:04.348134 +08:00] INFO [libs\hbb_common\src\config.rs:1455] Preload peers done in 3.8444ms, batch_count: 100, total: 7 [2025-09-12 16:23:04.352050 +08:00] INFO [src\server.rs:605] try start server [2025-09-12 16:23:04.354493 +08:00] INFO [src\ipc.rs:337] Started ipc server at path: \\.\pipe\RustDesk\query [2025-09-12 16:23:04.360666 +08:00] INFO [src\common.rs:586] Testing nat ... [2025-09-12 16:23:04.379548 +08:00] ERROR [src\server.rs:147] printer service init failed: Failed to init printer driver [2025-09-12 16:23:04.380649 +08:00] INFO [libs\scrap\src\common\codec.rs:1046] skip test av1 [2025-09-12 16:23:04.382094 +08:00] INFO [src\lan.rs:31] lan discovery listener started [2025-09-12 16:23:04.427673 +08:00] DEBUG [src\common.rs:614] Got nat response from test.sample.com:21116: port=8589 [2025-09-12 16:23:04.472791 +08:00] DEBUG [src\common.rs:614] Got nat response from test.sample.com:21115: port=8589 [2025-09-12 16:23:04.473053 +08:00] INFO [src\common.rs:640] Tested nat type: ASYMMETRIC in 112.0997ms [2025-09-12 16:23:04.526138 +08:00] WARN [src\common.rs:1903] Failed to bind IPv6 socket: Failed to resolve STUN ipv6 server address: stun.l.google.com:19302 [2025-09-12 16:23:04.544581 +08:00] ERROR [src\common.rs:1955] Failed to get public IPv6 address: Failed to resolve STUN ipv6 server address: stun.nextcloud.com:3478 [2025-09-12 16:23:06.787476 +08:00] INFO [libs\scrap\src\common\hwcodec.rs:524] set hwcodec config [2025-09-12 16:23:06.787520 +08:00] DEBUG [libs\scrap\src\common\hwcodec.rs:525] HwCodecConfig { signature: 18014403147105380, ram_encode: [CodecInfo { name: "h264_amf", mc_name: None, format: H264, priority: 0, hwdevice: AV_HWDEVICE_TYPE_NONE }, CodecInfo { name: "hevc_amf", mc_name: None, format: H265, priority: 0, hwdevice: AV_HWDEVICE_TYPE_NONE }], ram_decode: [CodecInfo { name: "h264", mc_name: None, format: H264, priority: 0, hwdevice: AV_HWDEVICE_TYPE_D3D11VA }, CodecInfo { name: "hevc", mc_name: None, format: H265, priority: 0, hwdevice: AV_HWDEVICE_TYPE_D3D11VA }, CodecInfo { name: "h264", mc_name: None, format: H264, priority: 3, hwdevice: AV_HWDEVICE_TYPE_NONE }, CodecInfo { name: "hevc", mc_name: None, format: H265, priority: 3, hwdevice: AV_HWDEVICE_TYPE_NONE }], vram_encode: [FeatureContext { driver: FFMPEG, vendor: AMF, luid: 76497, data_format: H264 }, FeatureContext { driver: FFMPEG, vendor: AMF, luid: 113433, data_format: H264 }, FeatureContext { driver: FFMPEG, vendor: AMF, luid: 76497, data_format: H265 }, FeatureContext { driver: FFMPEG, vendor: AMF, luid: 113433, data_format: H265 }], vram_decode: [DecodeContext { device: None, driver: FFMPEG, vendor: AMF, luid: 76497, data_format: H264 }, DecodeContext { device: None, driver: FFMPEG, vendor: AMF, luid: 113433, data_format: H264 }, DecodeContext { device: None, driver: FFMPEG, vendor: AMF, luid: 76497, data_format: H265 }, DecodeContext { device: None, driver: FFMPEG, vendor: AMF, luid: 113433, data_format: H265 }] } [2025-09-12 16:23:07.397889 +08:00] INFO [libs\scrap\src\common\hwcodec.rs:743] Check hwcodec config, exit with: exit code: 0 [2025-09-12 16:23:13.411174 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== add tag 0 to _dialogs [2025-09-12 16:23:13.411201 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== insert dialog to overlayState: 0 [2025-09-12 16:23:13.411963 +08:00] INFO [src\flutter.rs:1401] Session 164633566 start, use texture render: true [2025-09-12 16:23:13.412641 +08:00] INFO [libs\clipboard\src\context_send.rs:41] clipboard context for file transfer created. [2025-09-12 16:23:13.433963 +08:00] DEBUG [src\client.rs:392] TCP connection establishment time used: 20.1468ms [2025-09-12 16:23:13.434022 +08:00] INFO [src\client.rs:407] rendezvous server: test.sample.com:21116 [2025-09-12 16:23:13.434216 +08:00] INFO [src\client.rs:470] #1 TCP punch attempt with 192.168.0.108:6022, id: 164633566 [2025-09-12 16:23:13.566714 +08:00] INFO [src\client.rs:532] relay requested from peer, time used: 152.8957ms, relay_server: test.sample.com [2025-09-12 16:23:13.589690 +08:00] INFO [src\client.rs:572] 22.7902ms used to establish Relay connection [2025-09-12 16:23:13.639915 +08:00] DEBUG [src\client\io_loop.rs:204] get cliprdr client for conn_id 1 [2025-09-12 16:23:13.831992 +08:00] DEBUG [src\ui_session_interface.rs:1718] handle_peer_info :PeerInfo { username: "Administrator", hostname: "server2012_database", platform: "Windows", displays: [DisplayInfo { x: 0, y: 0, width: 1024, height: 768, name: "\\\\.\\DISPLAY1", online: true, cursor_embedded: false, original_resolution: MessageField(Some(Resolution { width: 1024, height: 768, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), scale: 1.0, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }], current_display: 0, sas_enabled: true, version: "1.4.2", features: MessageField(Some(Features { privacy_mode: true, terminal: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), encoding: MessageField(Some(SupportedEncoding { h264: false, h265: false, vp8: true, av1: true, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), resolutions: MessageField(Some(SupportedResolutions { resolutions: [Resolution { width: 640, height: 480, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 800, height: 600, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1024, height: 768, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1152, height: 864, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1280, height: 960, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1400, height: 1050, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1600, height: 1200, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1920, height: 1440, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 2048, height: 1536, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 2560, height: 1920, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 854, height: 480, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1280, height: 720, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1366, height: 768, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1920, height: 1080, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 2560, height: 1440, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 3840, height: 2160, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1280, height: 800, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1440, height: 900, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1680, height: 1050, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1920, height: 1200, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 2560, height: 1600, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 2880, height: 1800, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 3840, height: 2400, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 720, height: 480, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 720, height: 576, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 800, height: 480, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1280, height: 768, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1280, height: 1024, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }], special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), platform_additions: "{\"has_file_clipboard\":true,\"idd_impl\":\"amyuni_idd\",\"is_installed\":true,\"support_view_camera\":true,\"supported_privacy_mode_impl\":[[\"privacy_mode_impl_mag\",\"privacy_mode_impl_mag_tip\"],[\"privacy_mode_impl_virtual_display\",\"privacy_mode_impl_virtual_display_tip\"]]}", windows_sessions: MessageField(None), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } } [2025-09-12 16:23:13.837192 +08:00] INFO [src\client.rs:2561] peer info supported_encoding:SupportedEncoding { h264: false, h265: false, vp8: true, av1: true, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } } [2025-09-12 16:23:13.838454 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== kMsgboxTextWaitingForImage [2025-09-12 16:23:13.838522 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== insert dialog to overlayState: 3043d802-253b-4d80-9eba-6d5813be1a8a-waiting-for-image [2025-09-12 16:23:13.838468 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== add tag 3043d802-253b-4d80-9eba-6d5813be1a8a-waiting-for-image to _dialogs [2025-09-12 16:23:13.838552 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== set waitForImageDialogShow to true [2025-09-12 16:23:13.838457 +08:00] INFO [src\flutter_ffi.rs:2487] =====FLUTTER==== showConnectedWaitingForImage, waitForFirstImage.value: true [2025-09-12 16:23:13.886969 +08:00] INFO [src\clipboard.rs:812] Subscribe clipboard listener: client-clipboard [2025-09-12 16:23:13.887022 +08:00] INFO [src\clipboard.rs:821] Start clipboard listener thread [2025-09-12 16:23:13.887996 +08:00] INFO [src\clipboard.rs:838] Clipboard listener thread started [2025-09-12 16:23:13.888057 +08:00] INFO [src\clipboard.rs:841] Clipboard listener subscribed: client-clipboard [2025-09-12 16:23:13.888081 +08:00] INFO [src\client.rs:982] Start client clipboard loop [2025-09-12 16:23:13.887992 +08:00] DEBUG [src\clipboard.rs:876] Clipboard listener started [2025-09-12 16:23:13.888306 +08:00] DEBUG [src\client\io_loop.rs:2235] handling cliprdr msg from server peer [2025-09-12 16:23:13.888331 +08:00] DEBUG [src\client\io_loop.rs:2253] Process clipboard message from server peer, stop: false, is_stopping_allowed: true, file_transfer_enabled: true [2025-09-12 16:23:13.888345 +08:00] DEBUG [libs\clipboard\src\platform\windows.rs:646] server_monitor_ready called [2025-09-12 16:23:13.888359 +08:00] DEBUG [libs\clipboard\src\platform\windows.rs:648] server_monitor_ready called, conn_id 1, return 0 [2025-09-12 16:23:13.888372 +08:00] DEBUG [src\client\io_loop.rs:2235] handling cliprdr msg from server peer [2025-09-12 16:23:13.888384 +08:00] DEBUG [src\client\io_loop.rs:2253] Process clipboard message from server peer, stop: false, is_stopping_allowed: true, file_transfer_enabled: true [2025-09-12 16:23:13.888395 +08:00] DEBUG [libs\clipboard\src\platform\windows.rs:646] server_monitor_ready called [2025-09-12 16:23:13.888431 +08:00] DEBUG [libs\clipboard\src\platform\windows.rs:648] server_monitor_ready called, conn_id 1, return 0 [2025-09-12 16:23:19.590666 +08:00] DEBUG [src\client\io_loop.rs:321] Exit io_loop of id=164633566 [2025-09-12 16:23:19.590826 +08:00] INFO [src\clipboard.rs:846] Unsubscribe clipboard listener: client-clipboard [2025-09-12 16:23:19.590869 +08:00] INFO [src\clipboard.rs:857] Stop clipboard listener thread [2025-09-12 16:23:19.590982 +08:00] DEBUG [src\clipboard.rs:880] Clipboard listener stopped [2025-09-12 16:23:19.590879 +08:00] DEBUG [src\client.rs:1000] Clipboard listener stopped [2025-09-12 16:23:19.591140 +08:00] INFO [src\client.rs:1014] Stop client clipboard loop [2025-09-12 16:23:19.591812 +08:00] INFO [src\clipboard.rs:860] Clipboard listener thread stopped [2025-09-12 16:23:19.591857 +08:00] INFO [src\clipboard.rs:863] Clipboard listener unsubscribed: client-clipboard [2025-09-12 16:23:19.591888 +08:00] DEBUG [src\clipboard.rs:169] try to empty client cliprdr for conn_id 1 [2025-09-12 16:23:19.591937 +08:00] INFO [libs\clipboard\src\context_send.rs:53] clipboard context for file transfer destroyed. [2025-09-12 16:23:19.592690 +08:00] INFO [src\client\io_loop.rs:1049] sync transfer job status [2025-09-12 16:23:19.593484 +08:00] INFO [src\client\io_loop.rs:1060] meta: TransferSerde { write_jobs: [], read_jobs: [] } [2025-09-12 16:23:19.593538 +08:00] INFO [src\client.rs:2937] Audio decoder loop exits ``` controlled side either.
Author
Owner

@21pages commented on GitHub (Sep 12, 2025):

@kanslor

Thanks for your feedback. From the controller logs, we can see that no video frames were received, but the controlled side should have a message like ====DEBUG==== video service run display_idx: 0.
Could you check whether you’ve located the correct path for the controlled side logs?

On Windows,

  • if RustDesk is installed, the logs are at: C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\log\server\RustDesk_rCURRENT.log
  • If it’s not installed, check: %AppData%\RustDesk\log\RustDesk_rCURRENT.log
@21pages commented on GitHub (Sep 12, 2025): @kanslor Thanks for your feedback. From the controller logs, we can see that no video frames were received, but the controlled side should have a message like `====DEBUG==== video service run display_idx: 0`. Could you check whether you’ve located the correct path for the controlled side logs? On Windows, * if RustDesk is installed, the logs are at: `C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\log\server\RustDesk_rCURRENT.log` * If it’s not installed, check: `%AppData%\RustDesk\log\RustDesk_rCURRENT.log`
Author
Owner

@kanslor commented on GitHub (Sep 12, 2025):

@21pages
update the controlled side log:

[2025-09-12 17:27:59.025734 +08:00] DEBUG [src\rendezvous_mediator.rs:204] Latency of test.sample.com:21116: 56.247ms
[2025-09-12 17:27:59.025761 +08:00] INFO [src\rendezvous_mediator.rs:280] request_pk received from test.sample.com:21116
[2025-09-12 17:28:07.692259 +08:00] INFO [src\rendezvous_mediator.rs:445] create_relay requested from 115.230.186.150:12542, relay_server: test.sample.com, uuid: 4730804f-946e-4e34-9748-f9c3f52fa791, secure: true
[2025-09-12 17:28:07.892618 +08:00] DEBUG [src\server\connection.rs:1145] #1970 Connection opened from 115.230.186.150:12542.
[2025-09-12 17:28:07.988636 +08:00] INFO [src\platform\mod.rs:112] new wakelock, require display on: true
[2025-09-12 17:28:07.992738 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H264, luids = [Some(560899)]
[2025-09-12 17:28:07.993439 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H265, luids = [Some(560899)]
[2025-09-12 17:28:07.993449 +08:00] INFO [src\server\connection.rs:1516] peer info supported_encoding: SupportedEncoding { h264: false, h265: false, vp8: true, av1: true, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }
[2025-09-12 17:28:08.021761 +08:00] INFO [libs\scrap\src\common\codec.rs:172] update:Update(1970, SupportedDecoding { ability_vp9: 1, ability_h264: 1, ability_h265: 1, prefer: Auto, ability_vp8: 1, ability_av1: 1, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), prefer_chroma: I420, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })
[2025-09-12 17:28:08.023856 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H264, luids = [Some(560899)]
[2025-09-12 17:28:08.025096 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H265, luids = [Some(560899)]
[2025-09-12 17:28:08.025798 +08:00] INFO [libs\scrap\src\common\codec.rs:314] usable: vp8=true, av1=true, h264=false, h265=false
[2025-09-12 17:28:08.025803 +08:00] INFO [libs\scrap\src\common\codec.rs:317] connection count: 1, used preference: Auto, encoder: AV1
[2025-09-12 17:28:08.025853 +08:00] INFO [src\server\connection.rs:3451] Option update: OptionMessage { image_quality: NotSet, lock_after_session_end: NotSet, show_remote_cursor: NotSet, privacy_mode: NotSet, block_input: NotSet, custom_image_quality: 0, disable_audio: NotSet, disable_clipboard: NotSet, enable_file_transfer: Yes, supported_decoding: MessageField(Some(SupportedDecoding { ability_vp9: 1, ability_h264: 1, ability_h265: 1, prefer: Auto, ability_vp8: 1, ability_av1: 1, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), prefer_chroma: I420, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), custom_fps: 0, disable_keyboard: NotSet, follow_remote_cursor: NotSet, follow_remote_window: NotSet, disable_camera: NotSet, terminal_persistent: NotSet, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }
[2025-09-12 17:28:08.025865 +08:00] INFO [libs\scrap\src\common\codec.rs:172] update:Update(1970, SupportedDecoding { ability_vp9: 1, ability_h264: 1, ability_h265: 1, prefer: Auto, ability_vp8: 1, ability_av1: 1, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), prefer_chroma: I420, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })
[2025-09-12 17:28:08.026934 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H264, luids = [Some(560899)]
[2025-09-12 17:28:08.027717 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H265, luids = [Some(560899)]
[2025-09-12 17:28:08.028523 +08:00] INFO [libs\scrap\src\common\codec.rs:314] usable: vp8=true, av1=true, h264=false, h265=false
[2025-09-12 17:28:08.028539 +08:00] INFO [libs\scrap\src\common\codec.rs:317] connection count: 1, used preference: Auto, encoder: AV1
[2025-09-12 17:28:08.029014 +08:00] DEBUG [src\server\connection.rs:4174] Start cm
[2025-09-12 17:28:08.047573 +08:00] DEBUG [src\server\service.rs:305] Enter display service inner loop
[2025-09-12 17:28:08.047598 +08:00] INFO [src\server\service.rs:196] Call snapshot of display service
[2025-09-12 17:28:08.048523 +08:00] DEBUG [src\server\service.rs:305] Enter clipboard service inner loop
[2025-09-12 17:28:08.048590 +08:00] INFO [src\clipboard.rs:812] Subscribe clipboard listener: clipboard
[2025-09-12 17:28:08.048607 +08:00] INFO [src\clipboard.rs:821] Start clipboard listener thread
[2025-09-12 17:28:08.048538 +08:00] DEBUG [src\server\service.rs:305] Enter monitor0 service inner loop
[2025-09-12 17:28:08.048916 +08:00] INFO [src\server\video_service.rs:841] new video service: monitor0
[2025-09-12 17:28:08.048921 +08:00] INFO [src\server\video_service.rs:468] ====DEBUG==== video service run display_idx: 0
[2025-09-12 17:28:08.050514 +08:00] INFO [src\server\service.rs:196] Call snapshot of audio service
[2025-09-12 17:28:08.050580 +08:00] ERROR [src\server\service.rs:275] Error of audio service: Failed to get default output device for loopback
[2025-09-12 17:28:08.051189 +08:00] INFO [src\server\service.rs:196] Call snapshot of mouse_cursor service
[2025-09-12 17:28:08.051964 +08:00] DEBUG [src\server\video_service.rs:356] #displays=1, current=0, origin: (0, 0), width=1024, height=768, cpus=8/8, name:\\.\DISPLAY1
[2025-09-12 17:28:08.051974 +08:00] DEBUG [src\server\video_service.rs:385] Try create capturer with capturer privacy mode id 0
[2025-09-12 17:28:08.051977 +08:00] DEBUG [src\server\video_service.rs:225] Create capturer dxgi|gdi
[2025-09-12 17:28:08.051980 +08:00] DEBUG [src\server\portable_service.rs:912] Create capturer dxgi|gdi
[2025-09-12 17:28:08.054012 +08:00] INFO [libs\scrap\src\common\codec.rs:172] update:Check
[2025-09-12 17:28:08.054201 +08:00] DEBUG [src\clipboard.rs:876] Clipboard listener started
[2025-09-12 17:28:08.054214 +08:00] INFO [src\clipboard.rs:838] Clipboard listener thread started
[2025-09-12 17:28:08.054219 +08:00] INFO [src\clipboard.rs:841] Clipboard listener subscribed: clipboard
[2025-09-12 17:28:08.056026 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H264, luids = [Some(560899)]
[2025-09-12 17:28:08.057212 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H265, luids = [Some(560899)]
[2025-09-12 17:28:08.058114 +08:00] INFO [libs\scrap\src\common\codec.rs:314] usable: vp8=true, av1=true, h264=false, h265=false
[2025-09-12 17:28:08.058121 +08:00] INFO [libs\scrap\src\common\codec.rs:317] connection count: 1, used preference: Auto, encoder: AV1
[2025-09-12 17:28:08.058125 +08:00] INFO [src\server\video_service.rs:887] ====DEBUG==== encoder_cfg: AOM(AomEncoderConfig { width: 1024, height: 768, quality: 0.67, keyframe_interval: None })
[2025-09-12 17:28:08.058141 +08:00] INFO [libs\scrap\src\common\codec.rs:135] new encoder: AOM(AomEncoderConfig { width: 1024, height: 768, quality: 0.67, keyframe_interval: None }), i444: false
[2025-09-12 17:28:08.058364 +08:00] INFO [libs\scrap\src\common\codec.rs:1027] cpu num: 8, cpu usage: Some(4.8012237640837485), available memory: 19G, codec thread: 4
[2025-09-12 17:28:08.059338 +08:00] INFO [src\server\video_service.rs:552] initial quality: 0.67
[2025-09-12 17:28:08.059346 +08:00] INFO [src\server\video_service.rs:565] gdi: false
[2025-09-12 17:28:08.059380 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false
[2025-09-12 17:28:08.059404 +08:00] ERROR [libs\scrap\src\dxgi\mod.rs:342] ====DEBUG==== load_frame would block, info is 0
[2025-09-12 17:28:08.059407 +08:00] INFO [src\server\video_service.rs:732] ====DEBUG==== would block, try_gdi: 1
[2025-09-12 17:28:08.126579 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false
[2025-09-12 17:28:08.137324 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:350] ====DEBUG==== fastlane map desktop surface ok
[2025-09-12 17:28:08.137352 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:357] ====DEBUG==== load_frame ok, rect: 4096
[2025-09-12 17:28:08.137358 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok
[2025-09-12 17:28:08.138221 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok
[2025-09-12 17:28:08.138230 +08:00] INFO [src\server\service.rs:196] Call snapshot of monitor0 service
[2025-09-12 17:28:08.196195 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=true, pts=67
[2025-09-12 17:28:08.196248 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok
[2025-09-12 17:28:08.196273 +08:00] INFO [src\server\connection.rs:760] ====DEBUG=== try send video frame to client
[2025-09-12 17:28:08.196340 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false
[2025-09-12 17:28:08.196358 +08:00] ERROR [src\server\video_service.rs:785] ====DEBUG==== captureerror: Kind(InvalidData)
[2025-09-12 17:28:08.196852 +08:00] INFO [src\server\connection.rs:767] ====DEBUG=== send video frame to client success, cost: 564.528µs
[2025-09-12 17:28:08.198616 +08:00] INFO [src\server\video_service.rs:791] ====DEBUG==== try broadcast display changed ok
[2025-09-12 17:28:08.199714 +08:00] ERROR [src\server\video_service.rs:796] dxgi error, fall back to gdi: Kind(InvalidData)
[2025-09-12 17:28:08.199747 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false
[2025-09-12 17:28:08.230762 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok
[2025-09-12 17:28:08.230926 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok
[2025-09-12 17:28:08.236256 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=false, pts=140
[2025-09-12 17:28:08.236309 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok
[2025-09-12 17:28:08.236331 +08:00] INFO [src\server\connection.rs:760] ====DEBUG=== try send video frame to client
[2025-09-12 17:28:08.236414 +08:00] INFO [src\server\connection.rs:767] ====DEBUG=== send video frame to client success, cost: 71.545µs
[2025-09-12 17:28:08.267553 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false
[2025-09-12 17:28:08.290203 +08:00] INFO [src\server\video_service.rs:732] ====DEBUG==== would block, try_gdi: 0
[2025-09-12 17:28:08.334998 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false
[2025-09-12 17:28:08.380824 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok
[2025-09-12 17:28:08.380996 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok
[2025-09-12 17:28:08.400087 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=false, pts=275
[2025-09-12 17:28:08.400132 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok
[2025-09-12 17:28:08.402563 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false
[2025-09-12 17:28:08.425944 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok
[2025-09-12 17:28:08.426127 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok
[2025-09-12 17:28:08.433111 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=false, pts=343
[2025-09-12 17:28:08.433149 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok
[2025-09-12 17:28:08.470574 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false
[2025-09-12 17:28:08.500964 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok
[2025-09-12 17:28:08.501161 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok
[2025-09-12 17:28:08.508470 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=false, pts=411
[2025-09-12 17:28:08.508524 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok
[2025-09-12 17:28:08.538590 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false
[2025-09-12 17:28:08.571587 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok
[2025-09-12 17:28:08.571763 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok
[2025-09-12 17:28:08.575455 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=false, pts=479
[2025-09-12 17:28:08.575475 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok
[2025-09-12 17:28:09.096646 +08:00] DEBUG [src\server\connection.rs:1032] error sending request for url (http://test.sample.com:21114/api/audit/conn)

Caused by:
    0: client error (Connect)
    1: tcp connect error: 無法連線,因為目標電腦拒絕連線。 (os error 10061)
    2: 無法連線,因為目標電腦拒絕連線。 (os error 10061), librustdesk::server::connection:src\server\connection.rs:1032:13
[2025-09-12 17:28:10.274658 +08:00] DEBUG [src\server\connection.rs:1032] error sending request for url (http://test.sample.com:21114/api/audit/conn)

Caused by:
    0: client error (Connect)
    1: tcp connect error: 無法連線,因為目標電腦拒絕連線。 (os error 10061)
    2: 無法連線,因為目標電腦拒絕連線。 (os error 10061), librustdesk::server::connection:src\server\connection.rs:1032:13
[2025-09-12 17:28:11.597803 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false
[2025-09-12 17:28:11.623543 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok
[2025-09-12 17:28:11.623710 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok
[2025-09-12 17:28:11.637670 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=false, pts=3538
[2025-09-12 17:28:11.637714 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok
@kanslor commented on GitHub (Sep 12, 2025): @21pages update the controlled side log: ``` [2025-09-12 17:27:59.025734 +08:00] DEBUG [src\rendezvous_mediator.rs:204] Latency of test.sample.com:21116: 56.247ms [2025-09-12 17:27:59.025761 +08:00] INFO [src\rendezvous_mediator.rs:280] request_pk received from test.sample.com:21116 [2025-09-12 17:28:07.692259 +08:00] INFO [src\rendezvous_mediator.rs:445] create_relay requested from 115.230.186.150:12542, relay_server: test.sample.com, uuid: 4730804f-946e-4e34-9748-f9c3f52fa791, secure: true [2025-09-12 17:28:07.892618 +08:00] DEBUG [src\server\connection.rs:1145] #1970 Connection opened from 115.230.186.150:12542. [2025-09-12 17:28:07.988636 +08:00] INFO [src\platform\mod.rs:112] new wakelock, require display on: true [2025-09-12 17:28:07.992738 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H264, luids = [Some(560899)] [2025-09-12 17:28:07.993439 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H265, luids = [Some(560899)] [2025-09-12 17:28:07.993449 +08:00] INFO [src\server\connection.rs:1516] peer info supported_encoding: SupportedEncoding { h264: false, h265: false, vp8: true, av1: true, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } } [2025-09-12 17:28:08.021761 +08:00] INFO [libs\scrap\src\common\codec.rs:172] update:Update(1970, SupportedDecoding { ability_vp9: 1, ability_h264: 1, ability_h265: 1, prefer: Auto, ability_vp8: 1, ability_av1: 1, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), prefer_chroma: I420, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }) [2025-09-12 17:28:08.023856 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H264, luids = [Some(560899)] [2025-09-12 17:28:08.025096 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H265, luids = [Some(560899)] [2025-09-12 17:28:08.025798 +08:00] INFO [libs\scrap\src\common\codec.rs:314] usable: vp8=true, av1=true, h264=false, h265=false [2025-09-12 17:28:08.025803 +08:00] INFO [libs\scrap\src\common\codec.rs:317] connection count: 1, used preference: Auto, encoder: AV1 [2025-09-12 17:28:08.025853 +08:00] INFO [src\server\connection.rs:3451] Option update: OptionMessage { image_quality: NotSet, lock_after_session_end: NotSet, show_remote_cursor: NotSet, privacy_mode: NotSet, block_input: NotSet, custom_image_quality: 0, disable_audio: NotSet, disable_clipboard: NotSet, enable_file_transfer: Yes, supported_decoding: MessageField(Some(SupportedDecoding { ability_vp9: 1, ability_h264: 1, ability_h265: 1, prefer: Auto, ability_vp8: 1, ability_av1: 1, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), prefer_chroma: I420, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), custom_fps: 0, disable_keyboard: NotSet, follow_remote_cursor: NotSet, follow_remote_window: NotSet, disable_camera: NotSet, terminal_persistent: NotSet, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } } [2025-09-12 17:28:08.025865 +08:00] INFO [libs\scrap\src\common\codec.rs:172] update:Update(1970, SupportedDecoding { ability_vp9: 1, ability_h264: 1, ability_h265: 1, prefer: Auto, ability_vp8: 1, ability_av1: 1, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), prefer_chroma: I420, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }) [2025-09-12 17:28:08.026934 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H264, luids = [Some(560899)] [2025-09-12 17:28:08.027717 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H265, luids = [Some(560899)] [2025-09-12 17:28:08.028523 +08:00] INFO [libs\scrap\src\common\codec.rs:314] usable: vp8=true, av1=true, h264=false, h265=false [2025-09-12 17:28:08.028539 +08:00] INFO [libs\scrap\src\common\codec.rs:317] connection count: 1, used preference: Auto, encoder: AV1 [2025-09-12 17:28:08.029014 +08:00] DEBUG [src\server\connection.rs:4174] Start cm [2025-09-12 17:28:08.047573 +08:00] DEBUG [src\server\service.rs:305] Enter display service inner loop [2025-09-12 17:28:08.047598 +08:00] INFO [src\server\service.rs:196] Call snapshot of display service [2025-09-12 17:28:08.048523 +08:00] DEBUG [src\server\service.rs:305] Enter clipboard service inner loop [2025-09-12 17:28:08.048590 +08:00] INFO [src\clipboard.rs:812] Subscribe clipboard listener: clipboard [2025-09-12 17:28:08.048607 +08:00] INFO [src\clipboard.rs:821] Start clipboard listener thread [2025-09-12 17:28:08.048538 +08:00] DEBUG [src\server\service.rs:305] Enter monitor0 service inner loop [2025-09-12 17:28:08.048916 +08:00] INFO [src\server\video_service.rs:841] new video service: monitor0 [2025-09-12 17:28:08.048921 +08:00] INFO [src\server\video_service.rs:468] ====DEBUG==== video service run display_idx: 0 [2025-09-12 17:28:08.050514 +08:00] INFO [src\server\service.rs:196] Call snapshot of audio service [2025-09-12 17:28:08.050580 +08:00] ERROR [src\server\service.rs:275] Error of audio service: Failed to get default output device for loopback [2025-09-12 17:28:08.051189 +08:00] INFO [src\server\service.rs:196] Call snapshot of mouse_cursor service [2025-09-12 17:28:08.051964 +08:00] DEBUG [src\server\video_service.rs:356] #displays=1, current=0, origin: (0, 0), width=1024, height=768, cpus=8/8, name:\\.\DISPLAY1 [2025-09-12 17:28:08.051974 +08:00] DEBUG [src\server\video_service.rs:385] Try create capturer with capturer privacy mode id 0 [2025-09-12 17:28:08.051977 +08:00] DEBUG [src\server\video_service.rs:225] Create capturer dxgi|gdi [2025-09-12 17:28:08.051980 +08:00] DEBUG [src\server\portable_service.rs:912] Create capturer dxgi|gdi [2025-09-12 17:28:08.054012 +08:00] INFO [libs\scrap\src\common\codec.rs:172] update:Check [2025-09-12 17:28:08.054201 +08:00] DEBUG [src\clipboard.rs:876] Clipboard listener started [2025-09-12 17:28:08.054214 +08:00] INFO [src\clipboard.rs:838] Clipboard listener thread started [2025-09-12 17:28:08.054219 +08:00] INFO [src\clipboard.rs:841] Clipboard listener subscribed: clipboard [2025-09-12 17:28:08.056026 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H264, luids = [Some(560899)] [2025-09-12 17:28:08.057212 +08:00] INFO [libs\scrap\src\common\vram.rs:270] not all adapters support H265, luids = [Some(560899)] [2025-09-12 17:28:08.058114 +08:00] INFO [libs\scrap\src\common\codec.rs:314] usable: vp8=true, av1=true, h264=false, h265=false [2025-09-12 17:28:08.058121 +08:00] INFO [libs\scrap\src\common\codec.rs:317] connection count: 1, used preference: Auto, encoder: AV1 [2025-09-12 17:28:08.058125 +08:00] INFO [src\server\video_service.rs:887] ====DEBUG==== encoder_cfg: AOM(AomEncoderConfig { width: 1024, height: 768, quality: 0.67, keyframe_interval: None }) [2025-09-12 17:28:08.058141 +08:00] INFO [libs\scrap\src\common\codec.rs:135] new encoder: AOM(AomEncoderConfig { width: 1024, height: 768, quality: 0.67, keyframe_interval: None }), i444: false [2025-09-12 17:28:08.058364 +08:00] INFO [libs\scrap\src\common\codec.rs:1027] cpu num: 8, cpu usage: Some(4.8012237640837485), available memory: 19G, codec thread: 4 [2025-09-12 17:28:08.059338 +08:00] INFO [src\server\video_service.rs:552] initial quality: 0.67 [2025-09-12 17:28:08.059346 +08:00] INFO [src\server\video_service.rs:565] gdi: false [2025-09-12 17:28:08.059380 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false [2025-09-12 17:28:08.059404 +08:00] ERROR [libs\scrap\src\dxgi\mod.rs:342] ====DEBUG==== load_frame would block, info is 0 [2025-09-12 17:28:08.059407 +08:00] INFO [src\server\video_service.rs:732] ====DEBUG==== would block, try_gdi: 1 [2025-09-12 17:28:08.126579 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false [2025-09-12 17:28:08.137324 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:350] ====DEBUG==== fastlane map desktop surface ok [2025-09-12 17:28:08.137352 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:357] ====DEBUG==== load_frame ok, rect: 4096 [2025-09-12 17:28:08.137358 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok [2025-09-12 17:28:08.138221 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok [2025-09-12 17:28:08.138230 +08:00] INFO [src\server\service.rs:196] Call snapshot of monitor0 service [2025-09-12 17:28:08.196195 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=true, pts=67 [2025-09-12 17:28:08.196248 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok [2025-09-12 17:28:08.196273 +08:00] INFO [src\server\connection.rs:760] ====DEBUG=== try send video frame to client [2025-09-12 17:28:08.196340 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false [2025-09-12 17:28:08.196358 +08:00] ERROR [src\server\video_service.rs:785] ====DEBUG==== captureerror: Kind(InvalidData) [2025-09-12 17:28:08.196852 +08:00] INFO [src\server\connection.rs:767] ====DEBUG=== send video frame to client success, cost: 564.528µs [2025-09-12 17:28:08.198616 +08:00] INFO [src\server\video_service.rs:791] ====DEBUG==== try broadcast display changed ok [2025-09-12 17:28:08.199714 +08:00] ERROR [src\server\video_service.rs:796] dxgi error, fall back to gdi: Kind(InvalidData) [2025-09-12 17:28:08.199747 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false [2025-09-12 17:28:08.230762 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok [2025-09-12 17:28:08.230926 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok [2025-09-12 17:28:08.236256 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=false, pts=140 [2025-09-12 17:28:08.236309 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok [2025-09-12 17:28:08.236331 +08:00] INFO [src\server\connection.rs:760] ====DEBUG=== try send video frame to client [2025-09-12 17:28:08.236414 +08:00] INFO [src\server\connection.rs:767] ====DEBUG=== send video frame to client success, cost: 71.545µs [2025-09-12 17:28:08.267553 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false [2025-09-12 17:28:08.290203 +08:00] INFO [src\server\video_service.rs:732] ====DEBUG==== would block, try_gdi: 0 [2025-09-12 17:28:08.334998 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false [2025-09-12 17:28:08.380824 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok [2025-09-12 17:28:08.380996 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok [2025-09-12 17:28:08.400087 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=false, pts=275 [2025-09-12 17:28:08.400132 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok [2025-09-12 17:28:08.402563 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false [2025-09-12 17:28:08.425944 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok [2025-09-12 17:28:08.426127 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok [2025-09-12 17:28:08.433111 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=false, pts=343 [2025-09-12 17:28:08.433149 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok [2025-09-12 17:28:08.470574 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false [2025-09-12 17:28:08.500964 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok [2025-09-12 17:28:08.501161 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok [2025-09-12 17:28:08.508470 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=false, pts=411 [2025-09-12 17:28:08.508524 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok [2025-09-12 17:28:08.538590 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false [2025-09-12 17:28:08.571587 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok [2025-09-12 17:28:08.571763 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok [2025-09-12 17:28:08.575455 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=false, pts=479 [2025-09-12 17:28:08.575475 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok [2025-09-12 17:28:09.096646 +08:00] DEBUG [src\server\connection.rs:1032] error sending request for url (http://test.sample.com:21114/api/audit/conn) Caused by: 0: client error (Connect) 1: tcp connect error: 無法連線,因為目標電腦拒絕連線。 (os error 10061) 2: 無法連線,因為目標電腦拒絕連線。 (os error 10061), librustdesk::server::connection:src\server\connection.rs:1032:13 [2025-09-12 17:28:10.274658 +08:00] DEBUG [src\server\connection.rs:1032] error sending request for url (http://test.sample.com:21114/api/audit/conn) Caused by: 0: client error (Connect) 1: tcp connect error: 無法連線,因為目標電腦拒絕連線。 (os error 10061) 2: 無法連線,因為目標電腦拒絕連線。 (os error 10061), librustdesk::server::connection:src\server\connection.rs:1032:13 [2025-09-12 17:28:11.597803 +08:00] INFO [libs\scrap\src\dxgi\mod.rs:400] ====DEBUG==== frame, output_texture: false [2025-09-12 17:28:11.623543 +08:00] INFO [src\server\video_service.rs:649] ====DEBUG==== capture frame ok [2025-09-12 17:28:11.623710 +08:00] INFO [src\server\video_service.rs:696] ====DEBUG==== to yuv ok [2025-09-12 17:28:11.637670 +08:00] INFO [libs\scrap\src\common\aom.rs:339] frame: key=false, pts=3538 [2025-09-12 17:28:11.637714 +08:00] INFO [src\server\video_service.rs:709] ====DEBUG==== handle one frame ok ```
Author
Owner

@21pages commented on GitHub (Sep 12, 2025):

[2025-09-12 17:28:08.236414 +08:00] INFO [src\server\connection.rs:767] ====DEBUG=== send video frame to client success, cost: 71.545µs

We can see that the controlled end sends the video frame to the controling end. Please check if there are log lines containing ====DEBUG==== VideoFrame on the controlling end when waiting for image happens? If can't find the corresponding log, it may be that the network is too poor.

@21pages commented on GitHub (Sep 12, 2025): > [2025-09-12 17:28:08.236414 +08:00] INFO [src\server\connection.rs:767] ====DEBUG=== send video frame to client success, cost: 71.545µs We can see that the controlled end sends the video frame to the controling end. Please check if there are log lines containing `====DEBUG==== VideoFrame` on the controlling end when waiting for image happens? If can't find the corresponding log, it may be that the network is too poor.
Author
Owner

@kanslor commented on GitHub (Sep 12, 2025):

@21pages
Yes, the network connection between the problematic host and the relay server is not very good, as it involves cross-region access.

In my own tests, connections to hosts within the same region work normally without encountering this issue; the problem only occurs with cross-region access.

I have also noticed that when the Windows Server 2012 R2 remote endpoint opens the Start menu interface, subsequent remote connections have a higher probability of successfully displaying the image. In other scenarios, the image almost never loads, and the interface typically shows the message "Receiving image." This observation seems to suggest that the impact of weak network connectivity may not be the primary factor. Do you have any relevant clues or insights to share?

@kanslor commented on GitHub (Sep 12, 2025): @21pages Yes, the network connection between the problematic host and the relay server is not very good, as it involves cross-region access. In my own tests, connections to hosts within the same region work normally without encountering this issue; the problem only occurs with cross-region access. I have also noticed that when the Windows Server 2012 R2 remote endpoint opens the Start menu interface, subsequent remote connections have a higher probability of successfully displaying the image. In other scenarios, the image almost never loads, and the interface typically shows the message "Receiving image." This observation seems to suggest that the impact of weak network connectivity may not be the primary factor. Do you have any relevant clues or insights to share?
Author
Owner
@21pages commented on GitHub (Sep 12, 2025): https://www.reddit.com/r/rustdesk/comments/1cr8kfv/should_you_selfhost_a_rustdesk_server/
Author
Owner

@artiemedvedev commented on GitHub (Oct 27, 2025):

I've got the same issue recently. All worked fine and one day I got "waiting for image" issue.

I have two machines with samish hardware (the only difference is a CPU). Both machines are connected to the same network. Both machines are connected to the WireGuard VPN but RustDesk is added to non-tunneled apps (bypassing VPN).

Control side: Windows 11 Home Laptop.
The first controlled machine: runs Windows 11 Home and has Ryzen 5900X CPU + 3xRTX3090 - connection is ok.
The second controlled machine: runs Windows 11 Pro and has Ryzen 5700X CPU + 3xRTX3090 - connection was ok, got "waiting for image" issue recently. Sometimes after waiting for image for too long, connection to machine fails (remote side offline) and restores after 10-60 seconds.

If I switch the second machine to run via VPN it connects and shows image with no issues. But first machine runs ok without VPN. Tried multiple days - same.
Tried with my own signaling and relay server - same.

Here is the log of the case when I got "waiting for image" without VPN.

[2025-10-27 10:48:46.675233 +03:00] INFO [src\client.rs:407] rendezvous server: rs-ny.rustdesk.com:21116
[2025-10-27 10:48:46.675429 +03:00] INFO [src\client.rs:470] #1 TCP punch attempt with 192.168.1.67:53541, id: 154955227
[2025-10-27 10:48:46.906150 +03:00] ERROR [src\client.rs:3632] Connection closed: Remote desktop is offline(0)
[2025-10-27 10:48:46.906218 +03:00] DEBUG [src\clipboard.rs:169] try to empty client cliprdr for conn_id 0
[2025-10-27 10:48:46.906240 +03:00] INFO [src\client\io_loop.rs:1057] sync transfer job status
[2025-10-27 10:48:46.906679 +03:00] INFO [src\client\io_loop.rs:1068] meta: TransferSerde { write_jobs: [], read_jobs: [] }
[2025-10-27 10:48:46.906704 +03:00] INFO [src\client.rs:2941] Audio decoder loop exits
[2025-10-27 10:48:52.578800 +03:00] INFO [src\flutter.rs:1392] Session 154955227 start, use texture render: true
[2025-10-27 10:48:53.154633 +03:00] DEBUG [src\client.rs:392] TCP connection establishment time used: 574.4271ms
[2025-10-27 10:48:53.154700 +03:00] INFO [src\client.rs:407] rendezvous server: rs-ny.rustdesk.com:21116
[2025-10-27 10:48:53.154808 +03:00] INFO [src\client.rs:470] #1 TCP punch attempt with 192.168.1.67:53542, id: 154955227
[2025-10-27 10:48:53.375676 +03:00] ERROR [src\client.rs:3632] Connection closed: Remote desktop is offline(0)
[2025-10-27 10:48:53.375739 +03:00] DEBUG [src\clipboard.rs:169] try to empty client cliprdr for conn_id 0
[2025-10-27 10:48:53.375758 +03:00] INFO [src\client\io_loop.rs:1057] sync transfer job status
[2025-10-27 10:48:53.376227 +03:00] INFO [src\client\io_loop.rs:1068] meta: TransferSerde { write_jobs: [], read_jobs: [] }
[2025-10-27 10:48:53.376310 +03:00] INFO [src\client.rs:2941] Audio decoder loop exits
[2025-10-27 10:49:05.376664 +03:00] INFO [src\flutter.rs:1392] Session 154955227 start, use texture render: true
[2025-10-27 10:49:05.766816 +03:00] DEBUG [src\client.rs:392] TCP connection establishment time used: 388.7252ms
[2025-10-27 10:49:05.766908 +03:00] INFO [src\client.rs:407] rendezvous server: rs-ny.rustdesk.com:21116
[2025-10-27 10:49:05.767050 +03:00] INFO [src\client.rs:470] #1 TCP punch attempt with 192.168.1.67:53548, id: 154955227
[2025-10-27 10:49:08.985998 +03:00] INFO [src\client.rs:470] #2 TCP punch attempt with 192.168.1.67:53548, id: 154955227
[2025-10-27 10:49:14.987240 +03:00] INFO [src\client.rs:470] #3 TCP punch attempt with 192.168.1.67:53548, id: 154955227
[2025-10-27 10:49:17.473186 +03:00] INFO [src\client.rs:532] relay requested from peer, time used: 12.0950969s, relay_server: ovh-fr1.rustdesk.com
[2025-10-27 10:49:18.047041 +03:00] INFO [src\client.rs:572] 573.8168ms used to establish Relay connection
[2025-10-27 10:49:21.079476 +03:00] DEBUG [src\client\io_loop.rs:204] get cliprdr client for conn_id 13
[2025-10-27 10:49:21.730960 +03:00] DEBUG [src\ui_session_interface.rs:1718] handle_peer_info :PeerInfo { username: "artie", hostname: "nest", platform: "Windows", displays: [DisplayInfo { x: 0, y: 0, width: 1920, height: 1080, name: "\\.\DISPLAY13", online: true, cursor_embedded: false, original_resolution: MessageField(Some(Resolution { width: 1920, height: 1080, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), scale: 1.0, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }], current_display: 0, sas_enabled: true, version: "1.4.3", features: MessageField(Some(Features { privacy_mode: true, terminal: true, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), encoding: MessageField(Some(SupportedEncoding { h264: true, h265: true, vp8: true, av1: true, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), resolutions: MessageField(Some(SupportedResolutions { resolutions: [Resolution { width: 1024, height: 768, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1360, height: 768, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1440, height: 900, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1600, height: 900, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1600, height: 1200, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1920, height: 1080, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1920, height: 1200, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 2560, height: 1440, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 3840, height: 2160, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }], special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), platform_additions: "{"amyuni_virtual_displays":1,"has_file_clipboard":true,"idd_impl":"amyuni_idd","is_installed":true,"support_view_camera":true,"supported_privacy_mode_impl":"privacy_mode_impl_exclude_from_capture","privacy_mode_impl_mag_tip"],["privacy_mode_impl_virtual_display","privacy_mode_impl_virtual_display_tip"}", windows_sessions: MessageField(None), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }
[2025-10-27 10:49:21.735151 +03:00] INFO [src\client.rs:2578] peer info supported_encoding:SupportedEncoding { h264: true, h265: true, vp8: true, av1: true, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }
[2025-10-27 10:49:21.735455 +03:00] INFO [src\clipboard.rs:812] Subscribe clipboard listener: client-clipboard
[2025-10-27 10:49:21.735468 +03:00] INFO [src\clipboard.rs:821] Start clipboard listener thread
[2025-10-27 10:49:21.736060 +03:00] INFO [src\clipboard.rs:838] Clipboard listener thread started
[2025-10-27 10:49:21.736080 +03:00] INFO [src\clipboard.rs:841] Clipboard listener subscribed: client-clipboard
[2025-10-27 10:49:21.736102 +03:00] INFO [src\client.rs:982] Start client clipboard loop
[2025-10-27 10:49:21.736054 +03:00] DEBUG [src\clipboard.rs:876] Clipboard listener started
[2025-10-27 10:49:21.757722 +03:00] DEBUG [src\client.rs:2932] recved audio format, sample rate=48000
[2025-10-27 10:49:21.758803 +03:00] INFO [src\client.rs:1350] Using default output device: "Speakers (2- Realtek(R) Audio)"
[2025-10-27 10:49:21.759583 +03:00] INFO [src\client.rs:1356] Default output format: SupportedStreamConfig { channels: 2, sample_rate: SampleRate(48000), buffer_size: Range { min: 0, max: 4294967295 }, sample_format: F32 }
[2025-10-27 10:49:21.759600 +03:00] INFO [src\client.rs:1357] Remote input format: AudioFormat { sample_rate: 48000, channels: 2, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }

@artiemedvedev commented on GitHub (Oct 27, 2025): I've got the same issue recently. All worked fine and one day I got "waiting for image" issue. I have two machines with samish hardware (the only difference is a CPU). Both machines are connected to the same network. Both machines are connected to the WireGuard VPN but RustDesk is added to non-tunneled apps (bypassing VPN). Control side: Windows 11 Home Laptop. The first controlled machine: runs Windows 11 Home and has Ryzen 5900X CPU + 3xRTX3090 - connection is ok. The second controlled machine: runs Windows 11 Pro and has Ryzen 5700X CPU + 3xRTX3090 - connection was ok, got "waiting for image" issue recently. Sometimes after waiting for image for too long, connection to machine fails (remote side offline) and restores after 10-60 seconds. If I switch the second machine to run via VPN it connects and shows image with no issues. But first machine runs ok without VPN. Tried multiple days - same. Tried with my own signaling and relay server - same. Here is the log of the case when I got "waiting for image" without VPN. [2025-10-27 10:48:46.675233 +03:00] INFO [src\client.rs:407] rendezvous server: rs-ny.rustdesk.com:21116 [2025-10-27 10:48:46.675429 +03:00] INFO [src\client.rs:470] #1 TCP punch attempt with 192.168.1.67:53541, id: 154955227 [2025-10-27 10:48:46.906150 +03:00] ERROR [src\client.rs:3632] Connection closed: Remote desktop is offline(0) [2025-10-27 10:48:46.906218 +03:00] DEBUG [src\clipboard.rs:169] try to empty client cliprdr for conn_id 0 [2025-10-27 10:48:46.906240 +03:00] INFO [src\client\io_loop.rs:1057] sync transfer job status [2025-10-27 10:48:46.906679 +03:00] INFO [src\client\io_loop.rs:1068] meta: TransferSerde { write_jobs: [], read_jobs: [] } [2025-10-27 10:48:46.906704 +03:00] INFO [src\client.rs:2941] Audio decoder loop exits [2025-10-27 10:48:52.578800 +03:00] INFO [src\flutter.rs:1392] Session 154955227 start, use texture render: true [2025-10-27 10:48:53.154633 +03:00] DEBUG [src\client.rs:392] TCP connection establishment time used: 574.4271ms [2025-10-27 10:48:53.154700 +03:00] INFO [src\client.rs:407] rendezvous server: rs-ny.rustdesk.com:21116 [2025-10-27 10:48:53.154808 +03:00] INFO [src\client.rs:470] #1 TCP punch attempt with 192.168.1.67:53542, id: 154955227 [2025-10-27 10:48:53.375676 +03:00] ERROR [src\client.rs:3632] Connection closed: Remote desktop is offline(0) [2025-10-27 10:48:53.375739 +03:00] DEBUG [src\clipboard.rs:169] try to empty client cliprdr for conn_id 0 [2025-10-27 10:48:53.375758 +03:00] INFO [src\client\io_loop.rs:1057] sync transfer job status [2025-10-27 10:48:53.376227 +03:00] INFO [src\client\io_loop.rs:1068] meta: TransferSerde { write_jobs: [], read_jobs: [] } [2025-10-27 10:48:53.376310 +03:00] INFO [src\client.rs:2941] Audio decoder loop exits [2025-10-27 10:49:05.376664 +03:00] INFO [src\flutter.rs:1392] Session 154955227 start, use texture render: true [2025-10-27 10:49:05.766816 +03:00] DEBUG [src\client.rs:392] TCP connection establishment time used: 388.7252ms [2025-10-27 10:49:05.766908 +03:00] INFO [src\client.rs:407] rendezvous server: rs-ny.rustdesk.com:21116 [2025-10-27 10:49:05.767050 +03:00] INFO [src\client.rs:470] #1 TCP punch attempt with 192.168.1.67:53548, id: 154955227 [2025-10-27 10:49:08.985998 +03:00] INFO [src\client.rs:470] #2 TCP punch attempt with 192.168.1.67:53548, id: 154955227 [2025-10-27 10:49:14.987240 +03:00] INFO [src\client.rs:470] #3 TCP punch attempt with 192.168.1.67:53548, id: 154955227 [2025-10-27 10:49:17.473186 +03:00] INFO [src\client.rs:532] relay requested from peer, time used: 12.0950969s, relay_server: ovh-fr1.rustdesk.com [2025-10-27 10:49:18.047041 +03:00] INFO [src\client.rs:572] 573.8168ms used to establish Relay connection [2025-10-27 10:49:21.079476 +03:00] DEBUG [src\client\io_loop.rs:204] get cliprdr client for conn_id 13 [2025-10-27 10:49:21.730960 +03:00] DEBUG [src\ui_session_interface.rs:1718] handle_peer_info :PeerInfo { username: "artie", hostname: "nest", platform: "Windows", displays: [DisplayInfo { x: 0, y: 0, width: 1920, height: 1080, name: "\\\\.\\DISPLAY13", online: true, cursor_embedded: false, original_resolution: MessageField(Some(Resolution { width: 1920, height: 1080, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), scale: 1.0, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }], current_display: 0, sas_enabled: true, version: "1.4.3", features: MessageField(Some(Features { privacy_mode: true, terminal: true, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), encoding: MessageField(Some(SupportedEncoding { h264: true, h265: true, vp8: true, av1: true, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), resolutions: MessageField(Some(SupportedResolutions { resolutions: [Resolution { width: 1024, height: 768, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1360, height: 768, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1440, height: 900, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1600, height: 900, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1600, height: 1200, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1920, height: 1080, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 1920, height: 1200, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 2560, height: 1440, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }, Resolution { width: 3840, height: 2160, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }], special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), platform_additions: "{\"amyuni_virtual_displays\":1,\"has_file_clipboard\":true,\"idd_impl\":\"amyuni_idd\",\"is_installed\":true,\"support_view_camera\":true,\"supported_privacy_mode_impl\":[[\"privacy_mode_impl_exclude_from_capture\",\"privacy_mode_impl_mag_tip\"],[\"privacy_mode_impl_virtual_display\",\"privacy_mode_impl_virtual_display_tip\"]]}", windows_sessions: MessageField(None), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } } [2025-10-27 10:49:21.735151 +03:00] INFO [src\client.rs:2578] peer info supported_encoding:SupportedEncoding { h264: true, h265: true, vp8: true, av1: true, i444: MessageField(Some(CodecAbility { vp8: false, vp9: true, av1: true, h264: false, h265: false, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } })), special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } } [2025-10-27 10:49:21.735455 +03:00] INFO [src\clipboard.rs:812] Subscribe clipboard listener: client-clipboard [2025-10-27 10:49:21.735468 +03:00] INFO [src\clipboard.rs:821] Start clipboard listener thread [2025-10-27 10:49:21.736060 +03:00] INFO [src\clipboard.rs:838] Clipboard listener thread started [2025-10-27 10:49:21.736080 +03:00] INFO [src\clipboard.rs:841] Clipboard listener subscribed: client-clipboard [2025-10-27 10:49:21.736102 +03:00] INFO [src\client.rs:982] Start client clipboard loop [2025-10-27 10:49:21.736054 +03:00] DEBUG [src\clipboard.rs:876] Clipboard listener started [2025-10-27 10:49:21.757722 +03:00] DEBUG [src\client.rs:2932] recved audio format, sample rate=48000 [2025-10-27 10:49:21.758803 +03:00] INFO [src\client.rs:1350] Using default output device: "Speakers (2- Realtek(R) Audio)" [2025-10-27 10:49:21.759583 +03:00] INFO [src\client.rs:1356] Default output format: SupportedStreamConfig { channels: 2, sample_rate: SampleRate(48000), buffer_size: Range { min: 0, max: 4294967295 }, sample_format: F32 } [2025-10-27 10:49:21.759600 +03:00] INFO [src\client.rs:1357] Remote input format: AudioFormat { sample_rate: 48000, channels: 2, special_fields: SpecialFields { unknown_fields: UnknownFields { fields: None }, cached_size: CachedSize { size: 0 } } }
Author
Owner

@wildwind123 commented on GitHub (Nov 23, 2025):

i got same. "Connected, waiting for image...".

Linux -> windows 11.

I connect string like

123123123@public

I disable vpn. And it work.

@wildwind123 commented on GitHub (Nov 23, 2025): i got same. "Connected, waiting for image...". Linux -> windows 11. I connect string like ``` 123123123@public ``` I disable vpn. And it work.
Author
Owner

@mrfakeryangs-coder commented on GitHub (Jan 4, 2026):

i got same too. I had to reboot my client to fixed it temporarily.But this problem still exists.

@mrfakeryangs-coder commented on GitHub (Jan 4, 2026): i got same too. I had to reboot my client to fixed it temporarily.But this problem still exists.
Author
Owner

@Lippiece commented on GitHub (Jan 13, 2026):

i got same too. I had to reboot my client to fixed it temporarily.But this problem still exists.

Which client? The one you connect to or the one you connect from?

@Lippiece commented on GitHub (Jan 13, 2026): > i got same too. I had to reboot my client to fixed it temporarily.But this problem still exists. Which client? The one you connect to or the one you connect from?
Author
Owner

@Aqua1ung commented on GitHub (Jan 26, 2026):

I couldn't believe my eyes, but apparently enabling "Disable screen share protections" in Android's "Developer options" seems to be fixing this issue!!

Android users, give it a try!

[Of course, when enabling RustDesk's "Screen Capture" service, you still have to manually allow "Screen Capture." Nevertheless, the service can stay in the background all the time.]

@Aqua1ung commented on GitHub (Jan 26, 2026): I couldn't believe my eyes, but apparently **enabling "Disable screen share protections" in Android's "Developer options"** seems to be fixing this issue!! Android users, give it a try! [Of course, when enabling RustDesk's "Screen Capture" service, you still have to _manually_ allow "Screen Capture." Nevertheless, the service can stay in the background all the time.]
Author
Owner

@Il-po commented on GitHub (Feb 1, 2026):

same problem guys even enable disable screen share protections! Mac->android 15
rustdesk last version

@Il-po commented on GitHub (Feb 1, 2026): same problem guys even enable disable screen share protections! Mac->android 15 rustdesk last version
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/rustdesk-rustdesk#2107
No description provided.