Re: [Spice-devel] androidSpice-0.1.4 released

2011-04-26 Thread Shuxiang Lim
Released with src .apk files with button-double-click fixed. --Lin-- On 4/26/11, Shuxiang Lim shohyang...@gmail.com wrote: Hi,all! After I workaround the bug input will choke output,I'm glad to release the USABLE androidSpice-0.1.4 on google code:

Re: [Spice-devel] Spice on OS/X

2011-04-26 Thread Attila Sukosd
Hi, This might be a stupid question, but why don't you try to use spice-gtk on OS/X instead of spicec ? It has everything needed, such as gtk2/gtk3 and gstreamer for audio, all cross platform. Rgrds, Attila On Mon, Apr 25, 2011 at 11:34 PM, Cliff Sharp csh...@vbridges.com wrote: When

Re: [Spice-devel] [Qemu-devel] QEMU: Discussion of separating core functionality vs supportive features

2011-04-26 Thread Gerd Hoffmann
Hi, I think that would work well for spice. Spice uses shared memory from the pci device for both the framebuffer and surfaces/commands, but this is Is that the only DMA do you do? That's good for this model. Yes. Spice does both reads and writes though, so a way to tag pages as dirty

[Spice-devel] [PATCH] spice.proto: Fill.rop_descriptor type s/uint16/ropd (10x atiti)

