<div dir="ltr"><div>Hi Marc-Andre, Christophe,<br><br></div>I will reply to both of you in one message because Marc's reply contains Christophe's message :). I am in Canada, so there is a time-zone difference too.<br>
<div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 10, 2013 at 8:26 AM, Marc-André Lureau <span dir="ltr"><<a href="mailto:marcandre.lureau@gmail.com" target="_blank">marcandre.lureau@gmail.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote"><div>Fantastic news! I played with it a bit on an Ace2, and I found it great. Thanks for your hard work!<br></div></div></div></div></div></blockquote>
<div><br></div><div>You're welcome! It's a pleasure when I get such a positive response from everyone.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>I am mostly missing guest auto-resize and sound support :) Did you hit technical problems or limitations from Android, or with enough time all should be solvable?<br>
</div></div></div></div></div></blockquote><div><br></div><div>I think so. For the guest auto-resize, it was not immediately clear what I have to do to make it happen. The client (aSPICE) certainly "knows" what resolution it "wants" to get from the server, so it's just a matter of expanding the API between Java and native to include a request for the remote side to resize. Once that request is put in, everything else will be automatic. The native layer will get a call to "primary_create", and will then request a new bitmap from Java to draw into. Can you please point me to the relevant code in spice-gtk to shorten my search?<br>
<br></div><div>Sound support is not yet coded in the Java layer. I've made sure not to excise it from spice-gtk, in that I built celt051 for it and have included the sound channel code in the library I build for Android. It is definitely a planned feature, and I expect I should get working on it relatively soon.<br>
<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote"><div>
<br></div><div>Btw, there is no build instructions I could find, but it looks like ndk-build from command line should do it.<br> <br></div></div></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>However, you use many prebuilt static libraries from /opt/android. How did you get those? (at some point I started looking at cerbero from the gstreamer-sdk to be able to build spice-gtk from scratch for different platforms)<br>
</div></div></div></div></div></blockquote><div><br></div><div>Yes, apart from all those pre-built libraries in /opt/android, the build instructions are simply "ndk-build", that part couldn't get any simpler. The real challenge is getting some sort of coherent documentation put together on how to build the rest. I got glib 2.28 pre-built from tarnyko. He was also gracious enough to provide me the source and some quick notes that he put together for building it. Please note that he says he is very busy at the moment, so we should try not to bother him.<br>
<br></div><div>He has placed the source code here:<br><a href="http://www.tarnyko.net/repo/agcc-glib.tar.lzma" target="_blank">http://www.<span class="">tarnyko</span>.net/repo/agcc-glib.<span class="">tar</span>.lzma</a> <br>

<br></div><div>The notes he sent me by email were:<br></div><div>================================================<br>- I used the old Mozilla r4c0moz3 ndk, like in the guy's mail. v7 gave 
me troubles. The "cross-compiler" folder contains corresponding <a href="http://agcc.pl" target="_blank">agcc.pl</a> ; <br>
- The build notes are in "compiler_glib/z_android-glib.<div id=":z3">txt". <br>
- The same folder contains static x86 versions of "glib-compile-schemas"
 and "glib-genmarshal", which are needed for the process. <br>
<br>Please note that I'm very busy at the moment, and while I'd like to help
 you, I may do it with sensible delays. I want to provide a full 
buildenv myself at one time. ================================================</div></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote"><div>
</div><div class="im"><div>
<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
<br>
</div>Oh, this is nice, thanks for the announcement. Did you need to make a lot<br>
of changes to spice-gtk? I assume some of these changes could be<br>
integrated upstream to make things easier for people wanting to use SPICE<br>
on Android?<br>
<span><font color="#888888"><br></font></span></blockquote><div><br></div></div><div>Yes, feel free to propose changes in spice-gtk to make your life easier, or to improve Android support. <br></div></div></div></div></div>
</blockquote><div><br></div><div>OK, you guys asked for it ;). Here are some things that I've come up against while making aSPICE, and this is not an exhaustive list, I will probably add to it over time:<br><br></div>
<div>- There is no xkeysym (used for VNC, basically an (almost) complete mapping) to linux keycode mapping in keymaps.csv. I have put in my enormous TODO file the following lead to follow up on in an effort to add it, but I've simply run out of cycles up to this point. There appears to be a method we can add the mapping programatically here:<br>
<br>  <a href="http://stackoverflow.com/questions/10157826/xkb-how-to-convert-a-keycode-to-keysym">http://stackoverflow.com/questions/10157826/xkb-how-to-convert-a-keycode-to-keysym</a><br><br></div><div>and I would appreciate any assistance in that matter. At the moment, aSPICE uses win32 virtual key codes to do what should be done with xkeysyms.<br>
</div><div><br></div><div>- I am experiencing some alignment issues on the ARM architecture with non-aligned access to 64-bit values that are causing SIGBUS-es. I would like to find a solution to them.<br></div><div><br></div>
<div>- There is no clear delineation between the spice library used to communicate with the server and the GTK client. Or at least I couldn't find it documented anywhere. In order to craft the Android client, I had to hack away a bunch of code from the GTK client (with some ideas from shohyanglim at gmail). I've tried to keep the modifications where they belong, so over time, we can clean them up. To summarize:<br>
<br>The android-spice-widget.* files are modified versions of spice-widget.*<br><br></div><div>The android-spicy.c file is a modified version of spicy.c.<br><br></div><div>- Don't even bother looking at the <a href="http://keymap-gen-with-android.pl">keymap-gen-with-android.pl</a> and keymaps-with-android.csv files, as they are an early idea to add the android key-codes to keymaps.csv. That will not work right, because for many characters there is no android keycode - we basically get a unicode value from the KeyEvent. That unicode value has a well-established and open-source way of being mapped to an xkeysym, which brings me back to the first point on this list :).<br>
</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote"><div><br>
</div><div>Should your client be featured on <a href="http://spice-space.org" target="_blank">spice-space.org</a>? it's GPL and code is available, so I guess it could.<br></div></div></div></div></div></blockquote><div>
<br></div><div>It would be great if you would feature me on <a href="http://spice-space.org">spice-space.org</a>. I would be honored!<br><br></div><div>Thanks for all the support and positive comments! I look forward to our future collaboration.<br>
<br></div><div>Cheers!<br>iordan<br></div></div></div></div>