qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Shared VNC sessions
@ 2007-11-01 21:49 Felipe Sanchez
  2007-11-01 22:01 ` Daniel P. Berrange
  0 siblings, 1 reply; 2+ messages in thread
From: Felipe Sanchez @ 2007-11-01 21:49 UTC (permalink / raw)
  To: qemu-devel



Hi, in older versions of the RFB patch it was possible to connect multiple 
VNC clients to the VNC framebuffer. With the current VNC support if I have 
one connected client then any other trying to connect will block until the 
first one disconnects.

After a quick look at vnc.c it seems that the incoming connections are 
handled via qemu's fd_handler function which I'm guessing is where the 
blocking takes place, but I'm not really familiar with qemu's code so any 
help would be greatly appreciated  :-)

Also: Does qemu's current VNC implementation support tight encoding?

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] Shared VNC sessions
  2007-11-01 21:49 [Qemu-devel] Shared VNC sessions Felipe Sanchez
@ 2007-11-01 22:01 ` Daniel P. Berrange
  0 siblings, 0 replies; 2+ messages in thread
From: Daniel P. Berrange @ 2007-11-01 22:01 UTC (permalink / raw)
  To: qemu-devel

On Thu, Nov 01, 2007 at 03:49:42PM -0600, Felipe Sanchez wrote:
> 
> 
> Hi, in older versions of the RFB patch it was possible to connect multiple 
> VNC clients to the VNC framebuffer. With the current VNC support if I have 
> one connected client then any other trying to connect will block until the 
> first one disconnects.

That is correct. I had a patch floating around somewhere to immediately
drop the second connection instead of making it block forever, so at least
client don't hang.

> After a quick look at vnc.c it seems that the incoming connections are 
> handled via qemu's fd_handler function which I'm guessing is where the 
> blocking takes place, but I'm not really familiar with qemu's code so any 
> help would be greatly appreciated  :-)

The blocking isn't really anything todo with the fd handlers - the event
loop can handle this kind of thing just fine. The problem is that the
VNC server state is only capable of tracking dirty region updates for
a single client at once. To support multiple clients will require some
significant refactoring of the server state. Not impossible, but not a
quick fix either. It just needs someone motivated enough to poke at it....

> Also: Does qemu's current VNC implementation support tight encoding?

No. Raw or hextile.

Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-11-01 22:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-01 21:49 [Qemu-devel] Shared VNC sessions Felipe Sanchez
2007-11-01 22:01 ` Daniel P. Berrange

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).