<br><br><div class="gmail_quote">On Wed, Apr 27, 2011 at 5:28 PM, Alon Levy <span dir="ltr">&lt;<a href="mailto:alevy@redhat.com">alevy@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Wed, Apr 27, 2011 at 04:54:55PM +0800, Shuxiang Lim wrote:<br>
&gt; Yep,it&#39;s really nasty.<br>
&gt;    But if I want to leverage FULL spice image ability,I have to:<br>
&gt; 1.Fix the bugs of sigbus in quic.c on Android by rewriting the<br>
&gt; pointer-type-cast into memcpy.etc..<br>
</div>No idea what the problem is, is it a compile error? can you point to the lines/functions?<br>
I assume we are talking about common/quic.c?<br>
<div class="im"><br></div></blockquote><div>No,it will get SIGBUSes in runtime on android and cause process killed,yes,I mean common/qui.c. It&#39;s not new to me for I have fixed the SIGBUSes in generated-demarshaller.c,,etc. before. All of them are from the pointer-typecast in C,them will be OK in x86,but not for ARM. So the quick way to fix is to rewrite them by memcpy(); <br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">
&gt; 2.Then,then,I got the processed image buffer in memory,BUT,HOW can I output<br>
&gt; it??? AFAIK,android offer no image output API for C(at least &lt;2.3), and Java<br>
&gt; cannot access memory directly(am I right?). How can I do it besides sending<br>
&gt; the image data as soon and little as possible to Java via Unix-sock?<br>
&gt;  So, no matter how fast or colorful Spice is, it&#39;s choked by Android<br>
&gt; framework and Java.<br>
<br>
</div>what prevents you from rendering to a buffer and then giving that to java like<br>
you already do with the jpeg images? I confess not looking at the androidSpice code,<br>
so I&#39;m not sure how exactly you do it, but the two options that come to mind are<br>
passing the jpeg buffer as is and letting java uncompress and display, or uncompressing<br>
and then passing the uncompressed buffer to java. If the later, then just let the<br>
existing rendering code do it&#39;s work on a memory buffer and then pass the results.<br>
<div class="im"><br>
&gt;<br>
&gt; Thus,if Java has the ability to maitain something like image buffer in<br>
&gt; memory like C(can it??), this may be the most-efficeint way I can imagine:<br>
&gt; implementing spice protocol and rewriting UI in Java,and leaving only(or<br>
&gt; not) the image computing work to lib**.so via JNI.<br>
<br>
</div>ok, so exactly what I outline above? but I&#39;m not familiar with JNI or the android<br>
SDK.<br>
<div class="im"><br>
&gt;   But that&#39;s beyond my current scope.<br>
&gt;<br>
&gt;  Any ideas to access the memory block of image buffer allocated by<br>
&gt; C(libspicec.so) directly in Java,instantly and swiftly?<br>
&gt;<br>
<br>
</div>sorry, no idea.<br>
<div><div></div><div class="h5"><br></div></div></blockquote><div>Anyway, I HAVE to utilize full power of SPICE rather than use only JPEG,otherwise my porting is useless.I&#39;m searching for the way for Java to use the image buffer maintained by C.<br>
<br>Besides,the &quot;Over mem limit&quot; error in Java on AVDs is caused by the little mem size of them,I will not try to do the optmstn at present.<br>Rgrds. <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div class="h5">
&gt; ...One more time I want to curse Android and disdain Java...<br>
&gt; Best regards.<br>
&gt;<br>
&gt; On Wed, Apr 27, 2011 at 4:20 PM, Alon Levy &lt;<a href="mailto:alevy@redhat.com">alevy@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; On Wed, Apr 27, 2011 at 10:30:18AM +0800, Shuxiang Lim wrote:<br>
&gt; &gt; &gt; Hi,all!<br>
&gt; &gt; &gt;    Thanks for the trying/feedbacking and sorry for the nascent itches of<br>
&gt; &gt; the<br>
&gt; &gt; &gt; project.<br>
&gt; &gt; &gt;    As I&#39;ve mentioned in the wiki page of this proj.,to use the<br>
&gt; &gt; androidSpice,<br>
&gt; &gt; &gt; the server should be modified to force the use of JPEG compression,and<br>
&gt; &gt; qemu<br>
&gt; &gt; &gt; should not use&quot; -vga qxl&quot; and should use &quot;-usbdevice tablet&quot;(check for<br>
&gt; &gt; the<br>
&gt; &gt; &gt; reason in wikipage,maybe you can fix this),have you checked this?<br>
&gt; &gt;<br>
&gt; &gt; so you need to use a standard vga device and not the qxl right now? well,<br>
&gt; &gt; it&#39;s<br>
&gt; &gt; certainly a good start. But you do realize without the qxl device this is<br>
&gt; &gt; no more<br>
&gt; &gt; then a different vnc? i.e. it sends bitmaps only, using jpeg maybe, I<br>
&gt; &gt; wasn&#39;t aware<br>
&gt; &gt; we did that in this case, but no other operation (no copy / text / any<br>
&gt; &gt; other rop).<br>
&gt; &gt;<br>
&gt; &gt; &gt;    If not forced to use JPEG,the quic algorithm in client will cause<br>
&gt; &gt; SIGBUS<br>
&gt; &gt; &gt; and quit,if qxl is not disabled ,the Java UI will crash for it can handle<br>
&gt; &gt; &gt; only SPICE_IMAGE_TYPE_JPEG=105 till now.<br>
&gt; &gt; &gt;    And also,the app will cause &quot;over memory limit&quot; of Java in some<br>
&gt; &gt; machine<br>
&gt; &gt; &gt; of android-2.2 and AVDs.<br>
&gt; &gt; &gt;    I&#39;m working to fix this,welcome to improve it!<br>
&gt; &gt; &gt;    I&#39;v uploaded the androidSpice.apk and androidSpice-debug.apk with the<br>
&gt; &gt; &gt; latter&#39;s debug msg switched on(you can check the ANDROID LOG msg by #adb<br>
&gt; &gt; &gt; logcat). I&#39;ve also uploaded the red_worker.c for server modifying(If<br>
&gt; &gt; &gt; needed,you can get the libspicec.so from the installed android program<br>
&gt; &gt; file<br>
&gt; &gt; &gt; directory as /data/data/com.keqi*/lib/libspicec.so to use directly in the<br>
&gt; &gt; &gt; Android proj.).<br>
&gt; &gt; &gt;    Best Regards.<br>
&gt; &gt; &gt; ---Lim---Lin--------林------<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Wed, Apr 27, 2011 at 6:14 AM, Gianluca Cecchi<br>
&gt; &gt; &gt; &lt;<a href="mailto:gianluca.cecchi@gmail.com">gianluca.cecchi@gmail.com</a>&gt;wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Hello,<br>
&gt; &gt; &gt; &gt; device is HTC Wildfire with android 2.2.1 and my guest is windows 7 on<br>
&gt; &gt; &gt; &gt; F14+virt-preview repo.<br>
&gt; &gt; &gt; &gt; In /var/log/libvirt/qemu/guest.log after pressing connect button I get:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; reds_handle_main_link:<br>
&gt; &gt; &gt; &gt; reds_show_new_channel: channel 1:0, connected successfully, over Non<br>
&gt; &gt; Secure<br>
&gt; &gt; &gt; &gt; link<br>
&gt; &gt; &gt; &gt; reds_main_handle_message: net test: latency 22.151000 ms, bitrate<br>
&gt; &gt; &gt; &gt; 10769821 bps (10.270902 Mbps)<br>
&gt; &gt; &gt; &gt; reds_show_new_channel: channel 2:0, connected successfully, over Non<br>
&gt; &gt; Secure<br>
&gt; &gt; &gt; &gt; link<br>
&gt; &gt; &gt; &gt; red_dispatcher_set_peer:<br>
&gt; &gt; &gt; &gt; handle_dev_input: connect<br>
&gt; &gt; &gt; &gt; handle_new_display_channel: jpeg disabled<br>
&gt; &gt; &gt; &gt; handle_new_display_channel: zlib-over-glz disabled<br>
&gt; &gt; &gt; &gt; reds_show_new_channel: channel 3:0, connected successfully, over Non<br>
&gt; &gt; Secure<br>
&gt; &gt; &gt; &gt; link<br>
&gt; &gt; &gt; &gt; inputs_link:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Then error message on android device (see jpeg)<br>
&gt; &gt; &gt; &gt; I select &quot;force close&quot; and I get in log file:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; red_receive: Connection reset by peer<br>
&gt; &gt; &gt; &gt; reds_disconnect:<br>
&gt; &gt; &gt; &gt; red_dispatcher_shutdown_cursor_peer:<br>
&gt; &gt; &gt; &gt; red_dispatcher_shutdown_peer:<br>
&gt; &gt; &gt; &gt; handle_dev_input: cursor disconnect<br>
&gt; &gt; &gt; &gt; handle_dev_input: disconnect<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Connection works from another f14 pc with spicy.<br>
&gt; &gt; &gt; &gt; Any information that I can give from the android device?<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Gianluca<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; 2011/4/26 Mosebach  Kai &lt;<a href="mailto:kai.mosebach@bsse.ethz.ch">kai.mosebach@bsse.ethz.ch</a>&gt;:<br>
&gt; &gt; &gt; &gt; &gt; Hey Lin,<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Just gave it a quick shot :<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; - DNS resolving not working?<br>
&gt; &gt; &gt; &gt; &gt; - access to server w/o password not supported?<br>
&gt; &gt; &gt; &gt; &gt; - access w/ password produces a &quot;force kill&quot; after a vibration<br>
&gt; &gt; &gt; &gt; &gt; - some traffic is seen on the spice-server side though<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; (couldn’t connect therefore)<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Any logfiles I can provide?<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; HW/SW : Android V2.2 on Samsung Galaxy Tab<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Cheers Kai<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; On 4/26/11 9:43 AM, &quot;Shuxiang Lim&quot; &lt;<a href="mailto:shohyanglim@gmail.com">shohyanglim@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;&gt;Released with src &amp; .apk files with button-double-click fixed.<br>
&gt; &gt; &gt; &gt; &gt;&gt;--Lin--<br>
&gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt;&gt;On 4/26/11, Shuxiang Lim &lt;<a href="mailto:shohyanglim@gmail.com">shohyanglim@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt; Hi,all!<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt;   After I workaround the bug &quot;input will choke output&quot;,I&#39;m glad to<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt; release the USABLE androidSpice-0.1.4 on google code:<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt; <a href="http://code.google.com/p/spice-client-android/" target="_blank">http://code.google.com/p/spice-client-android/</a><br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt; You shall check the wiki page of it for the build/install/use of<br>
&gt; &gt; it.<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt; Any use or improvement will be appreciated!<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt; Best Regards.<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt; ------Lin-----林----<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt;&gt;_______________________________________________<br>
&gt; &gt; &gt; &gt; &gt;&gt;Spice-devel mailing list<br>
&gt; &gt; &gt; &gt; &gt;&gt;<a href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a><br>
&gt; &gt; &gt; &gt; &gt;&gt;<a href="http://lists.freedesktop.org/mailman/listinfo/spice-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/spice-devel</a><br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; &gt; &gt; Spice-devel mailing list<br>
&gt; &gt; &gt; &gt; &gt; <a href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a><br>
&gt; &gt; &gt; &gt; &gt; <a href="http://lists.freedesktop.org/mailman/listinfo/spice-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/spice-devel</a><br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; Spice-devel mailing list<br>
&gt; &gt; &gt; <a href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a><br>
&gt; &gt; &gt; <a href="http://lists.freedesktop.org/mailman/listinfo/spice-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/spice-devel</a><br>
&gt; &gt;<br>
&gt; &gt;<br>
<br>
&gt; _______________________________________________<br>
&gt; Spice-devel mailing list<br>
&gt; <a href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a><br>
&gt; <a href="http://lists.freedesktop.org/mailman/listinfo/spice-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/spice-devel</a><br>
<br>
</div></div></blockquote></div><br>