Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: viewtopic.php?t=37864

Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://twitter.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc

Autoreconnect through KVM-Switch (DesktopWndProc : WM_DISPLAYCHANGE)

Post Reply
3D-Admin
Posts: 3
Joined: 2023-08-16 09:22

Autoreconnect through KVM-Switch (DesktopWndProc : WM_DISPLAYCHANGE)

Post by 3D-Admin »

I use UltraVNC 1.4.3.1 x64
I register all PCs by waking them up via Wake on Lan. The monitor is switched off.
I have the following error on a Windows 11 PC (let's call it PC "A") with a KVM switch (ATEN 2-Port USB HDMI KVM Switch w/Audio) which connects two PCs with one mouse, keyboard and only one monitor. A button on the switch can be used to switch back and forth between the two PCs.
When the switch is set to PC "A", UltraVNC Viewer works as usual.
But if the switch is set to PC "B" (which is still switched off), the viewer will constantly reconnect or crash. The operation of the PC is only possible for seconds, because the viewer displays a black screen (and sometimes also "connection lost"). This process repeats itself every 5-10 seconds.

I know I just need to make sure how the swtich is standing, but if the behavior can be changed through the viewer, I appreciate any help.
And If more logs are needed, I'm happy to help.

Here is an example from the error log:
Thu Aug 17 07:41:25 2023
WinVNCAppMain : WinVNCAPPMain-----Application started
WinVNCAppMain : server created ok
imp_desktop_thread : OpenInputdesktop OK
--Falscher Parameter.
imp_desktop_thread : SelectHDESK to Default (260) from f8
imp_desktop_thread : Username SYSTEM
vncMenu::vncMenu : vncmenu(server)
vncServer::EnableConnections : trying port number 5900
--Das System kann die angegebene Datei nicht finden.
Thu Aug 17 07:41:27 2023
vncSockConnectThread::run_undetached : started socket connection thread
--Falscher Parameter.
Thu Aug 17 07:41:35 2023
vncSockConnectThread::run_undetached : accepted connection from 192.168.1.xx
vncServer::AddClient : AddClient() started
vncClientThread::run : client connected : 192.168.1.xx (1)
--Falscher Parameter.
vncClientThread::InitVersion : Send protocolMsg
vncClientThread::InitVersion : Send_OK
vncClientThread::InitAuthenticate : Leaving InitAuthenticate
vncDesktopThread::run_undetached : Hook changed 1
--Falscher Parameter.
vncDesktopThread::run_undetached : Hook changed 2
vncDesktop::InitVideoDriver : Driver option is enabled
--Die angeforderte Ressource wird bereits verwendet.
vncDesktop::InitVideoDriver : Try ddengine
vncDesktop::InitVideoDriver : Start Mirror driver
vncDesktop::InitVideoDriver : Driver Used
vncDesktop::InitVideoDriver : Shared memory mapped
vncDesktop::InitBitmap : No driver used
vncDesktop::InitWindow : InitWindow called
--Falscher Parameter.
vncDesktop::InitWindow : InitWindow:OpenInputdesktop OK
vncDesktop::InitWindow : InitWindow:SelectHDESK to Default (560) from f8
DesktopWndProc : wmcreate
vncDesktop::InitWindow : OOOOOOOOOOOO load hookdll's
vncDesktop::InitWindow : OOOOOOOOOOOO start dispatch
--Das angegebene Modul wurde nicht gefunden.
vncDesktop::SethookMechanism : Sethook_restart_wanted hook=0 driver=1
vncEncoder::SetTranslateFunction : only 8, 16 or 32 bits supported remotely - 0 requested
vncDesktop::SethookMechanism : Hookdll status changed
vncEncoder::SetTranslateFunction : only 8, 16 or 32 bits supported remotely - 0 requested
vncDesktopThread::run_undetached : Wait for viewer init
DesktopWndProc : WM_DISPLAYCHANGE
DesktopWndProc : Resolution switch by driver activation removed
vncDesktopThread::run_undetached : Wait for viewer init
vncDesktopThread::run_undetached : Hook changed
vncDesktopThread::handle_display_change : ++++Screensize changed
--Die angeforderte Ressource wird bereits verwendet.
vncDesktopThread::handle_display_change : m_desktop->Shutdown --Die angeforderte Ressource wird bereits verwendet.
desktopSelector::SelectHDESK : SelectHDESK to Default (f8) from f8
Thu Aug 17 07:41:36 2023
vncDesktopThread::handle_display_change : m_desktop->StartupvncDesktop::InitVideoDriver : Driver option is enabled
--Die angeforderte Ressource wird bereits verwendet.
vncDesktop::InitVideoDriver : Try ddengine
Thu Aug 17 07:41:37 2023
DesktopWndProc : WM_DISPLAYCHANGE
DesktopWndProc : Resolution switch detected, driver active
vncDesktop::InitVideoDriver : Start Mirror driver
vncDesktop::InitVideoDriver : Driver Used
vncDesktop::InitVideoDriver : Shared memory mapped
vncDesktop::InitBitmap : No driver used
vncDesktopThread::handle_display_change : threadHandle
vncDesktopThread::handle_display_change : threadHandle2
vncDesktopThread::handle_display_change : Size changed
vncDesktopThread::handle_display_change : ***********###############************ 0 0 0 0 1920 1080
vncClient::SetNewSWSize : updating local pixel format and buffer size
DesktopWndProc : WM_DISPLAYCHANGE
DesktopWndProc : Resolution switch by driver activation removed
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6839
Joined: 2004-04-23 10:21
Contact:

Re: Autoreconnect through KVM-Switch (DesktopWndProc : WM_DISPLAYCHANGE)

Post by Rudi De Vos »

Headless systems doesn't seem to activate the video card and that(s required for vnc to work.
This change is in win11 and latest win10, before you always had as some display.
The OS give a random value back as display, this was crashing the server, in latest version the crash should be solved, but without video card
you still doesn't see anything.

UltraVNC has a virtual display, even with the monitor off you can fake one.
There are reports that this solves the disabled video card for headless system.

A kvm isn't a headless system, but it looks like it also could be a solution in this case.
3D-Admin
Posts: 3
Joined: 2023-08-16 09:22

Re: Autoreconnect through KVM-Switch (DesktopWndProc : WM_DISPLAYCHANGE)

Post by 3D-Admin »

Rudi De Vos wrote: 2023-09-17 17:38 Headless systems doesn't seem to activate the video card and that(s required for vnc to work.
This change is in win11 and latest win10, before you always had as some display.
The OS give a random value back as display, this was crashing the server, in latest version the crash should be solved, but without video card
you still doesn't see anything.

UltraVNC has a virtual display, even with the monitor off you can fake one.
There are reports that this solves the disabled video card for headless system.

A kvm isn't a headless system, but it looks like it also could be a solution in this case.
Hello Rudi, thank you for the explanation.
How do I make sure that the virtual display is activated/used?
Is there a setting for this and if so, where?
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6839
Joined: 2004-04-23 10:21
Contact:

Re: Autoreconnect through KVM-Switch (DesktopWndProc : WM_DISPLAYCHANGE)

Post by Rudi De Vos »

Driver is installed as part of the server setup.

The viewer display options allow to controle the driver.
With the Extend option you add an extra display
Post Reply