Re: [Spice-devel] spice-gtk how to use opengl

2013-11-22 Thread thddu
  The first issue has been resolved. Because I have a bad modification in 
qxl dirver. Spicec don't core dumped after when I change the qxl dirver to 
original. But the preformance isn't better than using sw canvas.
  Can you give me some precious suggestion if i want to improve the gl 
canvas performance. Thank you!


At 2013-11-20 18:34:30,Marc-André Lureau mlur...@redhat.com wrote:


- Original Message -
 Old spicec can use canvas type gl_fbo and gl_pbuff . But when i connect to
 spice server , spicec core dumped and print Spice-Warning **:
 ../spice-common/common/canvas_base.c:1145:canvas_get_image_internal: should
 not be reached.

How did you compile spice, do you have OpenGL: yes in configure log? Can you 
get a backtrace of this warning? (break at canvas_base.c:1145)

 In addition, spice gtk can't choose canvas type. So spice gtk how to use
 opengl. Thank you!

Spice-gtk currently doesn't support opengl canvas. It may have some support 
added in the next year (for local virgil support).

However, don't expect better performance from using the gl canvas today (it's 
~2x time slower on my laptop). The 2d canvas code isn't probably fitting the 
gpu very well. (too much upload/read of textures, not enough batching, old gl 
code lacking optimization etc.)


___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel


___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel


[Spice-devel] [PATCH spice-gtk] channel: swap channel GSocketConnection on migration

2013-11-22 Thread Marc-André Lureau
When migration completes, unrefing the new connection leads to original
GSocket pending refs, and thus the sockets stay in CLOSE_WAIT.

This is a regression from 8029bd0 where GSocketConnection is kept around
to satisfy old glib.

https://bugzilla.redhat.com/show_bug.cgi?id=1024501

This will also probably fix:
https://bugzilla.redhat.com/show_bug.cgi?id=952375
---
 gtk/spice-channel.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gtk/spice-channel.c b/gtk/spice-channel.c