2011-04-26 Thread Alon Levy
--- spice.proto |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/spice.proto b/spice.proto index 4eeb159..6160de1 100644 --- a/spice.proto +++ b/spice.proto @@ -639,7 +639,7 @@ channel DisplayChannel : BaseChannel { DisplayBase base; struct Fill {

[Spice-devel] [RFC v4 00/62] server: multiple client support

2011-04-26 Thread Alon Levy
This is a resend of the start patches (server: introduce RedChannelClient) plus the rest of the series to support multiple connections to spice. It is missing some features, so it is more of an RFC right now, but I hope to do a few iterations completing the missing pieces to get it to PATCH

[Spice-devel] [RFC v4 02/62] server/red_worker: drop red_pipe_add_tail, use red_channel_pipe_add_tail

2011-04-26 Thread Alon Levy
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

[Spice-devel] [RFC v4 06/62] server/main_channel.c: set NET_TEST_STAGE_INVALID=0 explicitly

2011-04-26 Thread Alon Levy
--- 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 8e1b195..749acbf 100644 --- a/server/main_channel.c +++ b/server/main_channel.c @@ -123,7 +123,7 @@ typedef struct MainChannel { } MainChannel;

[Spice-devel] [RFC v4 07/62] server/main_channel: use MainChannel in sig

2011-04-26 Thread Alon Levy
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 +---

[Spice-devel] [RFC v4 08/62] server/red_channel: workaround for fast client disconnect bug (TODO - real fix)

2011-04-26 Thread Alon Levy
--- 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 2b76f31..b124980 100644 --- a/server/red_channel.c +++ b/server/red_channel.c @@ -579,6 +579,11 @@ void red_channel_client_push(RedChannelClient

[Spice-devel] [RFC v4 11/62] server/red_channel: merge into red_channel_client_release_item introduction - bug

2011-04-26 Thread Alon Levy
--- server/red_channel.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/server/red_channel.c b/server/red_channel.c index 3a28304..5aad98b 100644 --- a/server/red_channel.c +++ b/server/red_channel.c @@ -319,6 +319,7 @@ static void

[Spice-devel] [RFC v4 13/62] server: Add RedClient

2011-04-26 Thread Alon Levy
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

[Spice-devel] [RFC v4 15/62] server/main_channel: move ping here from reds.

2011-04-26 Thread Alon Levy
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

[Spice-devel] [RFC v4 17/62] server/red_channel: ignore error if already shutdown

2011-04-26 Thread Alon Levy
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

[Spice-devel] [RFC v4 18/62] server/red_channel: introduce pipes functions

2011-04-26 Thread Alon Levy
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

[Spice-devel] [RFC v4 20/62] server/main_channel: support multiple clients

2011-04-26 Thread Alon Levy
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 -

[Spice-devel] [RFC v4 25/62] server/red_worker: make stat_now static

2011-04-26 Thread Alon Levy
--- 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 275bfca..d0b3a60 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -117,7 +117,7 @@ static clockid_t clock_id; typedef unsigned long

[Spice-devel] [RFC v4 26/62] server/red_worker: fix typo (lats_send_time)

2011-04-26 Thread Alon Levy
--- 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 d0b3a60..30a829e 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -381,7 +381,7 @@ typedef struct StreamAgent { PipeItem

[Spice-devel] [RFC v4 31/62] server/red_worker: fix red_pipe_add_drawable_to_tail

2011-04-26 Thread Alon Levy
--- 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 2bc0abf..d6762be 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -1263,13 +1263,13 @@ static inline void

[Spice-devel] [RFC v4 32/62] server/red_worker: fix red_pipe_get_tail

2011-04-26 Thread Alon Levy
--- server/red_worker.c | 11 +-- 1 files changed, 5 insertions(+), 6 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index d6762be..4fbcb4f 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -1287,13 +1287,13 @@ static inline void

[Spice-devel] [RFC v4 34/62] server/red_worker: remove more direct access to RedChannelClient.rcc

2011-04-26 Thread Alon Levy
--- server/red_worker.c | 97 ++- 1 files changed, 57 insertions(+), 40 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index a700f7e..3581173 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -1190,7 +1190,7 @@

[Spice-devel] [RFC v4 35/62] server/red_worker: more removal of direct rcc access

2011-04-26 Thread Alon Levy
--- server/red_worker.c | 21 + 1 files changed, 13 insertions(+), 8 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index 3581173..79fffd1 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -8489,7 +8489,8 @@ void

[Spice-devel] [RFC v4 37/62] server/red_worker: use pipe_size helpers

2011-04-26 Thread Alon Levy
--- server/red_worker.c | 20 1 files changed, 12 insertions(+), 8 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index 79fffd1..3599b05 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -4336,7 +4336,7 @@ static int

[Spice-devel] [RFC v4 38/62] server/red_channel: introduce client ring in RedChannel

2011-04-26 Thread Alon Levy
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 /

[Spice-devel] [RFC v4 39/62] server/red_worker: introduce RedSurfaceReleaseInfo

2011-04-26 Thread Alon Levy
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

[Spice-devel] [RFC v4 40/62] server/red_worker: add ref counting to RedDrawable

2011-04-26 Thread Alon Levy
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

[Spice-devel] [RFC v4 43/62] server/red_worker: red_create_surface - check for dcc before sending messages

2011-04-26 Thread Alon Levy
--- server/red_worker.c |9 ++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index 2c8ce2e..75d222f 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -8850,8 +8850,9 @@ static inline void

[Spice-devel] [RFC v4 44/62] server/red_worker: whitespace fixes

2011-04-26 Thread Alon Levy
--- 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 75d222f..6014cb3 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -2644,6 +2644,7 @@ static void

[Spice-devel] [RFC v4 45/62] server/red_worker: copy and free new surfaces after first client

2011-04-26 Thread Alon Levy
--- server/red_worker.c | 138 +-- 1 files changed, 134 insertions(+), 4 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index 6014cb3..399ebea 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -8610,6 +8610,103 @@

[Spice-devel] [RFC v4 46/62] server/red_worker: handle_dev_update: for all clients (checkme)

2011-04-26 Thread Alon Levy
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. TODO: test without this patch.

[Spice-devel] [RFC v4 47/62] server/red_worker: handle_dev_destroy_surface_wait: all clients surfaces

2011-04-26 Thread Alon Levy
--- server/red_worker.c | 10 +++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index 550bda9..9795dab 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -10236,15 +10236,19 @@ static inline void

[Spice-devel] [RFC v4 49/62] server/red_worker: handle_dev_destroy_primary_surface: clear all primary copies

2011-04-26 Thread Alon Levy
--- server/red_worker.c | 13 - 1 files changed, 8 insertions(+), 5 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index ca59662..5fb8a5f 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -10357,7 +10357,8 @@ static inline void

[Spice-devel] [RFC v4 50/62] server/red_worker: handle_dev_input RED_WORKER_MESSAGE_STOP: all clients

2011-04-26 Thread Alon Levy
--- server/red_worker.c | 12 1 files changed, 8 insertions(+), 4 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index 5fb8a5f..fe21a4c 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -10404,6 +10404,8 @@ static void

[Spice-devel] [RFC v4 51/62] server/red_worker: get_streams_timeout: go over all clients

2011-04-26 Thread Alon Levy
--- 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 fe21a4c..7e022f6 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -2476,7 +2476,7 @@ static void

[Spice-devel] [RFC v4 54/62] server/red_worker: split cursor pipe item from cursor item

2011-04-26 Thread Alon Levy
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

[Spice-devel] [RFC v4 55/62] server/red_worker: remove forced disconnect on connect

2011-04-26 Thread Alon Levy
--- 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 19594fe..fcdc806 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -9862,7 +9862,6 @@ static void handle_new_display_channel(RedWorker

[Spice-devel] [RFC v4 56/62] server/red_worker: add cursor_channel_client_disconnect

2011-04-26 Thread Alon Levy
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 fcdc806..3de664a 100644 --- a/server/red_worker.c +++

[Spice-devel] [RFC v4 59/62] server/red_worker: red_current_add_equal: add dcc null checks

2011-04-26 Thread Alon Levy
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 3de664a..35e60d6 100644 --- a/server/red_worker.c +++ b/server/red_worker.c

[Spice-devel] [RFC v4 60/62] server/red_worker: on_new_display_channel_client: push ack, cleanup

2011-04-26 Thread Alon Levy
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 35e60d6..d1039a2 100644 --- a/server/red_worker.c +++

Re: [Spice-devel] [PATCH] spice.proto: Fill.rop_descriptor type s/uint16/ropd (10x atiti)

2011-04-26 Thread Hans de Goede
Ack. On 04/26/2011 12:51 PM, Alon Levy wrote: --- spice.proto |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/spice.proto b/spice.proto index 4eeb159..6160de1 100644 --- a/spice.proto +++ b/spice.proto @@ -639,7 +639,7 @@ channel DisplayChannel : BaseChannel {

Re: [Spice-devel] Spice on OS/X

2011-04-26 Thread Cliff Sharp
Great suggestion. I have been looking into spice-gtk because it does seem like it would be much less work. Thanks. On Apr 26, 2011, at 3:01 AM, Attila Sukosd wrote: Hi, This might be a stupid question, but why don't you try to use spice-gtk on OS/X instead of spicec ? It has

Re: [Spice-devel] androidSpice-0.1.4 released

2011-04-26 Thread Mosebach Kai
Hey Lin, Just gave it a quick shot : - DNS resolving not working? - access to server w/o password not supported? - access w/ password produces a force kill after a vibration - some traffic is seen on the spice-server side though (couldn’t connect therefore) Any logfiles I can provide? HW/SW :

Re: [Spice-devel] [Qemu-devel] QEMU: Discussion of separating core functionality vs supportive features

2011-04-26 Thread Anthony Liguori
On 04/26/2011 04:14 AM, Gerd Hoffmann wrote: Hi, I think that would work well for spice. Spice uses shared memory from the pci device for both the framebuffer and surfaces/commands, but this is Is that the only DMA do you do? That's good for this model. Yes. Spice does both reads and

Re: [Spice-devel] androidSpice-0.1.4 released

2011-04-26 Thread Shuxiang Lim
Hi,all! Thanks for the trying/feedbacking and sorry for the nascent itches of the project. As I've mentioned in the wiki page of this proj.,to use the androidSpice, the server should be modified to force the use of JPEG compression,and qemu should not use -vga qxl and should use -usbdevice