Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Androix merge upstream 010611 #1

Open
wants to merge 1,068 commits into
base: androix-0.2
Choose a base branch
from

Conversation

webbbn
Copy link

@webbbn webbbn commented Jul 7, 2011

I think I have everything updated...

My changes include:

  1. Pulled from upstream xorg git repository and (I think) successfully merged the changes. This brought the Android X server closer to the upstream X server. It also simplified some of the event handling.

  2. Fixed a but that was causing the server to deadlock.

  3. Added automatic sizing of X server window to fit the display size.

Probably some more changes, but I don't remember what they might be.

There may also be something that I didn't get updated in the merge. One thing that I can think of is handling trackball events. This should be easy to fix...

I hope to get back at this soon. Let me know of you or others start back up development.

airlied and others added 30 commits April 1, 2011 10:31
we could drop these really and just fixup the drivers, but
since they'll build fine but fail to work this seems safer.

Signed-off-by: Dave Airlie <[email protected]>
Reviewed-by: Keith Packard <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Reviewed-by: Keith Packard <[email protected]>
This cleans up the duplication in fbChangeWindowAttributes,
and fixes a bug if the fb24_32ReformatTile ever failed,
since the old code would happily dereference it in the fbEvenTile
call a few lines later.

Signed-off-by: Dave Airlie <[email protected]>
Reviewed-by: Mark Kettenis <[email protected]>
Signed-off-by: Matthieu Herrb <[email protected]>
Reviewed-by: Julien Cristau <[email protected]>
Signed-off-by: Matthieu Herrb <[email protected]>
Reviewed-by: Julien Cristau <[email protected]>
WriteReplyToClient() swaps rep.length, so it can't be used
on return of WriteReplyToClient(). So save it's value for later
use.

Signed-off-by: Matthieu Herrb <[email protected]>
Reviewed-by: Julien Cristau <[email protected]>
This allows for masked valuators to be handled properly in XI 1.x
events. Any unset valuators in the device event are set to the last
known value when transmitted on the wire through XI 1.x valuator events.

Fixes https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/736500

Signed-off-by: Chase Douglas <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
Relative valuator values should not be reported in any future events. If
a relative valuator value is not set in an internal event, set the value
to 0 for XI 1.x valuator events sent over the wire.

Signed-off-by: Chase Douglas <[email protected]>
Reviewed-by: Simon Thum <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
This is preparation for a memory leak fix and doesn't contain any
functional changes.

Note that two variables are generally used for reallocation and
clearing of arrays: geom->sz_elems (reallocation) and geom->num_elems
(clearing). The interface of XkbGeomRealloc is deliberately kept
simple and it only accepts geom->sz_elems as argument, because that is
needed to determine whether the array needs to be resized. When the
array is cleared, we just assume that either geom->sz_elems and
geom->num_elems are synchronized to be equal or that unused elements
are cleared whenever geom->num_elems is set to be less than
geom->sz_elems without reallocation.

Reviewed-by: Erkki Seppälä <[email protected]>
Signed-off-by: Rami Ylimäki <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
Currently shapes, sections and doodads may leak on copy.

Reviewed-by: Peter Hutterer <[email protected]>
Reviewed-by: Erkki Seppälä <[email protected]>
Signed-off-by: Rami Ylimäki <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Mikhail Gusarov <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Free the pointers inside miInitVisuals, so the callers of this function
(fboverlay.c and fbscreen.c) don't need to worry with deallocation in the case
of failure.

Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
introduced in 93ca526.

Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Dan Nicholson <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Signed-off-by: Alan Coopersmith <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
Signed-off-by: Tiago Vignatti <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Reviewed-by: Nicolas Peninguy <[email protected]>
jeremyhu and others added 26 commits May 24, 2011 14:08
inpututils.c:577:25: warning: conversion specifies type 'unsigned short' but the argument has type 'unsigned char' [-Wformat,Format String Issue]
            ErrorF("%02hx ", *data);
                    ~~~~^    ~~~~~
                    %02hhx
1 warning generated.

Signed-off-by: Jeremy Huddleston <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
Fixes regression introduced by 5690199

mieq.c:159:5: error: implicit declaration of function 'verify_internal_event' is invalid in C99 [-Wimplicit-function-declaration,Semantic Issue]
    verify_internal_event(e);
    ^
1 error generated.

Also includes some other warning cleanups in events.c we're there.

events.c:2198:24: warning: equality comparison with extraneous parentheses [-Wparentheses,Semantic Issue]
        else if ((type == MotionNotify))
                  ~~~~~^~~~~~~~~~~~~~~
events.c:2198:24: note: remove extraneous parentheses around the comparison to silence this warning [Semantic Issue]
        else if ((type == MotionNotify))
                 ~     ^              ~
events.c:2198:24: note: use '=' to turn this equality comparison into an assignment [Semantic Issue]
        else if ((type == MotionNotify))
                       ^~
                       =
events.c:2487:5: error: implicit declaration of function 'verify_internal_event' is invalid in C99 [-Wimplicit-function-declaration,Semantic Issue]
    verify_internal_event(event);
    ^