index eda31d2..6ddbe50 100644
--- a/gtk/spice-channel.c
+++ b/gtk/spice-channel.c
@@ -2733,6 +2733,7 @@ void spice_channel_swap(SpiceChannel *channel, 
SpiceChannel *swap, gboolean swap
 
 /* TODO: split channel in 2 objects: a controller and a swappable
state object */
+SWAP(conn);
 SWAP(sock);
 SWAP(ctx);
 SWAP(ssl);
-- 
1.8.4.2

___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel


[Spice-devel] Crashes with newest spice

2013-11-22 Thread Klaus Hochlehnert
Hi,

I've upgraded my systems to the newest released versions of qemu/spice.

But with this versions I get continuously crashes of remote-viewer when using 
Windows7 as guest.
Basically the crash occurs immediately when using Outlook 2010 and configuring 
a new Email account.
Also the background of the select boxes switches to yellow when the mouse 
pointer moves over it.

Used versions:
Ubuntu 12.04 Desktop
spice-0.12.4
spice-gtk-0.21
spice-protocol-0.12.6
virt-viewer-0.5.7 (also tested 0.5.6, but no difference)
spice-guest-tools-0.65.1.exe

I ran it through strace and used gbd. Here's the data:

[Thread 0x7f1efcffc700 (LWP 11792) exited]

Program received signal SIGABRT, Aborted.
0x7f1f32227425 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x7f1f32227425 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x7f1f3222ab8b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x7f1f33846185 in spice_logv (log_domain=0x7f1f338c5566 Spice, 
log_level=SPICE_LOG_LEVEL_CRITICAL,
strloc=0x7f1f338d0628 ../spice-common/common/canvas_base.c:1149, 
function=0x7f1f338d0e20 canvas_get_image_internal,
format=0x7f1f338d0bc2 condition `%s' failed, args=0x7f1efeffe528) at 
log.c:109
#3  0x7f1f338462c8 in spice_log (log_domain=optimized out, 
log_level=optimized out, strloc=optimized out, function=optimized out,
format=optimized out) at log.c:123
#4  0x7f1f33835d59 in canvas_get_image_internal (canvas=0x2872200, 
image=0x33afa28, want_original=optimized out, real_get=1)
at ../spice-common/common/canvas_base.c:1150
#5  0x7f1f33836dce in canvas_draw_rop3 (spice_canvas=0x2872200, 
bbox=0x33af9b4, clip=0x33af9c8, rop3=0x33af9d8)
at ../spice-common/common/canvas_base.c:3258
#6  0x7f1f33816161 in display_handle_draw_rop3 (channel=0x2867620, 
in=optimized out) at channel-display.c:1649
#7  0x7f1f3380cfd5 in spice_channel_recv_msg (channel=0x2867620, 
msg_handler=0x7f1f3380c290 spice_channel_handle_msg, data=0x0)
at spice-channel.c:1847
#8  0x7f1f3380d174 in spice_channel_iterate_read (channel=0x2867620) at 
spice-channel.c:2071
#9  0x7f1f3380f142 in spice_channel_iterate (channel=0x2867620) at 
spice-channel.c:2113
#10 spice_channel_coroutine (data=optimized out) at spice-channel.c:2341
#11 0x7f1f3383cf2f in coroutine_trampoline (cc=0x28676e0) at 
coroutine_ucontext.c:58
#12 0x7f1f3383ccc6 in continuation_trampoline (i0=optimized out, 
i1=optimized out) at continuation.c:49
#13 0x7f1f32239650 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#14 0x02867aa8 in ?? ()
#15 0x in ?? ()


poll([{fd=10, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=10, revents=POLLOUT}])
writev(10, 
[{\213\7\2\0\361;\200\0036\0\2\0\360;\200\0035\30\4\0\362;\200\3\3\0\200\0030\0\r\0...,
 2656}, {NULL, 0}, {, 0}], 3) = 2656
recvfrom(10, 0xf2f2b4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily 
unavailable)
recvfrom(10, 0xf2f2b4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily 
unavailable)
poll([{fd=4, events=POLLIN}, {fd=10, events=POLLIN}, {fd=9, events=POLLIN}, 
{fd=22, events=POLLIN}, {fd=30, events=POLLIN}, {fd=29, events=POLLIN}, {fd=28, 
events=POLLIN}, {fd=27, events=POLLIN}, {fd=26, events=POLLIN}, {fd=23, 
events=POLLIN}, {fd=25, events=POLLIN}, {fd=24, events=POLLIN}, {fd=32, 
events=POLLIN}, {fd=21, events=POLLIN}, {fd=8, events=POLLIN}, {fd=34, 
events=POLLIN}, {fd=33, events=POLLIN}], 17, 0) = 0 (Timeout)
read(4, 0x7fffcb7dcfc0, 16) = -1 EAGAIN (Resource temporarily 
unavailable)
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
poll([{fd=31, events=POLLIN}], 1, 0)= 1 ([{fd=31, revents=POLLIN}])
recvfrom(31, 5\1\335\0\0\0, 6, 0, NULL, NULL) = 6
recvfrom(31, 
\0\0\0\0006\2\0\0\364\0\0\0B\2\0\0\1\0\0\0=\0\0\0\0\0\0\0\0\0\0..., 221, 0, 
NULL, NULL) = 221
write(2, (/usr/bin/strace:10344): , 25(/usr/bin/strace:10344): ) = 25
write(2, Spice-, 6Spice-)   = 6
write(2, ERROR **: , 10ERROR **: )  = 10
write(2, pixman_utils.c:1343:bitmap_1be_3..., 
41pixman_utils.c:1343:bitmap_1be_32_to_32: ) = 41
write(2, assertion `palette != NULL' fail..., 34assertion `palette != NULL' 
failed) = 34
write(2, \n, 1
)   = 1
access(/usr/bin/gstack, X_OK) = 0
pipe([35, 36])  = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, 
child_tidptr=0x7f999ff97c10) = 10364
close(36)   = 0
read(35, , 255)   = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
close(35)   = 0
wait4(10364, [{WIFEXITED(s)  WEXITSTATUS(s) == 0}], 0, NULL) = 10364
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(10344, 10344, SIGABRT)   = 0
--- SIGABRT (Aborted) @ 0 (0) ---
+++ killed by SIGABRT (core dumped) +++

Thanks, Klaus

___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel