[Spice-devel] Javascript client update, next steps

Jeremy White jwhite at codeweavers.com
Sun May 13 07:53:27 PDT 2012


> 
>  Some usage notes:
>   - linux works nicely. [intentional cut]

/me plugs ears and just sticks with that response <grin>.

>                         [uncut] Speed is an issue - I haven't done any
>     benchmarking.

I'd be happy to try some myself if you had any advice on realistic ones.
I also need to figure out how to profile Javascript.  Firebug claims
to do that, but I can't ever get it to actually run...


>     Some keys are not working correctly, and I get messages from the at
>     keyboard kernel driver in dmesg about them:
> 
> May 13 15:59:53 qxldrm kernel: [22857.328929] atkbd serio0: Unknown key released (translated set 2, code 0x6c on isa0060/serio0).
> May 13 15:59:53 qxldrm kernel: [22857.328936] atkbd serio0: Use 'setkeycodes 6c <keycode>' to make it known.

Hmm.  That's not all that surprising; the keyboard 'logic' in utils.js is
a fairly ugly hack.  It should be relatively easy to deduce what's wrong.
If you add a 
  console.log("Mapped " + e.keyCode + " to " + this.code);
line to the end of the key up function in spicemsg.js (near bottom),
and report the values it should be fairly easy to correct.

> 
>   - windows vm works, but all the bitmaps are rendered upside down. Some
>     not at the correct place. I know this is not a priority for you,
>     just fyi. Mouse works fine. Speed is a major issue as well.

Ah; you've got a vm that sends images with the top down flag unset.  Should
be an easy thing to implement.

Also, I found with my Windows VM that I was forced into server mouse mode,
and I couldn't get that to work right.

My hunt through the gtk code suggested that we never actually know where
the mouse pointer is, but just continually warp the pointer so we can
continue with relative motion.  Is that wrong?  (It's going to be hard
to replicate that if it is, as you're not allowed to warp the mouse
pointer in a web browser).

Also, in good news, I've since found two major mis-assumptions on my part.
First, the regular python websockify works fine - no need to patch and run
the other version.

Second, I learned that you can get a WebSocket to give you ArrayBuffer's instead of Blobs,
which should let me collapse out a lot of tricky functionality, and allow
this to work in more web browsers than just Firefox.

Cheers,

Jeremy


More information about the Spice-devel mailing list