events.c:5909:22: warning: declaration shadows a local variable [-Wshadow,Semantic Issue]
        DeviceIntPtr it = inputInfo.devices;
                     ^
events.c:5893:18: note: previous declaration is here
    DeviceIntPtr it = inputInfo.devices;
                 ^
3 warnings and 1 error generated.

events.c:2836:27: warning: incompatible pointer types passing 'DeviceEvent *' (aka 'struct _DeviceEvent *') to parameter of type
      'const InternalEvent *' (aka 'const union _InternalEvent *')
    verify_internal_event(ev);
                          ^~
../include/inpututils.h:40:56: note: passing argument to parameter 'ev' here
extern void verify_internal_event(const InternalEvent *ev);
                                                       ^
1 warning generated.

Found-by: yuffie tinderbox (-Werror=implicit)
Signed-off-by: Jeremy Huddleston <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
Fix XWin compilation after updates for input API changes in commits
e7150db 8670c46 and 20fb07f

Also remove a no longer needed InternalEvent* variable

Signed-off-by: Jon TURNEY <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
The DeviceCursorCleanup in miPointerSpriteFuncRec can no longer be
NULL it seems.

Signed-off-by: Tomas Frydrych <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
In the Xephyr case the position of the pointer relative toward the
Xephyr window is controlled by the host server without taking into
account rotation of the Xephyr screen. Consequently the pointer coords
must always be translated when the fb is rotated.

Signed-off-by: Tomas Frydrych <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
Usage example (tested on a dual-seat PC):
Section "InputClass"
 	Identifier "keyboard-all"
 	MatchIsKeyboard "on"
 	MatchDevicePath "/dev/input/event*"
 	MatchLayout "!GeForce|!Matrox"
 	Driver "evdev"
 	Option "XkbLayout" "us"
 	Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

It disables auto keyboard configuration for layouts "GeForce" and "Matrox".
Note that "" in patterns means "no Layout sections found", e.g.
 	MatchLayout "GeForce|"
is "in layout GeForce or without explicit layout at all".

Signed-off-by: Oleh Nykyforchyn <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Acked-by: Dan Nicholson <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
This struct was unused and has been effectively removed in
commit 633b81e
Refs: xorg-server-1.10.0-133-g633b81e

Remove the remainder, with an ABI bump to 13.0.

Signed-off-by: Simon Thum <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
Clears many Sun compiler warnings:
"fbbltone.c", line 491: warning: integer overflow detected: op "<<"
"fbbltone.c", line 491: warning: integer overflow detected: op "<<"
"fbbltone.c", line 491: warning: integer overflow detected: op "<<"
"fbbltone.c", line 491: warning: initializer will be sign-extended: -16777216
"fbbltone.c", line 491: warning: integer overflow detected: op "<<"
"fbbltone.c", line 491: warning: initializer will be sign-extended: -1
"fbbltone.c", line 495: warning: integer overflow detected: op "<<"
"fbbltone.c", line 495: warning: integer overflow detected: op "<<"
"fbbltone.c", line 495: warning: integer overflow detected: op "<<"
"fbbltone.c", line 495: warning: initializer will be sign-extended: -256
"fbbltone.c", line 495: warning: integer overflow detected: op "<<"
"fbbltone.c", line 495: warning: initializer will be sign-extended: -1
"fbbltone.c", line 499: warning: integer overflow detected: op "<<"
"fbbltone.c", line 499: warning: integer overflow detected: op "<<"
"fbbltone.c", line 499: warning: integer overflow detected: op "<<"
"fbbltone.c", line 499: warning: initializer will be sign-extended: -65536
"fbbltone.c", line 499: warning: integer overflow detected: op "<<"
"fbbltone.c", line 499: warning: initializer will be sign-extended: -1

Signed-off-by: Alan Coopersmith <[email protected]>
Reviewed-by: Jamey Sharp <[email protected]>
Signed-off-by: Keith Packard <[email protected]>
Commit d110791 introduced checks to
the RandR path that cause RRSetScreenConfig requests to fail if the
size is too large.  Unfortunately, when RandR 1.1 rotation is enabled
it compares the rotated screen dimensions to the unrotated limits,
which causes 90- and 270-degree rotation to fail unless your screen
happens to be square:

  X Error of failed request:  BadValue (integer parameter out of range for operation)
    Major opcode of failed request:  153 (RANDR)
    Minor opcode of failed request:  2 (RRSetScreenConfig)
    Value in failed request:  0x780
    Serial number of failed request:  14
    Current serial number in output stream:  14

Fix this by moving the check above the code that swaps the dimensions
based on the rotation.

Signed-off-by: Aaron Plattner <[email protected]>
Reviewed-by: Jeremy Huddleston <[email protected]>
Tested-by: Robert Hooker <[email protected]>
Tested-by: Kent Baxley <[email protected]>
Signed-off-by: Keith Packard <[email protected]>
Pixman used to have a workaround for a bug in old X servers, and this
function was used to disable that workaround in servers known to be
fixed.

