On Sun, May 08, 2011 at 05:06:46PM +0300, Alon Levy wrote:
> in next revision (v6) this will be folded into the patch that introduced
> the bug. update_area is a request from the guest to render everything
> affecting
> a specific area so the guest can read the contents directly via the pci bar
>
On Mon, May 09, 2011 at 12:32:25AM +0200, Marc-André Lureau wrote:
> On Sun, May 8, 2011 at 2:27 PM, Alon Levy wrote:
> > ---
> > server/red_worker.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/server/red_worker.c b/server/red_worker.c
> > index b8d6a96..0
ack all (see my comment for 2/3)
On Sun, May 8, 2011 at 2:27 PM, Alon Levy wrote:
> two small fixes for red_worker extracted from the pending RFC for multiple
> clients, plus a small fix for a tester.
>
> Alon Levy (3):
> server/tests: show port to connect to
> server/red_worker: make stat_now
On Sun, May 8, 2011 at 2:27 PM, Alon Levy wrote:
> ---
> server/red_worker.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/server/red_worker.c b/server/red_worker.c
> index b8d6a96..08096f8 100644
> --- a/server/red_worker.c
> +++ b/server/red_worker.c
> @@ -118,7
in next revision (v6) this will be folded into the patch that introduced
the bug. update_area is a request from the guest to render everything affecting
a specific area so the guest can read the contents directly via the pci bar
surface. The operations were wrongly performed more then once. This fi
On Sun, May 08, 2011 at 04:44:55PM +0300, Yaniv Kaul wrote:
> On 05/08/2011 04:11 PM, Alon Levy wrote:
> >---
> > client/red_channel.cpp | 40 +---
> > 1 files changed, 25 insertions(+), 15 deletions(-)
> >
> >diff --git a/client/red_channel.cpp b/client/red_c
On 05/08/2011 04:11 PM, Alon Levy wrote:
---
client/red_channel.cpp | 40 +---
1 files changed, 25 insertions(+), 15 deletions(-)
diff --git a/client/red_channel.cpp b/client/red_channel.cpp
index d8dcc42..013a5a4 100644
--- a/client/red_channel.cpp
+++ b
---
client/red_channel.cpp | 40 +---
1 files changed, 25 insertions(+), 15 deletions(-)
diff --git a/client/red_channel.cpp b/client/red_channel.cpp
index d8dcc42..013a5a4 100644
--- a/client/red_channel.cpp
+++ b/client/red_channel.cpp
@@ -173,23 +173,33 @@
handle_dev_update does area_update, i.e. rendering to a surface (usually
the primary, surface 0) on request of the driver. Since we only use a single
canvas for each surface on the device memory (the rest are in host memory),
this patch may not really be required.
Testing with and without this pat
---
server/reds.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/server/reds.c b/server/reds.c
index 321f333..f977b4c 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -71,6 +71,10 @@
#include "smartcard.h"
#endif
+#ifdef ALLOW_NO_SSL
+#define DEBUG_GENERATE_NULL_K
---
server/reds.c | 10 +-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/server/reds.c b/server/reds.c
index f977b4c..283b7be 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -1417,7 +1417,9 @@ static int reds_send_link_ack(RedLinkInfo *link)
SpiceLinkReply ack;
Add cursor allocation debugging code that is turned off as long as
DEBUG_CURSORS is not defined.
---
server/red_worker.c | 13 +
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index 1e6f495..43373af 100644
--- a/server/red_wo
We need to have a different id for each client, otherwise we get a reference to
other client's cache, and of course we don't sync with the new client.
NOTE: This is quite strange - why are we using a client provided id? only makes
sense
for migration (it already has cache, we get cache by migratio
small cleanup patch, only functional change is sending a set ack message.
---
server/red_worker.c |7 +++
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index 9a7fca9..4a546ab 100644
--- a/server/red_worker.c
+++ b/server/red_worker
check for dcc!=NULL before adding to pipe in several places.
---
server/red_worker.c | 16 ++--
1 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index d911613..9a7fca9 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
makes RED_WORKER_MESSAGE_CURSOR_DISCONNECT_CLIENT disconnect only a
single client.
---
server/red_worker.c | 11 ++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index 3fe5832..d911613 100644
--- a/server/red_worker.c
+++ b/ser
---
server/red_worker.c |2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index 409b010..3fe5832 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -9883,7 +9883,6 @@ static void handle_new_display_channel(RedWorker *work
Required to support multiple clients.
Also changes somewhat the way we produce PIPE_ITEM_TYPE_LOCAL_CURSOR. Btw,
I haven't managed to see when we actually produce such an item during my
tests.
Previously we had a single pipe item per CursorItem, this is impossible
with two pipes, which happens whe
---
server/red_worker.c | 77 +-
1 files changed, 45 insertions(+), 32 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index 77b731a..78d2db2 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -8438,86 +8438,69 @@ st
---
server/red_worker.c | 16 ++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index 25738a3..77b731a 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -2499,7 +2499,7 @@ static void red_streams_update_clip(Red
---
server/red_worker.c | 144 ---
1 files changed, 137 insertions(+), 7 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index c8770d5..25738a3 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -1503,15 +1503,16 @@ s
---
server/red_worker.c |9 -
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index aa77538..c8770d5 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -2667,6 +2667,7 @@ static void
red_display_client_init_streams(Di
handle_dev_destroy_surface_wait: all clients render state
handle_dev_destroy_surfaces: clear all surfaces
handle_dev_destroy_primary_surface: clear all primary copies
handle_dev_input RED_WORKER_MESSAGE_STOP: all clients
red_worker_main: call red_handle_streams_timeout for all clients
---
server/r
When we start having multiple clients each
drawable will be referenced by multiple clients, release happens when all
clients are done with it.
---
server/red_parse_qxl.h |1 +
server/red_worker.c| 17 -
2 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/serve
with multiple clients any surface creation or deletion cleanup needs to
wait until all the clients have been sent the command, so add reference
counting to the create and destroy release calls.
Also introduces the SURFACES_FOREACH macro, a bit ugly due to the need
to update multiple variables and
Currently set by environment variable SPICE_DEBUG_ALLOW_MC (any value means
to allow multiple connections). Later will be set by spice api from qemu.
---
server/reds.c | 13 -
1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/server/reds.c b/server/reds.c
index 083ac19.
main_channel and red_worker had several locations that still accessed rcc
directly, so they had to be touched too, but the changes are minimal.
Most changes are in red_channel: drop the single client reference in RedChannel
and add a ring of channels.
We still are missing:
* surfaces copying / d
---
server/red_channel.c | 15 +++
server/red_channel.h |7 +++
server/red_worker.c | 20
3 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/server/red_channel.c b/server/red_channel.c
index 01779c6..7f32c7c 100644
--- a/server/red_channel
---
server/red_worker.c | 99 +-
1 files changed, 57 insertions(+), 42 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index 3fbc7d1..c2e1623 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -1194,7 +1194,7 @@ stat
---
server/red_worker.c | 93 ++-
1 files changed, 55 insertions(+), 38 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index f3de49f..9ccd80e 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -952,7 +952,8 @@ stati
each client supplying a smartcard channel gets it's own smartcard. If
there are not enough smartcards provided by the server (read: qemu)
then it will be as though there are none.
currently disabled - later patches that enable smartcard don't make
this channel available to any but the first client
s/TunnelChannel/TunnelChannelClient/
That's about it. this is probably the wrong way to do it. Not tested
at all. What do we want, a separate interface per client? same interface
for all clients? probably the later. This doesn't do that. Not tested,
so probably doesn't even work.
changes red_cha
from server events are broadcast - leds change. The rest is client
to server, so it is just passed on.
---
server/inputs_channel.c | 57 ---
1 files changed, 29 insertions(+), 28 deletions(-)
diff --git a/server/inputs_channel.c b/server/inputs_channe
The main channel deals with connecting new clients, announcing mouse mode
changes, and the agent channel. The implementation is currently done without
any changes to the protocol, so everything has to be either broadcast or
to a specific client.
channels list - specific client
mouse mode - broad
Introduce functions to add (via producer method) the same item to multiple
pipes, all for the same channel.
Note: Right now there is only a single channel, but the next patches will do the
per-channel breakdown to channel and channel_client before actually introducing
a ring in RedChannel, this ma
on red_channel_peer_on_incoming_error, if we are already shutdown, do not
call the channel's error handler. Since the channel has been shutdown, we
assume this is a second or later error, and handling has already occured.
---
server/red_channel.c |3 +++
1 files changed, 3 insertions(+), 0 del
Expose additional api to find a client given a connection_id. The connection_id
is first set when the first channel connects, which is the main channel.
It could also be kept in the RedClient instead, not sure.
TODO:
multiple todo's added for multiclient handling. I don't remember why
I wrote th
cleanup only. Note that the ping function is half used since the opt parameter
stopped being called with anything but NULL, should be returned at some point,
specifically when we drop the 250kbyte ping on start and do a continuous check
for latency and bandwidth.
See:
81945d897 - server: add new
They were globals before. This introduces api for other channels
to query the low bandwidth status. The queries themselves are still done
from the wrong context (channel and not channel client) but that's because
the decoupling of channel and channel client will be done in the following
patches.
N
Secondary channels are those that don't support multiple clients. The
support added in this patch just doesn't let the second or more connected
client receive the unsupported channels in the channels list sent by the
server to the client. This doesn't handle the situation where:
client A connects
That means RedClient tracks a ring of channels. Right now there will be only
a single client because of the disconnection mechanism - whenever a new
client comes we disconnect all existing clients. But this patch adds already
a ring of clients to reds.c (stored in RedServer).
There is a known prob
This makes it easier to introduce RedClient in the next patch.
---
server/main_channel.c | 27 +--
server/main_channel.h |7 ---
server/reds.c | 11 ++-
3 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/server/main_channel.c b/serv
We send a SPICE_MSG_DISPLAY_MARK verb.
---
server/red_worker.c |3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index 185e67a..1379b51 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -9163,6 +9163,9 @@ static void di
---
server/red_channel.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/server/red_channel.c b/server/red_channel.c
index 6f8d73e..60b6d89 100644
--- a/server/red_channel.c
+++ b/server/red_channel.c
@@ -869,7 +869,7 @@ void red_channel_client_disconnect(RedChannelClient
---
server/red_channel.c |5 +
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/server/red_channel.c b/server/red_channel.c
index 593e418..6f8d73e 100644
--- a/server/red_channel.c
+++ b/server/red_channel.c
@@ -581,6 +581,11 @@ void red_channel_client_push(RedChannelClient *
use MainChannel* instead of Channel* for a many functions in main_channel.h
(affects main_channel.c and reds.c).
some one liner fixes are hidden in here too.
---
server/main_channel.c | 124
server/main_channel.h | 42 +---
server/re
Instead of checking for worker->{display,cursor}_channel directly.
---
server/red_worker.c | 55 ++
1 files changed, 37 insertions(+), 18 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index b99927e..4c6da6b 100644
--- a/serve
The only difference between them being that the later also does a push.
I don't believe that to be a problem, but if it does I can always introduce
a push'less version.
---
server/red_client_cache.h |2 +-
server/red_worker.c |9 +
2 files changed, 2 insertions(+), 9 deletion
rename types - we use _proc suffix mostly to indicate function pointer types,
use it for some function pointers that were missing it.
s/channel_handle_migrate_flush_mark/channel_handle_migrate_flush_mark_proc/
s/channel_handle_migrate_data_get_serial/channel_handle_migrate_data_get_serial_proc/
s/
should change all the enums that don't explicitly set their first value to 0.
---
server/main_channel.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/server/main_channel.c b/server/main_channel.c
index 1a6a89c..080ba1c 100644
--- a/server/main_channel.c
+++ b/server/mai
changes from previous (v4) after Marc-Andre's review:
Surfaces struct renamed to RedRender
patch count reduction.
reduction of argument count (makes search replace patches more readable too)
some other cleanups. I'm sure I missed a few.
to turn on multiple client support you need to set SPICE_
On Sun, May 8, 2011 at 4:38 PM, Alon Levy wrote:
> On Sun, May 08, 2011 at 03:43:21PM +0400, Emre Erenoglu wrote:
> > Dear Developers,
> >
> > I'm the package maintainer for some virtualization related packages in
> > Pardus distribution. I would like to take spice into our package
> > repositori
On Sun, May 08, 2011 at 03:43:21PM +0400, Emre Erenoglu wrote:
> Dear Developers,
>
> I'm the package maintainer for some virtualization related packages in
> Pardus distribution. I would like to take spice into our package
> repositories, however, I'm facing an issue with the celt package.
>
> I
---
server/red_worker.c |8
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index 08096f8..264b66f 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -382,7 +382,7 @@ typedef struct StreamAgent {
PipeItem create_
---
server/red_worker.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index b8d6a96..08096f8 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -118,7 +118,7 @@ static clockid_t clock_id;
typedef unsigned long stat
---
server/tests/test_display_base.c |4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/server/tests/test_display_base.c b/server/tests/test_display_base.c
index 104ab37..76817d9 100644
--- a/server/tests/test_display_base.c
+++ b/server/tests/test_display_base.c
@@ -559,1
two small fixes for red_worker extracted from the pending RFC for multiple
clients, plus a small fix for a tester.
Alon Levy (3):
server/tests: show port to connect to
server/red_worker: make stat_now static
server/red_worker: fix typo (lats_send_time)
server/red_worker.c |
On Tue, May 03, 2011 at 01:53:20AM +0200, Marc-André Lureau wrote:
> We have these various channel types for main_channel_foo()
> argument/return value, would be nice to make some changes:
>
The main reasons for using RedChannelClient in those few apis (net_start
and ping) is that they are used f
I think having a xcode project would be quite nice. Furthermore a cocoa
client completely based on spice-client-glib would be the better option
compared to (native) gtk imho. I guess having a look at the Cord project
(http://cord.sourceforge.net/) might be a good start (they ported freeRDP
into a r
Dear Developers,
I'm the package maintainer for some virtualization related packages in
Pardus distribution. I would like to take spice into our package
repositories, however, I'm facing an issue with the celt package.
I'm sure you're aware of the issue. Spice is depending on celt 0.5.1, while
we
On Sun, May 8, 2011 at 12:29 PM, Gianluca Cecchi
wrote:
> On Sun, May 8, 2011 at 10:18 AM, Emre Erenoglu wrote:
> >
> > Hi Gianluca,
> > I can run skype in 32 bit Win2k3 with the AC97 sound card. The sound
> comes
> > out OK, but the recording has a lot of distortions and is not
> > understandabl
On 05/08/2011 12:20 PM, Gianluca Cecchi wrote:
On Sun, May 8, 2011 at 10:57 AM, Yaniv Kaul wrote:
Windows 7 32 bit guest
and trying to use skype, I'm able to open the application and hear the
typical sound right after startup but after a few seconds I get an
error and need to close with this ki
On Sun, May 8, 2011 at 10:57 AM, Yaniv Kaul wrote:
>
> Windows 7 32 bit guest
> and trying to use skype, I'm able to open the application and hear the
> typical sound right after startup but after a few seconds I get an
> error and need to close with this kind of information:
>
> We've had issues
On 05/08/2011 11:12 AM, Gianluca Cecchi wrote:
Hello, using F14+virt-preview:
spice-server-0.8.0-2.fc14.x86_64
libvirt-0.8.8-4.fc14.x86_64
virt-manager-0.8.7-3.fc14.noarch
qemu-kvm-0.14.0-7.fc14.x86_64
Windows 7 32 bit guest
and trying to use skype, I'm able to open the application and hear the
On Sun, May 8, 2011 at 10:18 AM, Emre Erenoglu wrote:
>
> Hi Gianluca,
> I can run skype in 32 bit Win2k3 with the AC97 sound card. The sound comes
> out OK, but the recording has a lot of distortions and is not
> understandable/usable.
> I don't know how to debug it. Since yours is Windows 7, I g
On Sun, May 8, 2011 at 12:12 PM, Gianluca Cecchi
wrote:
> Hello, using F14+virt-preview:
> spice-server-0.8.0-2.fc14.x86_64
> libvirt-0.8.8-4.fc14.x86_64
> virt-manager-0.8.7-3.fc14.noarch
> qemu-kvm-0.14.0-7.fc14.x86_64
>
> Windows 7 32 bit guest
> and trying to use skype, I'm able to open the ap
Hello, using F14+virt-preview:
spice-server-0.8.0-2.fc14.x86_64
libvirt-0.8.8-4.fc14.x86_64
virt-manager-0.8.7-3.fc14.noarch
qemu-kvm-0.14.0-7.fc14.x86_64
Windows 7 32 bit guest
and trying to use skype, I'm able to open the application and hear the
typical sound right after startup but after a few
On 05/04/2011 12:05 PM, Daniel P. Berrange wrote:
> On Wed, May 04, 2011 at 07:52:37PM +0400, Emre Erenoglu wrote:
>> Hi,
>>
>> Please see the below discussion with the spice community.
>>
>> libvirt is adding a parameter about video ram to qemu process and this
>> parameter might be responsible of
On 05/04/2011 12:05 PM, Daniel P. Berrange wrote:
> On Wed, May 04, 2011 at 07:52:37PM +0400, Emre Erenoglu wrote:
>> Hi,
>>
>> Please see the below discussion with the spice community.
>>
>> libvirt is adding a parameter about video ram to qemu process and this
>> parameter might be responsible of
69 matches
Mail list logo