mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-03-02 19:26:56 -05:00
Virtual display driver resets to 1024x768 when remote machine is restarted #1773
Labels
No labels
bug
documentation
duplicate
enhancement
enhancement
enhancement
good first issue
help wanted
invalid
question
unreproducible
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/rustdesk-rustdesk#1773
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @FCrane on GitHub (May 13, 2023).
Bug Description
Hi!
When I use the virtual display driver provided by Rustdesk (and no display is attached to the remote machine), there a a few issues:
The resolution can not be changed in the "Display Settings" of Windows 11 directly. I can select any resolution from the drop list, Windows asks me if I want to keep the change, but no change has occurred. It always stays at 1024x768.
I can successfully change the resolution in "Advanced Display" -> "Display adapter properties for Display 1". However, when the remote OS is restarted, it always reverts back to 1024x768.
Regards!
How to Reproduce
See description
Expected Behavior
Resolution change possible from regular "Display Settings" and should be kept after reboot.
Operating system(s) on local side and remote side
Windows 11 x64
RustDesk Version(s) on local side and remote side
Latest nightly
Screenshots
n/a
Additional Context
No response
@rustdesk commented on GitHub (May 13, 2023):
@fufesou make sense, high priority.
@fufesou commented on GitHub (May 13, 2023):
We can't detect the changes of the virtual display.
But we can provide the ability to change the resolution through Rustdesk. And remember the resolution.
@rustdesk commented on GitHub (May 13, 2023):
Yes, remember on controlling side.
@FCrane commented on GitHub (May 14, 2023):
But the remote OS itself has to remember (and display) the resolution correctly! Otherwise it would always revert to 1024x768 after a reboot (messing up icon positions, window positions of programs that are started with Windows and that are already open before RustDesk, etc.) and then change to whatever the user sets in RustDesk. This means 2 screen resolution changes (taking system resources, time for changing the screen, etc.) each reboot, which is not good...
@fufesou commented on GitHub (May 22, 2023):
@FCrane Hi, there a two features added:
They may solve your problems.
Can you please test and give some feedbak, thanks.
@rustdesk commented on GitHub (May 23, 2023):
close as fix merged
@FCrane commented on GitHub (May 23, 2023):
Sorry, but this is not working at all... With the new versions, when I restart Windows 11 and disconnect the monitor, Windows starts in 640x480 and becomes completely inoperable! I can't open the display settings, can't open the start menu, etc. Nothing seems to work anymore. Reconnecting a monitor makes the system work again...
@rustdesk commented on GitHub (May 23, 2023):
This has nothing to do with our virtual display (RustdesklddDriver device).
https://community.spiceworks.com/topic/2321053-stupid-640x480
https://community.teamviewer.com/English/discussion/34567/remote-resolution-is-640-x-480-until-i-turn-on-my-monitor
Headless EC2 windows servers have similar issues. they have built-in low resolution dummy display.
@FCrane commented on GitHub (May 23, 2023):
Sorry, still not working! I changed the resolution of the VIRTUAL monitor in the Registry to 1920x1200 and indeed Windows 11 then uses this resolution when starting without a monitor attached. However, Windows itself is still unusable! Dialogs do not work, layouts are wrong etc. Completely unusable! Only attaching a monitor works.
Sorry, but your "Virtual Display Driver" is unusable, At least on a freshly installed Windows 11, there is no way to get it running correctly without a physical monitor attached.
@FCrane commented on GitHub (May 23, 2023):
BTW: Without monitor attached, Windows shows "Display 1: Wired Display" an the driver for it is "Microsoft Basic Display Driver". So it seems your virtual display driver is not recognized by the system...
@fufesou commented on GitHub (May 23, 2023):
As @rustdesk said, your PC may have low resolution dummy display.
Only if rustdesk does not see any display, it will plug in a virtual display.
https://github.com/rustdesk/rustdesk/assets/13586388/901f3b70-7a75-4837-9b00-27445d404ccd
@rustdesk commented on GitHub (May 23, 2023):
@fufesou this is another common use case for virtual display, i will add to to-do list, but low priority.
@FCrane commented on GitHub (May 23, 2023):
On my Systems, the "RustdesklddDriver Device" NEVER appears!
@FCrane commented on GitHub (May 23, 2023):
Just 1 Display Adapter (the hardware one) and NO Monitors!
@FCrane commented on GitHub (May 26, 2023):
So I've now tried it on 2 completely fresh Windows 11 installations and it NEVER WORKS! The RustDesk Display Adapter NEVER shows up, neither does the monitor. There is NO WAY to get this working on a headless machine, it's always 640x480 and unusable...
Please fix this! I'm sure it affects ALL people with Windows 11, because as I said, it even occurs on completely fresh installations of the OS...
@rustdesk commented on GitHub (Jun 1, 2023):
@fufesou we need to have a way to detect this case (display turned off), this is very common, more common than no display. Let's do a quick and simple fix, if only one monitor and max(width, hight) <= 800, use our virtual display instead.
https://www.reddit.com/r/rustdesk/comments/13w1tmu/remote_session_screens_size_varies_depending_on/
@xboxhaxorz commented on GitHub (Jun 6, 2023):
I am having similar issue, there is no virtual display showing and when i change the resolution it automatically returns to 1024 x 768
The machine is used with an LG TV and RTX 3080, but sometimes i access the machine with tv off, does it always have to be on?
@rustdesk commented on GitHub (Jun 6, 2023):
@FCrane please test again, we put a new fix. https://github.com/rustdesk/rustdesk/issues/4359#issuecomment-1572621649
@rustdesk commented on GitHub (Jun 6, 2023):
This fix https://github.com/rustdesk/rustdesk/pull/4560 only handle case max(width, height) <= 800
@xboxhaxorz commented on GitHub (Jun 7, 2023):
I dont comprehend
@FCrane commented on GitHub (Jun 7, 2023):
Hi! I can't test the latest nightly, because it does not let me install it! I put the installer on a network drive, start the remote connection, start the installer there and as soon as I move the mouse inside the installer window, it turns gray and I can not click anything... What's going on? Why can't I upgrade the program remotely as I always did??? The remote machine does not have any mouse or keyboard and no monitor (currently a HDMI dongle simulating a monitor), so I need to install the new RustDesk version over the current one using a RustDesk remote connection. This has always worked (disconnecting during setup but then reconnecting just fine).
Regards!
@FCrane commented on GitHub (Jun 7, 2023):
Well I finally managed to install the latest nightly on another test machine (headless, not keyboard, no mouse, no monitor) and unfortunately, it's not working either. The display is stuck at 1024x768 and although I can select a different resolution in the display settings, the resolution never changes. 1024x768 only, nothing else.
Device manager shows original hardware display adapter only and a generic monitor...
So the RustDesk display driver is still not working and does not even show up...
@FCrane commented on GitHub (Jun 7, 2023):
BTW: should you eventually get the display driver working, that's not enough for a headless system: it also needs a mouse (or touchpad) simulation driver or otherwise, the cursor will not be displayed by Windows! This means the remote cursor shape will not be used in the RustDesk window, making it nearly impossible to work with the remote system (no sizing cursors, no text caret cursor, etc.)
Currently, I use a Thinkpad Digitizer driver (MouseDriver-7zgn12ww.exe), which makes Windows think a mouse is attached and so it displays the correct cursor shapes. Works great, but it'd be nice if it was not necessary to use this 3rd party software and RustDesk could provide that, too.
@fufesou commented on GitHub (Jun 7, 2023):
@FCrane Thanks for you test and feedback.
You mean the system "display settings" does not change the resolution?
Yes, virtual display will only appear if only one display and both width height are <= 800.
I think it's a good suggestion.
For now, we just draw a simple circle on the control side to fake a cursor, your suggestion may be better.
@fufesou commented on GitHub (Jun 7, 2023):
@FCrane Can you control you
1024x768side through rustdesk ?@FCrane commented on GitHub (Jun 8, 2023):
No, changing the resolution from the RustDesk dropdown menu does nothing.
I was able to "lower" the resolution with the display settings of Windows to 1024x600, but still no RustDesk display adapter showed up. So on this Win11 machine, I can choose between 1024x768 and 1024x600 with the Display Settings, but RustDesks driver NEVER shows up or takes control...
I think you need to "force" your display driver somehow, e.g. with a menu item in the drop menu. Simply override anything Windows thinks there is and tell it that there is only your driver. This will be the only way to get this working reliably. Workarounds like detecting low resolution etc. will obviously never work.
Regards!
@FCrane commented on GitHub (Jun 8, 2023):
Yes, please add this! It's not only "better", but absolutely necessary. You can not reasonably control a Windows system without correct cursor shapes... As I mentioned, resizing a window or placing the text caret cursor is almost impossible if the cursor shape does not indicate the action and precise position.
Thanks!
@fufesou commented on GitHub (Jun 8, 2023):
Did you use the latest ngihtly build? Just to confirm the problem.
As I have tested, changing resolutions to Win is Ok.
@FCrane commented on GitHub (Jun 8, 2023):
I just downloaded the latest nightly and installed it - same result. Selecting resolution from RustDesk drop-down menu does nothing.
Maybe it has something to do with the fact, that I already changed some registry settings on this test machine (like described in the tips above)? However, it still should work with the RustDesk display driver. After all everything works fine if I connect a monitor...
Maybe it's really best to "force" it with a menu item? Simply add an option in the screen menu to use the virtual display driver instead of the hardware one, the one simulated by the OS, etc.
@rustdesk commented on GitHub (Jun 16, 2023):
https://github.com/rustdesk/rustdesk/issues/1053#issuecomment-1595501747
@FCrane commented on GitHub (Jul 2, 2023):
The workaround above (#1053) does not help, because it only works till rebooting the device. After reboot, the resolution is set back to 1280 x 720 (for some strange reason).
Can this issue finally be fixed for good? The RustDesk display driver needs to be "forced" or it will never work...
@FCrane commented on GitHub (Jul 12, 2023):
I've now set up a test machine with Windows 11 22H2 22621.1992 and todays nightly of RustDesk v1.2.1. Windows is completely clean, nothing else installed except RustDesk. All options default (of course I enabled the option to install the virtual display driver, however only on the remote machine, of course - because it doesn't make sense to install it on the controlling side which always has a monitor, of course).
Still: detaching the monitor reverts the screen resolution to 1024x768 and the virtual display driver of RustDesk is not used (does not show anywhere)! Changing the resolution in Windows Display settings does NOTHING, changing the resolution in RustDesk toolbar does NOTHING either. The resolution is always stuck at 1024x768 when no monitor is attached to the remote machine! If I reattach the monitor, everything works as expected.
So the virtual display driver of RustDesk still is not working...
@rustdesk commented on GitHub (Jul 12, 2023):
We are considering your proposal, but it does not mean we will work on it promplty. You can create a feature request about this.
@FCrane commented on GitHub (Jul 12, 2023):
In my updated bug report, you asked: "Have we ever declared it solved in 1.2.1?"
No, but "fufesou" (and others) claimed it already worked in 1.2.0! He can change the resolutions. Other users suggested workarounds, which all did not work on any freshly installed Windows 11 I tested. Also, the issue was never confirmed by the developer team and even was closed (see this bug report or https://github.com/rustdesk/rustdesk/issues/4597). I'd assume an issue would only be closed if it is solved? Or at least the last message should indicate that it is still unsolved and / or worked on.
I would not know where to find information about which issues have been resolved and which haven't. There doesn't seem to be a comprehensive version history, especially for the nightly builds.
The setup is offering to install the display driver for months now and it has never worked! If it's impossible to solve or if there are no resources to do so, simply remove the option from the setup until you are ready to implement it in a way that works for the majority (on default and clean OS installations), since it's completely pointless to keep a non-working "feature" and will only confuse people.
@fufesou commented on GitHub (Jul 12, 2023):
Thanks for your feedback.
We will continue working on it. But we may not work on it promptly.
All issues are actually two:
Parsec has a setting to add additional virtual displays during the connections.
https://github.com/rustdesk/rustdesk/issues/4974#issuecomment-1633308140
@lrq3000 commented on GitHub (Jul 12, 2023):
@FCrane So indeed the issue you noticed is present for others, at least for me and another user too.
However, I have a system that is fully functional, with some manual modifications on my system on top of RustDesk. So maybe my tips may help you get your system into a useable state until RustDesk implements natively these features:
About the lack of a mouse cursor, this is a common issue for all remote desktop softwares, Parsec has similar issues. And a similar, easy solution: just enable the "Numpad mouse" option that is native to Windows. See this tutorial. The mouse cursor should reappear as soon as this option is enabled, no need to reconnect or reboot.
About the display issues when no external monitor is installed, and the lack of the RustDesk virtual display driver, you can install a similar (the same?) driver by yourself from https://github.com/ge9/IddSampleDriver . Of course, you will not be able to install using RustDesk without a monitor, so you need to attach a monitor first. But once this driver is installed, you can go to Windows settings to change the virtual monitor default resolution to your liking, and then reboot your computer, without a monitor attached, and RustDesk should now work fine!
@rustdesk commented on GitHub (Jul 12, 2023):
Let's move discussion to https://github.com/rustdesk/rustdesk/issues/4974, because it has better title to describe the issue. I will lock this one.
@rustdesk commented on GitHub (Jul 12, 2023):
@fufesou let's modify the tip to clearly say it is installing the cert rather than the driver, and when we will install the driver after user agree with installing the cert.
@rustdesk commented on GitHub (Aug 23, 2023):
@fufesou let's try out add this menu item if max(w, h) <= 1024 in the resolution list.
@rustdesk commented on GitHub (Oct 20, 2023):
https://github.com/rustdesk/rustdesk/discussions/6114
@rustdesk commented on GitHub (Oct 29, 2023):
close as fix merged https://github.com/rustdesk/rustdesk/pull/6199