Since 0.22, which the X server depends on, the workaround doesn't
exist anymore, so there is no point disabling it.

Reviewed-by: Cyril Brulebois <kibi at debian.org>
Signed-off-by: Soren Sandmann <[email protected]>
Since the server has little choice (or even knowledge) of the actual device
node used by the driver, this property is merely provided for
standardisation. It is up to the driver to set it to the appropriate value,
usually a device node in the form of /dev/input/event0 or similar.

Signed-off-by: Peter Hutterer <[email protected]>
Acked-by: Dan Nicholson <[email protected]>
In some cases, knowing about the device model number and the device's vendor
is important to activate product-specific settings. Since this is
nonetheless driver-specific, only provide the property but don't do anything
with it.

Signed-off-by: Peter Hutterer <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
Signed-off-by: Alan Coopersmith <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Reviewed-by: Jeremy Huddleston <[email protected]>
Signed-off-by: Alan Coopersmith <[email protected]>
Reviewed-by: Jeremy Huddleston <[email protected]>
Providing an argument to return in a function with void return type
is not allowed by the C standard, and makes the Sun compilers unhappy.
(They actually flag it as an error, unless using a new enough version
 to be able to downgrade it to a warning with "-features=extensions".)

Signed-off-by: Alan Coopersmith <[email protected]>
Reviewed-by: Jeremy Huddleston <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
Reviewed-by: Cyril Brulebois <[email protected]>
Implements pointer barriers as specified by version 5 of the XFIXES
protocol. Barriers are axis-aligned, zero-width lines that block pointer
movement for relative input devices. Barriers may block motion in either
the positive or negative direction, or both.

v3:
- Fix off-by-one in version_requests array
- Port to non-glib test harness
- Fix review notes from Søren Sandmann Pedersen, add tests to match

Co-authored-by: Peter Hutterer <[email protected]>
Tested-by: Peter Hutterer <[email protected]>
Signed-off-by: Adam Jackson <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
When we change the root window's background to None, and we've run with
-wr or -br for a forced solid background, make sure we also change the
background state to BackgroundPixel, so we don't try to lookup either
pScreen->whitePixel or pScreen->blackPixel as a pixmap.

Signed-off-by: Marko Macek <[email protected]>
Reviewed-by: Walter Harms <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
Signed-off-by: Keith Packard <[email protected]>
@tmzt
Copy link
Owner

tmzt commented Jul 8, 2011

Hmm, can you telll me why it's against androix-0.2? We should probably adopt upstreams versioning I was just concerned that the various libraries this depends on would get out of sync. I'm going to take a look at the changes tohw/android you made and get these merged as soon as I can. Any chance you can push any build scripts or prodedure and we can start on a wiki page on here?
Thanks so much for this.

@webbbn
Copy link
Author

webbbn commented Jul 8, 2011

It's against 0.2 because I don't know how to use github...;-) I sent
you another pull request against 0.8.

I'll work on pushing a build script. I would like to repeat what I
have to make sure that I have all the steps correct. As I'm sure you
know, there's quite a few dependencies, and they're not all
straightforward to build for Android with all the command line
options, etc. I finally hacked a modified agcc script that seems to
handle most of the command line options, but I need to run though it
from scratch to make sure that it all works. I believe that I'm using
the same set of libraries that you used, except they may be newer
versions for the ones that you didn't modify.

One of the reasons that I pulled from upstream is that I wanted to
find out what had been modified from upstream. I would like to do
this with the other libraries so that we can document what the changes
are that are required. That way it would be easier to merge with
upstream in the future.

Brian

On Fri, Jul 8, 2011 at 5:12 AM, tmzt
[email protected]
wrote:

Hmm, can you telll me why it's against androix-0.2? We should probably adopt upstreams versioning I was just concerned that the various libraries this depends on would get out of sync. I'm going to take a look at the changes tohw/android you made and get these merged as soon as I can. Any chance you can push any build scripts or prodedure and we can start on a wiki page on here?
Thanks so much for this.

Reply to this email directly or view it on GitHub:
#1 (comment)

Brian Webb
[email protected]

@tmzt
Copy link
Owner

tmzt commented Jul 8, 2011

Absolutely, but I'm not really trying to keep forks of the other libraries if I can help it, none of them where AndroiX specfic to my knowledge. I'm working on modifying xorg/modular to build AndroiX from git. It would be nice if we could the hard coded paths out and use autoconf for everything but I really don't know how, except that automating the NDK version of gcc instead of using Android.mk is doable and should simplify things quite a bit, as far as building the .so.

I'm also working on wiki documentation based on the build procedure as I follow it since i have no idea how I did it before.

@ViViDboarder
Copy link

Hey guys, I'm wondering what the current standing is of the Androix project.

Do you guys have build instructions? I'd be interested in running and or helping development. It would be really awesome to run this on my ASUS Transformer. I know WebOS devices such as the TouchPad have X11 servers running for native interfacing with chroot Linux builds and it would be great to get Android up to speed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.