Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/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://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc

$500US for mirror driver development

Post Reply
Skinney46
8
8
Posts: 31
Joined: 2004-11-05 17:27

$500US for mirror driver development

Post by Skinney46 »

I am submitting this post again because, because I think the reward would have been missed by most people.

I have been working on a screen capture application, which uses a modified version of UltraVNC and DirectShow to capture both screens of a dual headed workstation. Third party Java 1.4.2 applications are being displayed on the workstation, when displaying these applications on a dual headed machine; DirectDraw is used to draw the applications. Here is where the problem comes in; at present the mirror driver does not support the capture of DirectDraw, therefore the applications show as blank windows through the VNC viewer and are captured as empty rectangles.

If the hardware acceleration is reduced on the dual headed display, the system is forced to use GDI, which is captured by UltraVNC. Unfortunately this is not a solution for us because the applications that are running on the workstation are running some fairly intense graphics in places, so we need to keep the benefits of the hardware acceleration.

To demonstrate the problem two machines need to be set up, one to display a DirectDraw application and one to run an ultravnc viewer looking at the host machine. A test drawing application can be downloaded from http://www.codeproject.com/directx/drawing.asp, this allows the user to switch between DirectDraw and GDI drawing for the background bitmap, when the application is running in DirectDraw mode the background does not show if viewing remotely using the VNC viewer. I am also able to provide an application which displays a bouncing ball that is being rendered using DirectDraw, again using this the contents of the pane displaying the bouncing ball are not displayed when it is viewed using a VNC viewer. If you are interested please contact me at chris.skinner@weston.co.uk and I will send you the application.

Low CPU consumption is a priority for this issue because our capture application is restricted to a certain CPU performance, so while capturing DirectDraw the mirror driver needs to perform efficiently.

We would like to offer $500US as a reward to the first person within the community who is able to provide us with a mirror driver install, that is capable of capturing DirectDraw applications, aswell as GDI inputs, subject to internal testing.
Eugene Sukhodolin
8
8
Posts: 12
Joined: 2004-11-15 13:11
Location: Tomsk, Russia
Contact:

Post by Eugene Sukhodolin »

I don't think that it's possible to support DirectX in a mirror driver because of numerous technical reasons. Sorry, but it's better to abandon this idea completely. Not to mention that $500 is NOTHING even for initial research in this area.
redge
1000
1000
Posts: 6797
Joined: 2004-07-03 17:05
Location: Switzerland - Geneva

Post by redge »

Eugene Sukhodolin,
not true !

There a project supporting directx and 3D for UltraVNC V2, code source exist but need to be implemented....
time need... appear beta not before end of year 2006

read:
What's Next? Future of UVNC.
[post=19270][/post]
UltraVNC 1.0.9.6.1 (built 20110518)
OS Win: xp home + vista business + 7 home
only experienced user, not developer
Eugene Sukhodolin
8
8
Posts: 12
Joined: 2004-11-15 13:11
Location: Tomsk, Russia
Contact:

Post by Eugene Sukhodolin »

redge wrote:There a project supporting directx and 3D for UltraVNC V2, code source exist but need to be implemented....
time need...
Is it some kind of a mirror driver? If not, how it is related to the subject?
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6863
Joined: 2004-04-23 10:21
Contact:

Post by Rudi De Vos »

That where source codes i have been looking at for implementing
a faster viewer....
This has nothing to do with capturing directx.

Theoretical it is possible to emulate directx in a mirror driver, but it would be even slower then forcing the software in emulation mode. The mirror driver need to draw on his own surface.

It's a lot easier the work a user level and get a pointer to the buffer. I already have some sample that can notify winvnc for opengl
and direct3D updates and pass the bitmap buffer to winvnc. Pure memcpy
can read the data...fast.

I'm still trying to implement the same for directdraw surfaces (including overlay).......without luck.
But as we need it for Vista unless the desktop run in full direct3d.
User avatar
Oliver
Site-Admin
Site-Admin
Posts: 532
Joined: 2004-04-21 23:04
Location: Frankfurt am Main
Contact:

Post by Oliver »

Eugene Sukhodolin wrote:Not to mention that $500 is NOTHING even for initial research in this area.
Interestingly, though, this is a project held up by volunteers, so money might not be the first priority. Sorry if it is in your project.

Now calm down guys. If there is a solution it is anyway a long way to go ...
Oliver

How to Report Bugs Effectively
My homepage | WinDirStat
PGP-keys:
  • Forum or UltraVNC-related: 0xA2DD1DBD, E18B 2E2F 4F3E D143 4ED4 3E2B E172 FB55 A2DD 1DBD
  • Other matters: 0x0E88590F, 38B5 5EBA A470 C0F7 0942 81B8 C779 D829 0E88 590F
Post Reply