## 1.3.1 RC

### 1.3.1 RC

changes
Installer:
driver is installed from installer
You can manual install it
winvnc.exe -installdriver
It's better that winvnc doesn't auto install it.

performance update for multi monitors when using ddengine

You can limit the FPS(ddengine), using a Slider on server poll properties dialog)
Settings are NOT dynamic, viewer need to reconnect to make new settings active.
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

For the past two releases, 11/15/2020 and 11/22/2020 I have had a mouse alignment issue. I am connecting from a Win10 Home/64 laptop, 1 screen, running UltraVNC 1.3.1, to my office PC, Win7 Pro/64 desktop with 3 screens, running UltraVNC 1.3.1. My initial connection shows my main screen (center) auto zoom to fill my local screen. I can click anywhere on the screen and the click on the remote screen is in the correct location.
When I click the "Select Full Desktop" button my local view enlarges to where I can see all three monitors. The horizontal scroll bar shifts to the left and I can see the left monitor. The problem is that my mouse pointer only clicks within my main monitor on the remote PC. When the Horizontal bar goes full left to show me the left monitor, I can click along the left edge on this monitor and my remote PC acts as if I had clicked the same position on my main (center) monitor. If I move my horizontal bar to my center (main) monitor and click near the left edge, the remote PC acts as if I clicked slightly to the right of where I actually clicked. If I center the mouse on my center monitor and click, the click on my remote PC is in the correct position. If I move the horizontal scroll bar to the right monitor and click on the right edge of my right most monitor, the remote PC acts as if I clicked on the right most edge of my center monitor.
I rolled back my office PC to the release 1.3.0, 10/27/2020 which does not have this problem. I am still running the 1.3.1 release on my laptop. I hope this is only isolated to my setup, but I thought I would let you know. I am sorry I did not provide this feedback earlier.
Thanks for all your amazing work on this program.
ddbivens
40

Posts: 114
Joined: 2015-12-26 14:53
Location: Tellico Plains, TN 37385 USA

### Re: 1.3.1 RC

