[Spice-devel] OpenGL passthrough
Hi guys, Just a though : In a scenario where a kvm-host system has a openGL capable display adapter, wouldn't it be possible (and relatively simple compared to a full VGA passthrough) to just pass the OpenGL interface/access into the VMs QXL Adapter making this one (HW accelerated) OpenGL aware? Thanks for enlightenment, Kai ___ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel
Re: [Spice-devel] OpenGL passthrough
On 11/9/11 3:51 PM, Alon Levy al...@redhat.com wrote: On Wed, Nov 09, 2011 at 01:52:12PM +, Mosebach Kai wrote: Hi guys, Just a though : In a scenario where a kvm-host system has a openGL capable display adapter, wouldn't it be possible (and relatively simple compared to a full VGA passthrough) to just pass the OpenGL interface/access into the VMs QXL Adapter making this one (HW accelerated) OpenGL aware? There are threads in qemu-devel about using pci passthrough for using I tried for long time now to pass through PCIe Hardware into the guest with all kind of PCIe cards w/o too much off success. So that¹s not what I want ;-) the host GPU from the guest. If you actually want to view the results then yes, it's relatively simple in theory. Maybe also in practice, but I've been struggling with a slightly larger problem, doing OpenGL and Direct3D passthrough, for almost a year now, with no results to show :/ I do have patches on my harddrive somewhere by Izik Eidos that do a proof of concept for GL passthrough from a windows guest to a windows/linux client, I could ask him if it's ok to post them if you'd like. (and if I can find them). Basically it adds qxl messages for all the GL commands, adds a surface type, tracks all commands from the last SwapBuffers (I guess wglSwapBuffers - the equivalent of glXSwapBuffers) per surface, and passes all of those to the client. Rendering on the server, that is the host, will be a little simpler. So (if I got you right and you got me right) we talk about the QXL device on the KVM guest receiving OpenGL commands and passing them (thru qemu-kvm) downwards to the OpenGL capable hardware on the KVM Host (server). The client (spicec or similar) should not be involved at all. Is there any work in progress (for rendering on the server) - similar to the RemoteFX project of HyperV? Cheers Kai Thanks for enlightenment, Kai ___ 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
Re: [Spice-devel] OpenGL passthrough
Both would be very helpful :-) And important from a market/competitive point of view. Please let me have a look at the patches if possible, Thanks Kai On 11/9/11 5:54 PM, Alon Levy al...@redhat.com wrote: On Wed, Nov 09, 2011 at 03:57:30PM +, Mosebach Kai wrote: On 11/9/11 3:51 PM, Alon Levy al...@redhat.com wrote: On Wed, Nov 09, 2011 at 01:52:12PM +, Mosebach Kai wrote: Hi guys, Just a though : In a scenario where a kvm-host system has a openGL capable display adapter, wouldn't it be possible (and relatively simple compared to a full VGA passthrough) to just pass the OpenGL interface/access into the VMs QXL Adapter making this one (HW accelerated) OpenGL aware? There are threads in qemu-devel about using pci passthrough for using I tried for long time now to pass through PCIe Hardware into the guest with all kind of PCIe cards w/o too much off success. So that¹s not what I want ;-) the host GPU from the guest. If you actually want to view the results then yes, it's relatively simple in theory. Maybe also in practice, but I've been struggling with a slightly larger problem, doing OpenGL and Direct3D passthrough, for almost a year now, with no results to show :/ I do have patches on my harddrive somewhere by Izik Eidos that do a proof of concept for GL passthrough from a windows guest to a windows/linux client, I could ask him if it's ok to post them if you'd like. (and if I can find them). Basically it adds qxl messages for all the GL commands, adds a surface type, tracks all commands from the last SwapBuffers (I guess wglSwapBuffers - the equivalent of glXSwapBuffers) per surface, and passes all of those to the client. Rendering on the server, that is the host, will be a little simpler. So (if I got you right and you got me right) we talk about the QXL device on the KVM guest receiving OpenGL commands and passing them (thru qemu-kvm) downwards to the OpenGL capable hardware on the KVM Host (server). The client (spicec or similar) should not be involved at all. Is there any work in progress (for rendering on the server) - similar to the RemoteFX project of HyperV? I know I'm working on enabling both server side and client side rendering, not aware of anyone else. Cheers Kai Thanks for enlightenment, Kai ___ 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
Re: [Spice-devel] OSX spice-gtk and pyparsing
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 really nice cocoa app). Cheers Kai PS : The spice-gtk-0.6 builds nearly without any hacks on osx. I will try to provide a patch for the Makefile in ./gtk soon (regarding the sym-file issue)... On 5/4/11 10:41 AM, Christophe Fergeau cferg...@redhat.com wrote: On Tue, May 03, 2011 at 05:32:12PM -0500, Cliff Sharp wrote: So, now I use the X11 environment that comes with osx when I actually run spiced and/or spicy. But I feel you are correct in saying that it is better to use the X11 system that comes with osx. I was just attempting to notify others of these issues in hopes that it might help them to save some time. Ah ok, thanks for that, I thought you wanted to fix things on the macports X side :) Since spice-gtk-x11 on osx isn't that interesting to me (I'd rather have a more native port using gtk-osx), if it works with Apple X11, I'd leave it at that :) Do you feel it is worth the time to build an Xcode project for building spicec and spice-gtk to distribute? The visual debugger is sure nice in Xcode. I wouldn't spend too much time on an Xcode project for spicec. It might be useful for spice-gtk, but it might be too early for that. In my opinion, what would be really nice is * a working spice-gtk using gtk-osx (spice-gtk currently has X11/windows specific bits that needs to be ported) * when we have that, having some kind of bundle that people can install to use in xcode would be great (I think the gtk-osx project has some tools to help in doing that) * longer term, a cocoa spice client (probably using spice-client-glib for the low-level spice stuff) would be even better (I assume this would ease iOS porting) Christophe ___ 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
Re: [Spice-devel] Spice on OS/X
I finally build it on OSX 10.6.6 successfully :-) From the patches below I only used : common/lines.c gtk/Makefile.am Then a ./configure --with-audio=gstreamer --without-python --with-coroutine=gthread did the trick, I think --with-coroutine=gthread avoid the _XOPEN_SOURCE patches. Best Kai On 4/27/11 10:47 AM, Christophe Fergeau cferg...@redhat.com wrote: On Tue, Apr 26, 2011 at 08:39:13PM +0200, Attila Sukosd wrote: Also I've attached the patch which fixes a few things here and there... With this it builds fine. Ah, so you've already built spice-gtk on macosx? How well did it work? I had some questions about your patch, it would be really helpful if you remembered why you had to change these things :) Thanks for the patch, Christophe diff --git a/common/lines.c b/common/lines.c index 1a14c18..59d0689 100644 --- a/common/lines.c +++ b/common/lines.c @@ -2985,7 +2985,7 @@ miWideDashSegment (GCPtr pGC, double L, l; double k; PolyVertexRec vertices[4]; -PolyVertexRec saveRight = { 0 }, saveBottom; +PolyVertexRec saveRight = { 0 }, saveBottom = { 0 }; PolySlopeRec slopes[4]; PolyEdgeRec left[2], right[2]; LineFaceRec lcapFace, rcapFace; I assume this bit is to avoid a saveBottom can be used without being initialized gcc warning? diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 7ce8a65..e5f3c1c 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -27,6 +27,7 @@ if HAVE_LD_VERSION_SCRIPT VERSION_LDFLAGS = -Wl,--version-script=${srcdir}/map-file else VERSION_LDFLAGS = -export-symbols ${srcdir}/sym-file +#VERSION_LDFLAGS = endif KEYMAP_GEN = $(srcdir)/keymap-gen.pl macosx ld indeed doesn't have any of --version-script nor -export-symbols, but it does have --exported_symbols_list which seems to be equivalent to what we are trying to do here. This means m4/ld-version.m4 could be improved to deal with this. @@ -420,7 +421,6 @@ INTROSPECTION_GIRS = INTROSPECTION_SCANNER_ARGS = --add-include-path=$(builddir) $(PREFIX_ARGS) INTROSPECTION_COMPILER_ARGS = --includedir=$(builddir) -if HAVE_INTROSPECTION glib_introspection_files = $(libspice_client_glibinclude_HEADERS) gtk_introspection_files = $(libspice_client_gtkinclude_HEADERS) @@ -453,7 +453,6 @@ typelibsdir = $(libdir)/girepository-1.0 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) CLEANFILES += $(gir_DATA) $(typelibs_DATA) -endif I'm not sure why you needed this change. My first guess was that this change is needed to prevent autoconf from complaining that HAVE_INTROSPECTION is not present in an AM_CONDITIONAL when gobject-introspection (and introspection.m4) are not installed. However, this would mean that unconditionally building the introspection stuff would fail, and moreover, when I tested just this change without introspection, configure didn't succeed. Can you tell more about why this change was needed? diff --git a/gtk/continuation.c b/gtk/continuation.c index 4f5b027..3aefa54 100644 --- a/gtk/continuation.c +++ b/gtk/continuation.c @@ -21,7 +21,10 @@ #include config.h #include continuation.h - +#ifdef __MACH__ +#define _XOPEN_SOURCE +#include ucontext.h +#endif continuation.h already has the #include ucontext.h, including it again shouldn't do much. Does something like --- a/gtk/continuation.c +++ b/gtk/continuation.c @@ -21,7 +21,10 @@ #include config.h +#define _XOPEN_SOURCE #include continuation.h help with the issue you were having? diff --git a/gtk/continuation.h b/gtk/continuation.h index 585788e..6822757 100644 --- a/gtk/continuation.h +++ b/gtk/continuation.h @@ -21,7 +21,8 @@ #ifndef _CONTINUATION_H_ #define _CONTINUATION_H_ -#include ucontext.h +#include string.h +#include sys/ucontext.h Ah, this explains the #include ucontext.h you added in the previous hunk. I suspect dropping both hunks and only adding the #define _XOPEN_SOURCE here would fix your issues. Though nothing in ucontext.h nor in sys/ucontext.h on a macosx box depends on _XOPEN_SOURCE, so I'm not sure what issues you were seeing here? diff --git a/gtk/coroutine_ucontext.c b/gtk/coroutine_ucontext.c index 91059ad..ee48249 100644 --- a/gtk/coroutine_ucontext.c +++ b/gtk/coroutine_ucontext.c @@ -25,6 +25,9 @@ #include stdio.h #include stdlib.h #include coroutine.h +#ifndef MAP_ANONYMOUS +# define MAP_ANONYMOUS MAP_ANON +#endif Yep, macosx has MAP_ANON but no MAP_ANONYMOUS diff --git a/gtk/spice-client-gtk.override b/gtk/spice-client-gtk.override index 7b3543a..e634f78 100644 --- a/gtk/spice-client-gtk.override +++ b/gtk/spice-client-gtk.override @@ -1,6 +1,7 @@ %% headers #include Python.h +#define NO_IMPORT_PYGOBJECT This one seems to be here for the same kind of issues as what led to https://gitorious.org/rb-lastfm/rb-lastfm/commit/ab102ef5a954eb87354c3467d 1a35c8fa596242b but I must say I don't understand very well the issue/what's going on. Do you happen to have the compile error handy (just for my knowledge). I'm happy to take this one as is whatsoever.
Re: [Spice-devel] [CIFEX] A file available for download from Kai Mosebach
For this you should have a working build process and then write some after processing script which packs things together automatically (such as the binaries below) + all needed libs and the throw it into a pkg or dmg automatically. It'd be a nice to have but surely takes more than some minutes ... On 4/27/11 11:57 AM, Federico Alves sa...@minixel.com wrote: I get this error Last login: Sat Apr 23 00:23:34 on ttys003 /Users/federico/Downloads/spice-gtk-0.5-darwin/bin/spicy ; exit; 192:~ federico$ /Users/federico/Downloads/spice-gtk-0.5-darwin/bin/spicy ; exit;dyld: Library not loaded: /usr/local/lib/libspice-client-gtk-2.0.1.dylib Referenced from: /Users/federico/Downloads/spice-gtk-0.5-darwin/bin/spicy Reason: image not found Trace/BPT trap Logout I was referring not exactly to a binary version, but to an installer. Just like a real software product. In fact, I want to put such a thing in the Apple store, free. It would be great. Is that possible? Federico On 4/27/11 5:51 AM, Kai Mosebach kai.moseb...@bsse.ethz.ch wrote: Hello sa...@minixel.com, Kai Mosebach kai.moseb...@bsse.ethz.ch has stored a file on our server for you to download. File information appears below. From: Kai Mosebach Email:kai.moseb...@bsse.ethz.ch The file is (follow link to download): spice-gtk-0.5-darwin.tgz https://cifex.ethz.ch:443/?fileId=11135user=sales%40minixel.com Expiration: The file will be removed on 2011-05-04 at 23:59:59 For downloading you have to enter the following password: DDIFfmQlBic~R@3l@z Link to login to the system: https://cifex.ethz.ch:443/?user=sales%40minixel.com We recommend that you keep your antivirus software up-to-date when downloading any files from the internet. CIFEX - CISD File EXchanger Center for Information Sciences and Databases ETH Zurich ___ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel
Re: [Spice-devel] OSX spice-gtk and pyparsing
As Cliff stated on the very end of the mail, taking pyparsing from the original website and manually installing it resolved the problem… Cheers Kai From: Attila Sukosd attila.suk...@gmail.commailto:attila.suk...@gmail.com Date: Wed, 27 Apr 2011 18:30:58 +0200 To: Cliff Sharp csh...@vbridges.commailto:csh...@vbridges.com, spice-de...@freedesktop.orgmailto:spice-de...@freedesktop.org, Kai Mosebach k...@freshx.demailto:k...@freshx.de Subject: Re: [Spice-devel] OSX spice-gtk and pyparsing Yea, you can even just take the pyparsing.py from the .tgz and put it in the source base dir. (where you run make from) Best Regards, Attila Sukosd - DTU Computing Center - www.cc.dtu.dkhttp://www.cc.dtu.dk att...@cc.dtu.dkmailto:att...@cc.dtu.dk, gba...@student.dtu.dkmailto:gba...@student.dtu.dk, s070...@student.dtu.dkmailto:s070...@student.dtu.dk On Wed, Apr 27, 2011 at 6:28 PM, Alon Levy al...@redhat.commailto:al...@redhat.com wrote: On Wed, Apr 27, 2011 at 11:07:55AM -0500, Cliff Sharp wrote: When building spice-gtk after loading tons of MacPorts dependencies -- I was getting the following error. To build from git (not from source tar balls) you need pyparsing. I think it's pure python, so should pose absolutely no problem to install even if no MacPort exists. I don't have a mac so I can't check. http://pyparsing.wikispaces.com/ make all-recursive Making all in common Making all in win Making all in my_getopt-1.5 make[4]: Nothing to be done for `all'. make[4]: Nothing to be done for `all-am'. make[3]: Nothing to be done for `all-am'. Making all in gtk GENspice-marshal.c GENspice-marshal.h GENgenerated_demarshallers.c Traceback (most recent call last): File ../spice_codegen.py, line 7, in module from python_modules import spice_parser File /Users/csharp/src/spice-gtk/spice-gtk-0.5/python_modules/spice_parser.py, line 1, in module from pyparsing import Literal, CaselessLiteral, Word, OneOrMore, ZeroOrMore, \ ImportError: No module named pyparsing make[2]: *** [generated_demarshallers.c] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 I could not find pyparsing in MacPorts via the port list command. I did find and load py-parsing @1.5.1 python/py-parsing py25-parsing @1.5.1 python/py25-parsing py26-parsing @1.5.2 python/py26-parsing py27-parsing @1.5.5 python/py27-parsing But none of these resolved the issue. So I downloaded pyparsing-1.5.5.tar.gz from http://distfiles.macports.org/python/ and installed it via python setup.py install which resolved the issue. Cliff Sharp | csh...@vbridges.commailto:csh...@vbridges.com ___ Spice-devel mailing list Spice-devel@lists.freedesktop.orgmailto:Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel ___ Spice-devel mailing list Spice-devel@lists.freedesktop.orgmailto: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
Re: [Spice-devel] androidSpice-0.1.4 released
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 : Android V2.2 on Samsung Galaxy Tab Cheers Kai On 4/26/11 9:43 AM, Shuxiang Lim shohyang...@gmail.com wrote: 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: http://code.google.com/p/spice-client-android/ You shall check the wiki page of it for the build/install/use of it. Any use or improvement will be appreciated! Best Regards. --Lin-林 ___ 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