- How does it Work?
- Supported OS for mv2 mirror driver?
- Installation
- Manual Uninstall
- Upgrading issue
- UVNC MD SDK
- UVNC MD SDK
- License for usage with ultravnc
- Commercial license
- Download
- Supported OS
- Installation
- Samples
- VIDEODRIVER Class
- Mirror Driver
- Supported OS for mv2 mirror driver?
- sponsored links
- Download SDK
- License
- UltraVNC 1.2.1.6
- UvncLaunch
- Repeater
- Mirror Driver
- SourceCode uvnc 1216
- Changes
- License
How does it Work?
The Mirror Video Driver is a driver that UltraVNC (for instance) can use to be quickly and efficiently notified with screen changes. Using it on an UltraVNC server results in a excellent accuracy. The video driver also makes a direct link between the video driver frammebuffer memory and UltraWinVNC server. Using the framebuffer directly eliminates the use of the CPU for intensive screen blitting, resulting in a big speed boost and very low CPU load.
Supported OS for mv2 mirror driver?
win 2000
win 2003
win 2008
XP
Vista
Win 7
Installation
If you have a previous version installed, it is recommended to uninstall it first, by doing the following: setupdrv.exe uninstall
Installation is done by setupdrv.exe install
The program setupdrv.exe is located in the folder you’ve chosen during the driver installation.
Manual Uninstall
Upgrading issue
For each version the vncdrv.sys and vnccom.sys are a pair. Vncdrv.sys is a kernel driver, so can only be unloaded on reboot. After upgrading the driver, vncdrv.sys is still the old version, but vnccom.sys is already the new one. Switching of vncdrv.sys is done on reboot. Don’t use the driver before you reboot.
UVNC MD SDK
UVNC MD SDK
License for usage with ultravnc
1. GRANT OF LICENSE:
UVNC bvba hereby grants Ultr@VNC Team -non-exclusive, royalty-free, worldwide, perpetual license to distribute, use the
software product «Mirror driver» in binary form for their remote controle software. Ultr@VNC Team hereby grants the end-user the right to use and distribute the software product «Mirror Driver» with «Ultr@VNC».
2. LIMITED WARRANTY
NO WARRANTY. To the maximum extent permitted by applicable law, We expressly disclaims any warranty for the SOFTWARE PRODUCT
«Mirror Driver». The SOFTWARE PRODUCT «Mirror Driver» and any related documentation are provided «as is» without warranty of any kind, either express or implied, including, without limitation, the implied warranties of merchantability or
fitness for a particular purpose. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To the maximum extent permitted by applicable law, in no event shall we be liable for
any damages whatsoever (including, without limitation, damages for loss of business profit, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of, or inability to use, this product.
Commercial license
Binary license
Price: 1000EU
UVNC bvba hereby grants You a nonexclusive, nontransferable, perpetual, worldwide license to distribute, use the
software product «Mirror driver» in binary form for your software.
Source code:
Price: 4500EU
UVNC bvba grants Licensee a nonexclusive, nontransferable, perpetual, worldwide rightto use the Source Code for the mirror
driver. Licensee agrees and acknowledges that the Source Code is proprietary, valuable, and not generally known in the
industry. Licensee agrees that it will maintain, through reasonable means, the confidentiality of the Source Code, and
will not disseminate or allow unrestricted access. Licensee shall not distribute the Source Code to anyone other than
employees and software developers of Licensee’s organization or third party contractors working on behalf of Licensee’s
organization with a need to know. Licensee may be held legally responsible for any infringement of intellectual property
rights that is caused or encouraged by Licensee’s failure to abide by this Agreement.
If you optain a source code license after buying a binary license, the source code license Price is 3500EU.
info: This email address is being protected from spambots. You need JavaScript enabled to view it.
Download
Supported OS
The mirror driver is supported on
Windows 2000
Windows 2003
Windows XP
Windows 2008
Windows Vista
Windows 7
Installation
Setupdrv.exe install
UNINSTALL
Setupdrv.exe uninstall
You can also use the control panal and add new hardware, select video and point to the .inf file.
Mv2.sys= miniport driver
Mv2.dll = display dll, the actual mirror driver stuff
Mv2.inf = installation file
Mv2.cat = catalog for signing driver
Samples
screenrecorder using bitblt
same screenrecorder with mirror driver
Get rectangle list of changed screen parts
The small samples help you to implement a mirror driver in your own application
VIDEODRIVER Class
VIDEODRIVER();
Initialize MD driver Class
Usage:
VIDEODRIVER *mydriver= new VIDEODRIVER;
Don’t forget to delete
delete mydriver;
void VIDEODRIVER_start(int x,int y,int w,int h,int depth);
Attach the mirror driver
position left top corner
x=left
y=top
w=screen width
h=screen height
depth= 8/16/32 , special case 0=use current depth
1)Mirror current desktop with same size and depth
HDC hDisplayDC = CreateDC(«DISPLAY»,NULL,NULL,NULL);
int cxWidth= GetDeviceCaps(hDisplayDC,HORZRES) ;
int cyHeight = GetDeviceCaps(hDisplayDC,VERTRES);
mydriver->VIDEODRIVER_start(0,0,cxWidth,cyHeight,0);
2)Mirror current desktop with same size and depth=32
HDC hDisplayDC = CreateDC(«DISPLAY»,NULL,NULL,NULL);
int cxWidth= GetDeviceCaps(hDisplayDC,HORZRES) ;
int cyHeight = GetDeviceCaps(hDisplayDC,VERTRES);
mydriver->VIDEODRIVER_start(0,0,cxWidth,cyHeight,32);
If you mirror a part of the desktop, moving a window
in your clipped region is not proper updated.
Sample:
mydriver->VIDEODRIVER_start(10,10,320,320,32);
void VIDEODRIVER_Stop();
Detach the mirror driver
BOOL HardwareCursor();
Mirror driver show cursor as blit
Usage:
mydriver->HardwareCursor();
see screentoavi_MD sample
BOOL NoHardwareCursor();
Mirror driver eliminate cursor as part of the blits
Usage:
mydriver->NoHardwareCursor();
char *myframebuffer;
This is a memory buffer that contain your screen in the format you specified
32 RGBARGBARGBARGBA
Instead of using bitblit you can now use memcpy to get access to the screen data.
Usage:
see screentoavi_MD sample
PCHANGES_BUF mypchangebuf;
This is a ringbuffer that contain the changed parts.
format:
typedef struct _CHANGES_RECORD
<
ULONG type; //screen_to_screen, blit, newcache,oldcache
RECT rect;
POINT point;
>CHANGES_RECORD;
typedef CHANGES_RECORD *PCHANGES_RECORD;
typedef struct _CHANGES_BUF
<
ULONG counter;
CHANGES_RECORD pointrect[MAXCHANGES_BUF];
>CHANGES_BUF;
typedef CHANGES_BUF *PCHANGES_BUF;
The driver record the rect changes, the application need to remember the old position
to extract the needed updates
Usage:
See changed_screen_parts sample
Mirror Driver
The Mirror Video Driver is a driver that UltraVNC (for instance) can use to be quickly and efficiently notified with screen changes. Using it on an UltraVNC server results in a excellent accuracy. The video driver also makes a direct link between the video driver frammebuffer memory and UltraWinVNC server. Using the framebuffer directly eliminates the use of the CPU for intensive screen blitting, resulting in a big speed boost and very low CPU load.
Supported OS for mv2 mirror driver?
win 2000
win 2003
win 2008
XP
Vista
Win 7
Not supported win8 >=
| |
Commercial license | Download |
sponsored links
Download SDK
License
License for usage with UltraVNC
1. GRANT OF LICENSE:
UVNC bvba hereby grants UltraVNC Team -non-exclusive, royalty-free, worldwide, perpetual license to distribute, use the software product «Mirror driver» in binary form for their remote controle software. UltraVNC Team hereby grants the end-user the right to use and distribute the software product «Mirror Driver» with UltraVNC.
2. LIMITED WARRANTYNO WARRANTY.
To the maximum extent permitted by applicable law, We expressly disclaims any warranty for the SOFTWARE PRODUCT «Mirror Driver». The SOFTWARE PRODUCT «Mirror Driver» and any related documentation are provided «as is» without warranty of any kind, either express or implied, including, without limitation, the implied warranties of merchantability or fitness for a particular purpose. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To the maximum extent permitted by applicable law, in no event shall we be liable for any damages whatsoever (including, without limitation, damages for loss of business profit, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of, or inability to use, this product.
Binary license
Price: 1000EU
UVNC bvba hereby grants You a nonexclusive, nontransferable, perpetual, worldwide license to distribute, use thesoftware product «Mirror driver» in binary form for your software.
Source code:
Price: 4500EU
UVNC bvba grants Licensee a nonexclusive, nontransferable, perpetual, worldwide rightto use the Source Code for the mirror driver. Licensee agrees and acknowledges that the Source Code is proprietary, valuable, and not generally known in the industry. Licensee agrees that it will maintain, through reasonable means, the confidentiality of the Source Code, and will not disseminate or allow unrestricted access. Licensee shall not distribute the Source Code to anyone other than employees and software developers of Licensee’s organization or third party contractors working on behalf of Licensee’s organization with a need to know. Licensee may be held legally responsible for any infringement of intellectual property rights that is caused or encouraged by Licensee’s failure to abide by this Agreement. If you optain a source code license after buying a binary license, the source code license Price is 3500EU.
info: uvnc This email address is being protected from spambots. You need JavaScript enabled to view it.
UltraVNC 1.2.1.6
| |
GNU/GPL | Download |
|
|
|
|
|
|
|
w2k, not signed as sha1 authenticode certs are not not longer supported and available.
http://www.uvnc.eu/download/1215/Ultravnc_w2k_1215.zip
|
|
|
Remark bins: Never extract the exe direct (via iexplorer) from the zip.
If you extract them direct, uac mark the files as unsecure. and winvnc server doesn’t work proper.
First save as zip then open via explorer.
DOCS
UvncLaunch
|
WARNING: In MODE I the repeater works like a proxy.
You need to restrict the ip addreses and ports to prevent unwanted access. (repeater settings)
Repeater
|
|
Mirror Driver
|
SourceCode uvnc 1216
|
Changes
1.2.1.6 Sept 2017
Fixes
-bad connection caused by clipboard transfer during connection
-reconnect viewer failed
changes 1.2.1.5 June 2017
-Faster FT
-Fixed FT from winvnc to vncviewer if winvnc is running as service
-Better windows 10 support
-jpeg lib update
** V1.2.1.1 April 2016
Vnchooks: make sure the correct versions are attached, some older crashed
Server:
-black screen on connection/ grey screen on connection and deadlock
-on disconnect server icon stayed yellow, blocking new connections
-black viewer with icons without file transfer.
-fixed mem leaks/resource leak
Viewer:
-Fix overrun crash
-Timeout reconnect fix
-Closing no reconnect fix
-Auto refresh after idle
Update jpeg lib
** V1.2.1.0 January 2016
Server: added rdp session select
Server: added alternate shell when you use another shell the explorer.exe it doesn’t work correct
[admin]
alternate_shell=myshell.exe
rdpmode=1
Viewer: added remember last location ( host based)
UVNC_LAUNCH: added
Fixes
Artifacts on win8>
Faster reconnect on session switch
Repeater:reconnect, some port scanners could kick connections, stability
** V1.2.0.9 November 2015
*added XZ encoder (small bandwidth)
*crash fix
*auto mode: better initial settings to avoid coder switch on start
*fix 10 second delay win8 with keyboardhelper
*w8hook embedded
*option Gii encoder adde
*memory leaks
*added tight encoder patch from Turbovnc project
*reconnect timeout in invers mode was increasing on each try, max set to 3 minutes*crashes detected by crashrpt fixed
** V1.2.0.6 June 2015
*fix timeout multiple viewers
*scale server window, also when directx is not available
*fix multiple initial screen sends
*fix win8 and w8hook loop/hung high cpu
*added dpi aware for viewer
*add viewer idle timer
*add server id to password box
*server deadlock fixed ( existed already for 2 years)
*server tray install/uninstall/start stop service
*minimize viewer and high cpu
*save plugin options corrected
*update uvnc_settings.exe ( added new settings, help pages, service buttons)
*update repeater (could be locked by port scans)
-Save config plugin fix
-clipboard deadlock
-allow filetransfer when file is open
-sdtime removed ( performance)
-alt-grf win8 fix
SECURITY UPDATE
impact: all pre 1.2.0.3 versions
exploit: localuser (guest) can gain local admin access on win8
** V1.2.0.2
*viewer portable
*you can set a single port java/rfb
*server deadlock fixes for slower connections
*ignore cursor when not in view window ( crashed java viewer)
*fast keyboard input could cause 100% cpu usahe on win8, fixed
*service, fix error 1314, server sometimes failed to start desktop part and closed winvnc.
*security: increase timeout after each wrong password to make brute force hacking harder
*color correction 16bit and mirror driver*memory leak with mirror driver fixed in previous fix J
*save setting permission fix
*added support for new repeater with keepalive
*tooltip buffer overrun fix, cause server to fail when sting in systray was to long
( multiple ethernet card. Long hostnames etc…)
*auto alpha blending based on OS*zrle deadlock fix
*tight encoding fixed
*show screenbuildup on first run
*server fix bug that crashed iexplorer 8
*viewer mod for vmware ( wrong colors)
*update lijpeg-turbo to 1.3.0
**V1.1.9.3 Aug 2013
-Missing screen refresh ( when driver selected but not used)
-Factory reset ( when temp was not writable)
**V1.1.9.2 Aug 2013
-Mirror driver and begative screen coordinates (left secondary desktop)
**V1.1.9.0 May 2013
-fixed change ip detection, sometimes server was disconnected after a few seconds by a false positive
-new installer xp64 wasn’t supported
**V1.1.8.9 April 2013
-Viewer timeout option grayscreen fix
-server leaks fixed
**V1.1.8.8 March 2013
-server crash
-server grayscreen on startup loop fixed
**V1.1.8.7 March 2013
-filetransfer bug fix (x64)
**V1.1.8.6 March 2013
-autoreconnect and auth fail fix
-viewer with option window open fails to close
-viewer messagebox sometimes hidden behind window
**V1.1.8.5 March 2013
deadlock softcursor fixed (viewer)
**V1.1.8.4 March 2013
server
-u2 encode on 16 color display crash
viewer
-fullscreen bar center
-recoonect set by default
**V1.1.8.3 March 2013
-Fix server /NULL crash
-Fix radio button u2 viewer
**V1.1.8.2 March 2013
-fix lock after gray screen
**v1.1.8.2 (March 2013)
-disconnect after gray screen
**v1.1.8 (Nov 2012)
-addad support windows 8
( new capture engine)
-several bug fixes
-better multi monitor support
-new vncpasswd + encryption.
Instead of using the password as part of the encryption, we now check the password insite the encryption by the server. This allow the server to balcklist servers
after x fault password.
WARNING: If using encryption plugin + vncpassword you better upgrade. No protection against Brute force password hacking.
**v1.0.9.6.2 (Feb 2012)
-removed beeps
-Capture alpha-Blending default value.
-Viewer crash fixed
-Grayscale fixed
-msi installers
server
*crash chat x64
*AuthRequired=0, passwd=NULL: Warning message block service
*About x64 say win32
*viewer 1082 and server 1096 with localcursor ( no connect, 100% cpu)
*serversite scaling and multiple viewers, framebuffer size get overwritten
(Scale is now lock when multiple viewers are connected to avoid a
framebuffer change, first connected viewer set scale. Site effect is that
the viewer report the unused, incorrect scale, but at least it doesn’t crash anymore)
*-connect ip, passed to winvnc running as service is not remembered for
autoreconnect.
*-stopreconnect
stop the autoreconnect function of the server.
*server mouse moves jump on viewer when screen is idle.
*old plugin zrle crash
viewer
*plugin (SecureVNCPlugin) used by viewer
server without plugin
give incorrect viewer message. And doesn’t ask to reject the connection.
*monitor value is saved, but vncviewer read it as bool (true/false)
Only 0/1 are correct imported
*old plugins fail when zrle encoding is used
*old plugins give incorrect info in statusbox
*-autoreconnect timeout, -reconnectcounter number
(available from gui and commandline)
-autoreconnect timeout was incorrect, updated
*old plugin detection
*Messagebox was sometimes displayed on invisable desktop
*auth dll error messages for missing dll’s incorrect
*mslogon and no groups, didn’t checked admin account for access
*lock /logout screen on exit viewer option blocked shutdown server.
added special build: only one port for javaviewer (rfb port is used for java download and rfb data)
License
GNU GENERAL PUBLIC LICENSE (GPL)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.