Hello Rudi
since VNC Viewer version 1.2.3 i noticed problems with the "MRU List" of connections. The Most Recent Used (history list) of the last servers where i was connected is not updating correctly (i'm on a Win10 64bits laptop) : from time to time the last server is not in the scroll-down history and is not proposed as default selected entry when i launch VNC-Viewer. Perhaps it is an little difference between typing the name of the server + ENTER or typing the name of the server + CLICK on the "Connect" button.
If you could add an "MRU List" editor in the viewer it will be cool : it must allow to edit the history list and at minimum have an option to clear this history list...

Thank you for developing the UltraVNC tools, they are very good utilities i am using day after day (since XP versions !).
Best regards from France.

Joel
Jojo67

Posts: 5
Joined: 2020-11-20 18:15

### Re: 1.3.1 RC

ddbivens:
Just to be able to repeat your test
server win7; no ddengine, no virtual displays OS need to be higher.
mirror driver ? no
You switch between prim/all.
I should be able to repeat it by disabling thoose parts on win10 and using pure blit capturing.
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

Yes, that is my setup. I was on vacation for the past several days. I will try to do more testing when i return to work today. I use a Windows 7 with 3 monitors but I also have a Win10 with a single monitor I can reach out from. I will try to provide results this afternoon. Thank you for looking into this so quickly.
ddbivens
40

Posts: 114
Joined: 2015-12-26 14:53
Location: Tellico Plains, TN 37385 USA

### Re: 1.3.1 RC

MRU are in the options.vnc, same folder as the viewer
Code: Select all
[connection]index=AONMLCKJIHGFEDBB=localhost:5950C=localhost:5900D=uvnc.comE=uvnc.com2...O=192.168.1.51A=localhost

index is the order

You also have
AppData\Local\vnc
a config file for eache MRU entry
LOCALHOST-5900.vnc
LOCALHOST-5950.vnc
UVNC.COM-5900.vnc
...

Correct, no MRU manager. I add it to the todo list. Could be handy and not that hard to implement.

update: made a minor modification so connect auto save.
The viewer has the bottons to save/load/delete, but MRU was not auto saved on connection, you manual needed to save it.
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

Using the 1.3.1 installer in silent mode I am facing the issue again that during installation an interactive prompt to accept the driver installation is popping up. It looks like the certificate deployment is again missing.

Edit:
I noticed likely the installer is calling "winvnc.exe -installdriver" during installation. It seems not to add the certificate to trusted publishers so an interactive prompt will be shown.
Note that I recommend to install the certificate, then add the driver and then remove the certificate from the trust store immediately. The driver will continue to work but even if the certificate gets compromised this does not impose a permanent security risk to systems where UVNC is installed.

I have also noticed that during uninstall of UVNC it does not remove the driver from Windows driver store. I do recommend to do this during uninstall:
pnputil /delete-driver pat\to\UVncVirtualDisplay.inf /force

Note: You can check if the driver is still installed by using "pnputil /enum-drivers" which should not list the virtual display driver any more.

Also here I recommend to assure the certificate is removed from any trust store.

My recommendation (to be discussed) would be:
• UVNC installer itself does just deploy the files and might call "winvnc.exe -installdriver" after deployment
• winvnc.exe -installdriver shall...
• Deploy certificate to trust store (certmgr)
• Install driver (pnputil)
• Remove certificate from trust store (certmgr)
winvnc.exe option "-uninstalldriver" to assure both the certificate and the driver to be removed might be handy as both -installdriver and -uninstalldriver options might provide some abstractions from potential OS-specific certificate and driver handling so the correct procedure for the target OS can be selected by winvnc.exe.

Edit:
Noticed another "glitch".
As you were referring to the possibility to change the desktop duplication max FPS I was looking for the setting in UNV settings. But I noticed there is no such setting in uvnc_settings.exe on "Screen Capture" tab. Then I found the setting is only visible if "Properties" are opened on the UVNC tray icon.
Unfortunately I did have the tray icon disabled initially and not everyone might have it enabled.
I think the "Screen Capture" dialog of uvnc_settings.exe needs a re-sync. It also misses the "Low Accuracy (Turbo Speed)" checkbox and somehow the Max CPU setting seems to refer to another option too. The Screen Capture tab seems to default to 0 "Max Cpu" and refer to "MaxCPU=" value in ultravnc.ini while the properties dialog "Max Cpu" setting seems to default to 100 and referring to the "MaxCPU2=" INI parameter.

To be honest I am slightly confused about those different max CPU settings and not sure which takes precedence. I think the settings need urgently to be synchronized.
SkyBeam
40

Posts: 69
Joined: 2012-12-31 11:01

### Re: 1.3.1 RC

cert and driver install fixed.
The cert install didn't worked in any version, was missin a ", bacause i added the install of the driver to the installer you get this error. On my system the cert is installed so i never saw that the cert didn't installed.

Code: Select all
[Run]Filename: "certutil.exe"; Parameters: "-addstore ""TrustedPublisher"" ""{app}\ultravnc.cer"""; Flags: runhidden; StatusMsg: "Adding trusted publisher..."; Components: UltraVNC_Server UltraVNC_Server_SFilename: "{app}\WinVNC.exe"; Parameters: "-installdriver"; Flags: runhidden; StatusMsg: "Installing virtual driver..."; Components: UltraVNC_Server UltraVNC_Server_SFilename: "certutil.exe"; Parameters: "-delstore trustedpublisher 01302f6c9f56b5a7b00d148510a5a59e"; Flags: runhidden; StatusMsg: "Removing trusted publisher..."; Components: UltraVNC_Server UltraVNC_Server_S

you need all " ""{app}\ultravnc.cer"""

Currenr installer does
• Deploy certificate to trust store (certutil)
• Install driver (winvnc.exe -installdriver)
• Remove certificate from trust store (certutil)
certutil...certmgr doesn't exist by default

The default for MaxCpu should be 100.
The problem is that we measure a sinlge thread, on 4 or 8 core systems with HT the default 40 is 2,3% cpu.
Everybody has the 40 in the ini files.
But as it's saved in the ini file it can't be changed using the same parameter.

Maxcpu2 replace Maxcpu... but you are correct, uvnc_settings is still a old version.
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

Rudi De Vos wrote:On my system the cert is installed so i never saw that the cert didn't installed.

I was assuming so. Another reason to only temporary deploy the certificate. However on the development/build system you likely need it installed permanently.

Rudi De Vos wrote:The default for MaxCpu should be 100.
The problem is that we measure a sinlge thread, on 4 or 8 core systems with HT the default 40 is 2,3% cpu.
Everybody has the 40 in the ini files.
But as it's saved in the ini file it can't be changed using the same parameter.

Maxcpu2 replace Maxcpu... but you are correct, uvnc_settings is still a old version.

Not sure if I got this right. You introduced MaxCpu2 to replace MaxCpu which is set improperly on many systems?
If this is correct then just the settings tab in uvnc_settings need an update to deal with the new value as this also means the values set there currently don't have any effect as MaxCpu (without the 2) is ignored.

I do confirm the cert and driver is now properly installed.
Also the driver seems to get properly removed on uninstall.

Nevertheless an "-uninstalldriver" option to winvnc.exe might be handy. Strange enough there is no error message when using "winvnc.exe -uninstalldriver" but it silently seems to execute "-uninstall" which deletes the service. At least this was unexpected.

Also "-?" or "--help" options show a command line help which is quite useless without the documentation and also missing any clue about -installdriver so the help screen could use a rework too (perhaps just display a link to the documentation along with the list of arguments for further information).

Edit: I noticed the certificate (ultravnc.cer) is installed/deployed during the installation but after completion it's deleted from the installation folder. Any reason why you remove it after installation? In fact if I want to use the certificate to validate the signature I would have to extract it now from the cab file. The Certificate is public and can be shared and also left on the system. So I would appreciate if the ultravnc.cer file remains in the installation folder after installation.
SkyBeam
40

Posts: 69
Joined: 2012-12-31 11:01

### Re: 1.3.1 RC

I did more testing today at work. All OSs are Windows Pro at work. From Win7/64, 3 monitors to Win10/64, 1 monitor. Connecting to a PC with a single monitor shows no issues. From Win7/64, 3 monitors to Win10/64, 2 monitors. From Win7/64, 1 monitor to Win10/64, 2 monitors. From Win10/64, 1 monitor to Win10/64 2 monitors. From Win10/64, 2 monitor to Win10/64 2 monitors. (There were 2 different PCs with Win10/64 2 monitors setup that were the 'to' PCs.) The results were the same no matter which system I was connecting from or which PC I was connecting to (with 2 monitors). The mouse alignment issue is still there. When I connect to the remote PC, the default is to show both monitors of the remote PC on my main monitor. When I move the mouse to point at the remote's left (main) monitor, left edge, the mouse local mouse pointer and remote mouse pointer are in the same location. The more I move the mouse to the right, the greater the distance between what I am pointing at and what the remote mouse is pointing at.
---
I downloaded and installed the release you just put up on the web site. I did a quick test on one setup (From Win10/64 Home, laptop, one monitor, to Win7/64 Pro, 3 monitors and found I could not test it. The Toolbar is not displayed by default (even though I have it selected in the options menu, Show Buttons Bar (To..)).The "Select Full Desktop" button is missing from the toolbar when I do get the toolbar to show (CTRL-F11) or select it from the menu. I have to use the menu Display / Normal Screen, then the "Select Full Desktop" button shows. However, it does not work as it has in the past. If I click the button once, which on this one setup should expand to show all monitors, instead I get a scrambled display which looks like the output of all three monitors are overlayed as a single monitor output. The horizontal scroll bar does not expand and I can't scroll to right to show the other monitor(s). I click the "Select Full Desktop" button again and I go back to the standard, main, monitor display where the mouse alignment is not an issue (singe monitor displayed).
I hope the feedback helps. If I am the only one with this issue, then I will just stick with the 10/27/2020 release for now.
ddbivens
40

Posts: 114
Joined: 2015-12-26 14:53
Location: Tellico Plains, TN 37385 USA

### Re: 1.3.1 RC

I Was able to repeat it.
Server code to support unlimited dispay, has some mouse offset issue.
This was a big patch, gonna take some time to find
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

Fixed:
server: Mouse offset ( was a simple true/false mistake)
viewer: save MRU on connect

toolbar + fullscreen
This wil not longer work. Like RDP toolbar is disabled in fullscreen mode ( change).
The mini toolbar ( auto hide in fullscreenmode) need to contain the usefull buttons.
Current, screenshot and switchscreen..other can be added...but as littel as possible.

Gonna attack the uvnc_settings to get all back in sync.
Corana is good for one thing, working from home give me 3 more hours a day to play with the code...
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

Really good news. Thank you.

What do you think about the proposal to NOT remove the ultravnc.cer from the installation folder during deployment? I think there is absolutely no need to remove it. You need it during installation to add the certificate to the trust store (temporary) but it could be left there for other purposes like admins to fetch it for policy deployment (the exe is signed with the same cert). Leaving it in the installation folder would ease the process of extracting it.
SkyBeam
40

Posts: 69
Joined: 2012-12-31 11:01

### Re: 1.3.1 RC

The cert can stay there, it's the public cert.

inno setup: removed delateafter install parameter
updated: uvnc_settings.exe MaxCpu2 MaxFPS

ReUploaded files setup exe and zip

Part by part we are gettings closer to a stable release.

Thanks for all the feedback, i can't test all cases myself

I could not repeat the scrambled monitors, possible fixed with the mouse offset or require other options
then the one i'm using for testing.
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

I think I have found something that might need to be looked at.
I was trying to save "Show Toolbar" and "Save Size on exit", both on, for the current connection and as the default settings. I would open the VNC viewer, open: Show Options / Display / (select) Save Size on exit. / (select) Show toolbar. Click Save. Click Save as default. I would type in the PC name, click the Connect button, type in the password. The toolbar was showing and the vnc\pcname.vnc file would have both lines:
showtoolbar=1
SaveSize=1
I would close the VNCViewer window. Open VNCViewer.exe (pcname is displayed). If you look at the options, they don't change, so don't open Show options, (look at the pcname.vnc file), click the Connect button and type in the password, (look at the pcname.vnc file before pressing Enter). The two lines have changed to:
showtoolbar=0
SaveSize=0
Close the connection.
I did a nonsense test and did a search / replace of =0 to =1 in the vnc\pcname.vnc file. I connected to the same PC, clicked connect, typed in the password. Before I pressed enter, I looked at the vnc file. There were 54 lines that had changed back to =0.
I think that the values are being reset to defaults when they are not supposed to be reset.
EDIT: I renamed the C:\Users\UserLoginName\AppData\Local\vnc folder and blocked it from being recreated. I opened VNCViewer.exe and connected to the PC several times. The toolbar was showing each time I connected.
ddbivens
40

Posts: 114
Joined: 2015-12-26 14:53
Location: Tellico Plains, TN 37385 USA

### Re: 1.3.1 RC

Perhaps I am just confusing myself now but I have a comment regarding the new virtual screen feature:
Currently I can select "Change server resolution" and then via radio button I can chose between 2 options:
• "use only virtual displays": This will blank the local screen and just display the virtual screen with the chosen resolution remotely.
• "Extend remote display": This will add a virtual screen with the requested resolution and add it to the local screen (resulting in a 2-screen setup).
(assuming the server has 1 local screen)

As of what I remember in early versions of 1.3.x this was not a radio box but checkboxes. This allowed also to just change the server screen resolution WITHOUT actually dealing with virtual screens. And I think this is a valuable feature too.

Assume you are connecting to a host with a 4k screen but your client only has a ful-HD screen. Reducing server resolution usually works better and performing better than mirroring a 4k screen and locally scaling it to Full-HD (yes, I can use viewer scaling).

Perhaps another radio-button could be added: "Just change main screen resolution" which will not add any virtual screens but change the resolution of the main screen to the requested resolution. If multiple screens are connected to the server perhaps just chaning resolution on the main one would be sufficient in this case (ignoring any supplementary screens).
SkyBeam
40

Posts: 69
Joined: 2012-12-31 11:01

### Re: 1.3.1 RC

settings -> 0
Dammm.
Changed MTU to be saved on connect and not only save.
Value's are loaded in the connect module and save is a part of the settings..save without load -> 0

Fixed: dummy mistake
save/load/connect wil never work
Need to be load/save/connect
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

A 3de Radio button make sense...will add it.
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

Fixed connect reset.

Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

Thank you for fixing the save issue. That is working perfectly now.
.
On this newest release, I am having a problem when I click on the Select Full Desktop button on 2 out of 3 systems tested.
.
(Win10/64 pro with 3 monitors 1 built in, 2 are USB2VGA adapters - left monitor is main monitor.)
secondary=0: 3 monitors. Starts with 1 monitor displayed. Expand / collapse / expand / collapse. Works as expected.
secondary=1: 3 monitors. Starts with 3 monitors displayed. Expand / collapse / expand / collapse. Works as expected.
.
(Win7Pro/64 3 monitors, 2 are on an NVidia video card, 1 is USB2VGA adapter - middle monitor is main monitor.)
secondary=0: 3 monitors. Starts with 1 monitor displayed. Expand shows 3 monitors / collapse shifts main monitor to the left of the VNC Window - which stays expanded - display of monitor 2 (main) and 3 are still visible but will not accept input / Expand shows 3 monitors and everything is working again on all monitors / repeats.
secondary=1: 3 monitors. Starts with 3 monitors displayed. Collapse (works), moves monitor 2 (main) contents to single monitor display / Expand (fails - does not expand the VNC Viewer Window but changes to show the left monitor contents instead of the main (2) monitor/ Collapse - shows monitor 2 (main) contents instead of left monitor contents).
.
(Win10/64 pro with 2 monitors on an NVidia video card - left monitor is main monitor.)
secondary=0: 2 monitors. Starts with 1 monitor displayed. Expand shows 2 monitors / Collapse shifts main monitor to the left of the VNC Window - which stays expanded - display of monitor 2 is still visible but will not accept input / Expand shows 2 monitors and everything is working again on both monitors / repeats.
secondary=1: 2 monitors. Starts with 2 monitors displayed. Collapse (works) / Expand (fails - does not expand the VNC Viewer Window - no visible difference from Collapse / Collapse - no visible difference).
ddbivens
40

Posts: 114
Joined: 2015-12-26 14:53
Location: Tellico Plains, TN 37385 USA

### Re: 1.3.1 RC

I'm trying to find some test that cover all.
DDE or not make a difference, not win7 or win10. A win10 without DDE run as win 7

SysTray show if dde is used or not

All empty [v ]toolbar to switch in window mode.

Window mode
-----------------------------------------------DDE--------------------BLIT
screen switch orde-----------------------1,2,3,ALL-------------1,ALL
screen switching ok ----------------------- OK---------------------OK

Fullscreen mode
-----------------------------------------------DDE--------------------BLIT
screen switch orde-----------------------1,2,3,ALL-------------1,ALL
screen switching ok ---------------------FAIL------------- FAIL

ddbivens, kan you confirm that the problem is in non DDE mode running in fullscreen

A second issue is fit to screenmode| 1:1 button
Reconnect fail
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

Hello Rudi

Thank you for the Update with the MRU-Connection List.
A little bug entered in this last improvement : if i type in a new host name in the viewer + enter or click on Connect = the viewer opens the last connection, not a new connection to the typed in host name...
Th only solution I found was to click on the Delete Button, after what a new host name can be connected.

Hope my explanations are sufficient.

Thank you !
Jojo67

Posts: 5
Joined: 2020-11-20 18:15

### Re: 1.3.1 RC

I don't have the ddengine in use. WinVNC is loaded as a service. The only things selected on the VNCViewer / Display tab are: Main screen resolution and Show toolbar. Win7 and 3 monitors and WIn10 2 monitors both behave the same display problem. One WIn10 with 3 monitors does not show the problem, but has the same settings as all the rest.
ddbivens
40

Posts: 114
Joined: 2015-12-26 14:53
Location: Tellico Plains, TN 37385 USA

### Re: 1.3.1 RC

Just tested 1.2.4 viewer with 1.3.1 server and all seems ok.
Looks like a 100% viewer issue.
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

Jojo67 wrote:Hello Rudi

Thank you for the Update with the MRU-Connection List.
A little bug entered in this last improvement : if i type in a new host name in the viewer + enter or click on Connect = the viewer opens the last connection, not a new connection to the typed in host name...
...
Thank you !

I ran into that also. I deleted my options.vnc file and that reset the connection and I was able to connect to a different host. I am sure my problem was caused when I did the nonsense test and changed all =0 to =1 using a text editor.
ddbivens
40

Posts: 114
Joined: 2015-12-26 14:53
Location: Tellico Plains, TN 37385 USA

### Re: 1.3.1 RC

Sorry Rudi. I should have tested different viewer versions. Yes, I have tested the 1.2.5.1 viewer and the problem does not exist in that version.
My batch installer program identifies OS, bit, PC name, ... and provides for overriding installs by copying in alternate files. That was what happened on the one system that was working. I was copying in an older UltraVNC version and that is why it was working on that one system but not on the other systems.
ddbivens
40

Posts: 114
Joined: 2015-12-26 14:53
Location: Tellico Plains, TN 37385 USA

### Re: 1.3.1 RC

For test i disabled the " i support extdisplay" in the new viewer and strange, it works.
So cause is in the server part that handle the extdisplay support...
That's the reason it also works with an old viewer, but cause is the server
What's debugging fun.

MRU: Fast changes are never good, i should have done some quality control.
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

MRU and settings fixed:
The previous bug has erased even the default settings. I needed to [reset default]..

Tested and fixed screen switching
*offset mouse, correct display
*Window and fullscreenmode with DDE and without
* scroll (fullscreen)
With change server resolution OFF)

I Still need to test the virtual displays again.(change server resolution ON)
Rudi De Vos

Posts: 6273
Joined: 2004-04-23 10:21

### Re: 1.3.1 RC

I did a couple of tests and found some issues with the latest version:
• Some of my settings seem not to be saved (e.g. even when hitting the "Save as default" button the checkbox "[ ] Use Encryption" is not saved)
• RLE based encorders seem to cause some crash. At least I am getting disconnected frequently when using ZRLE and ZYWRLE encoders when there is large-scale screen updates
• Checking "Change server resolution" with "Main screen resolution" radio box selected did not seem to do anything. But later I found out it's working after once connecting with the "Extend main display" option. Unfortunately I have been unable to reproduce this problem ever since it disappeared after selecting the extend option one time. I suspect a server-side issue but not sure what has triggered it.
SkyBeam
40

Posts: 69
Joined: 2012-12-31 11:01

### Re: 1.3.1 RC

Some of my settings seem not to be saved (e.g. even when hitting the "Save as default" button the checkbox "[ ] Use Encryption" is not saved)

I's saved, loaded, but overwritten by the host specific settings.
If you start localhost and localhost.vnc exist, settings from localhost.vnc file are used.

If you create a new host localhost2, it clone the current settings, you actual just change the name.

To use the default we actual need a load default button...current it's only used after you erase the host .vnc file waht doesn't make a lot of sense of having this option.

RLE based encorders seem to cause some crash. At least I am getting disconnected frequently when using ZRLE and ZYWRLE encoders when there is large-scale screen updates

This have to be something that eixst already with the older versions, not code was changed in 1.3.x
Can you verify if it's ZSTDRLE or ZRLE statuswindow (i)
If you select use zstd instead of zlib the encoder change.
Checking "Change server resolution" with "Main screen resolution"

Correct, fast checked and this doesn't work.
i still need to verify all [v] change server settings options.
Rudi De Vos