I'm cc'ing the new mailing list so we can continue the discussion there http://groups.google.com/androix-users
On May 27, 2011 11:47 AM, "webbbn" <reply+m-7413368-f5ec52ffb8dc...@reply.github.com> wrote:
>
> Thanks for the offer of help. Maybe you can clear up a few questions that I
> have building the androix-xserver package.
>
> First, I'l a little confused about the layout of the git repository. I
> haven't used git much, so I'm not sure I have the latest source. If I just
> "git clone" the repostitory I appear to get the -0.2 branch, which I think
> is old. I ended up switching to the -0.8 branch in github and pulling a
> tarball. Is that the correct version?
>
> After I did that, I got it to build usin the top-level autogen.sh script.
> It looks like that just builds a native library (I think). It looks like
> the Android app source is in the hw/android directory, but there's several
> makefiles and scripts in there, and none of them seem to build correctly, so
> I'm thinking that I'm looking in the wrong place. Any pointers would be
> appretiated.
>
> Oh, and the Transformer is tegra 2 based, and it's very nice. It's a good
> combination of a tablet and netbook. My goal is to be able to develop
> natively on it, which is why I wold like an X server. I have to have emacs,
> and it doesn't work right in any of the terminals that I've found. It would
> be great if there was a native X emacs on Android.
>
> I would really like to build some way to make "seamless" X apps on Android.
> I had thought that using Xfvb as an intermediary betwen X apps and the
> Android display would work, but a native X server should be better. There
> just needs to be some mechanism to manage the X apps and bring the X server
> forward when approproiate. It sould work similar to a rootless X server on
> Windows.
> On May 26, 2011 9:13 PM, "tmzt" <
> re...@reply.github.com>
> wrote:
> > Transformer is ARM based? I'll help with the build where I can, I do still
> > have the tree but it's on a server I can't get to right now. The keyboard
> is
> > basically a missing map from android keycodes to xkb. Xkb won't build for
> > bionic so you have to use a static or libc version, I have an example
> script
> > for the G2 on my dropbox as well as a keymap (the shell script downloads
> > it). Keycodes are raw untranslated keycodes from android.
> >
> > The script is here http://db.tt/lvIAcNu
> >
> > If you do end up with them I can put together a github or you can send me
> a
> > pull request from one of yours.
> >
> > Tim
> > On May 26, 2011 9:01 PM, "webbbn" <
> > re...@reply.github.com>
> > wrote:
> >> Thanks! I was able to install your .apk on my eee transformer and bring
> up
> >> a window from a chrooted ubuntu image, but the keyboard isn't working
> >> right. It's still much farther along than I expected.
> >>
> >> I'm working on building it now. I'll let you know how it goes.
> >>
> >> --
> >> Reply to this email directly or view it on GitHub:
> >> http://github.com/inbox/7319314#reply
> >
> > --
> > Reply to this email directly or view it on GitHub:
> > http://github.com/inbox/7319314#reply
>
> --
> Reply to this email directly or view it on GitHub:
> http://github.com/inbox/7319314#reply
I believe that is correct, -8 is the latest version. You have to check the same version out of each repo.
If you mean top level autogen.sh on the server repo, that's only to build the server itself, and you'll have to look through the scripts it's built from to see the option to build build androix.
Yes, it's a shared lib, the other repos have the ant build system for the apk, but you have to copy the .so manually (I have script which is in there for that purpose) as well as zip up your /usr/share/X11 into usrdata.so and put it in the correct directory as well.
For the transformer you'll have to change the dimensions of the screen and allocate the correct sized native buffer.
The server is in hw/android it's based off of Xvfb.
Once you've cloned each repo you can checkout androix-8 with
git checkout androix-8
or if that doesn't work
git checkout -b androix-8 origin/androix-8
Also keep in mind I've only forked the repos for libraries I actually changed, the rest you'll have to pull from freedesktop.
--
Tim (tmzt)
I seem to remember there being a androix-9 which might have fixed the
DDXANDROID issue or it's also possible I didn't push it. I believe I
was trying to integrate better with the XQuartz code but shortly after
that they changed the locking semantics again in the server, making
this code used on more than just XQuartz.
I started to use my own generic define which might be what you're
missing but if you still have defined (XQUARTZ) || defined
(DDXANDROID) you probably don't have that code either.
My suggestion would be to use the new code from upstream for
dix/main.c and change my build scripts accordingly. If I get access to
the offline repo I will check the situation and push androix-9.
As for the other events issues, the only thing I see is if the service
dies it won't restart and connect to the front end, I haven't been
able to fix that and don't know what's causing it, but it probably
needs a better binder implementation, as will rootless.
The intention is to switch to GL rendering which will work much better
on 3.0 as well and keep the current code around for <2.1. I would
also optimize it by switching to drawing from the native code, passing
the SKSurface to the .so like the webkit code does in Android then the
drawing mechanism should be similar for both Skia and GL rendering.
The current method is based on svn.rockbox.org which is a much simpler
shared framebuffer (like is used now in AndroiX) which makes sense for
the embedded OS and LCD controllers they deal with. It worked, I got
my xterm mapped after a 3 days or so work and didn't make too many
changes to the drawing after that, as input was a lot harder.
In my experience with this code pretty much everything that prevents
input is tied to the mieq.c deadlocking of the pthread, with the
locks/unlocks unbalanced. Moving to upstream should fix this but it
means an ABI change in AndroiX (because the input ABI changed).
There's also the option of using the input thread code which should
work with pthreads.
You do need all the libraries I've actually forked, but most of the
changes are really minor and have either been fixed upstream (mostly
by removing wrappers around POSIX functions or should be fixed
upstream by making certain paths configurable.
Upstream probably would prefer this was a xf86 driver, not a DDX by
the way and I'm aware of that but I really don't want to have an
xorg.conf so it's a DDX like XQuartz.
Tim
PS
Took a quick look at github. I'm not sure what serverInitComplete is
supposed to do extactly have to ask jeremyhu who wrote the XQuartz
code, easiest thing would be to change those defines back to XQuartz
as I don't use wait_for_server_init() at all, or figure it out and add
what I'm missing (probably in the objc in hw/darwin)
My hope for this is upstream is cleaner and won't need as many changes
most of which could be competely generic allowing X to be built as a
library that could be consumed by different wrappers, including Java
JNI and XQuartz that was the intention with these changes at least but
I may have been overzealous with find and replace in mi/mieq.c.
On Jun 1, 2011 10:21 PM, "Brian Webb" <web...@gmail.com> wrote:
>
> Gene,
>
> Thanks for the info. Your application looks interesting, and I can
> see how it would be a benefit to have a good X server for Android.
>
> If you're talking about the source to the X server, I would be
> interested in getting a copy to see if it's different from what I have
> from the git repository. I'm currently trying to track down where the
> keyboard event are getting lost in my version, and haven't found it
> yet.
>
> When I get something fully operational I plan to start looking at
> making it as seamless as possible in Android. I'm not sure what that
> means yet, but my hope is that each running X app could have (for
> example) an icon in the task bar to make switching to the apps as easy
> as possible. The icon would resume the X server and activate the
> appropriate X app. There's alot of details to work out, though.
>
> Brian
>
> On Wed, Jun 1, 2011 at 1:26 PM, Gene Mosher <ge...@viewtouch.com> wrote:
> > Tim;
> >
> > Thanks for copying me on that email response to Brian.
> >
> > Just to summarize, ViewTouch is a touchscreen desktop manager and widget
> > environment with lots of point of sale functionality built into the
> > widgets. It makes extensive use of remote X forwarding for our
> > customers so that we only require one instance of the application and
> > data for any size restaurant. You have the binaries and I am willing to
> > provide the source if you are interested. ViewTouch is the kind of
> > thing that really benefits from having an X Server on Android devices.
> > (Brian, after visiting viewtouch.com if you would also like the binaries
> > and/or source, then just let me know.) It would be interesting to see
> > what an application designed for collaboration and users with remote X
> > forwarding looks like on Android devices. Here's a shot of ViewTouch on
> > a wireless touchscreen X terminal (from 2003).
> > http://www.viewtouch.com/mobile.html
> >
> > --Gene Mosher
> > Skype: ViewTouch_POS
> > 541-485-9235
> >
>
>
>
> --
> Brian Webb
> web...@gmail.com
Brian,
Gene develops a point of sale system using X, I cc'd him to follow progress on modernizing the codebase/build procedure for AndroiX and let him know about the mailing list. He was talking about code for his software, binaries and source.
If there's anything newer that what's on github it's backed up on my server which is currently offline and in another city.
Webbn has been making progress (I assume that's you).
As for missing input events, a month of development time was spent tracking that down and it ended up being a missing config file in X, if you extract my apk you'll find a usrdata.so with the file, a copy of xkbcomp from debian armel and the rest of the /usr/share/X11 tree which is needed for AndroiX. It's a zip file.
Hope that helps, I think you're about where I was when I put this on hold.
Tim
Thanks for the idea. I was able to extract the libusrdata.so from
your .apk and that seems to have fixed the keyboard events. That file
is different from the one that is in git, so I'll try to figure out
what the difference is and update it. I think my version now works
similar to the one that you sent me.
--
Brian Webb
web...@gmail.com
There are a few tablet users interested in getting this working >
800x480 but I no longer have a build environment (I'm basically on a
netbook for the moment) though it's a one line change.
I know what's wrong with the website, but it's not the priority at the
moment as Google Groups and github should suffice for the project,
though I would like to have the information section back up (maybe as
a github wiki?)
I believe everything is pushed to github except for the Java changes,
but I'll get that pushed in the next day or two. I've switching to a
new laptop now, so things are in a bit of flux.
Brian
--
Brian Webb
web...@gmail.com