今回の更新

From git://git.android-x86.org/platform/build
   69aca99..7c3e6cb  honeycomb-x86 -> x86/honeycomb-x86

From git://git.android-x86.org/device/tegatech/tegav2
   9fc1167..74e2823  honeycomb-x86 -> x86/honeycomb-x86

From git://git.android-x86.org/platform/frameworks/base
   f4471d5..232fef0  honeycomb-x86 -> x86/honeycomb-x86
   a90feaf..815e0c1  ics-x86    -> x86/ics-x86
kinneko@BuildSV:~/ICSx86/build$ git log 69aca99..7c3e6cb
commit 7c3e6cb66759308d7f8642c393e1a6a90643f835
Author: Chih-Wei Huang <cwhuang@linux.org.tw>
Date:   Thu Dec 15 17:14:26 2011 +0800

    generic_x86: add GenericTouch.idc as the default one for touchscreen

kinneko@BuildSV:~/ICSx86/build$ git diff 69aca99..7c3e6cb
diff --git a/target/board/generic_x86/device.mk b/target/board/generic_x86/device.mk
index b47f51d..4f23fee 100644
--- a/target/board/generic_x86/device.mk
+++ b/target/board/generic_x86/device.mk
@@ -32,6 +32,7 @@ PRODUCT_COPY_FILES := \
     $(strip $(foreach f,$(wildcard device/common/app/*.apk $(PRODUCT_DIR)app/*.
 
 PRODUCT_COPY_FILES += \
+    $(LOCAL_PATH)/GenericTouch.idc:system/usr/idc/GenericTouch.idc \
     frameworks/base/data/etc/tablet_core_hardware.xml:system/etc/permissions/ta
     frameworks/base/data/etc/android.hardware.touchscreen.multitouch.jazzhand.x
     frameworks/base/data/etc/android.hardware.camera.front.xml:system/etc/permi

こっちは、普通にtegav2に対応したパッチを出したのだけど、そういう固有のやり方じゃなくて、大差ないのでGenericTouch.idcで対応したいということらしい。なのでbaseのEventHubにもパッチ。

kinneko@BuildSV:~/ICSx86/frameworks/base$ git log  f4471d5..232fef0
commit 232fef0291c6c85c4b7a8d5493081cf8da4d03da
Author: Chih-Wei Huang <cwhuang@linux.org.tw>
Date:   Fri Dec 9 16:28:57 2011 +0800

    EventHub: load a default .idc if no other .idc found for touchscreen
    
    The patch moves loadConfigurationLocked to later stage that may cause issues
    if upstream changes. Needs to review it on rebasing.

kinneko@BuildSV:~/ICSx86/frameworks/base$ git diff f4471d5..232fef0
diff --git a/services/input/EventHub.cpp b/services/input/EventHub.cpp
index 19f903b..74a526c 100644
--- a/services/input/EventHub.cpp
+++ b/services/input/EventHub.cpp
@@ -852,9 +852,6 @@ int EventHub::openDevice(const char *devicePath) {
         driverVersion >> 16, (driverVersion >> 8) & 0xff, driverVersion & 0xff);
 #endif
 
-    // Load the configuration file for the device.
-    loadConfiguration(device);
-
     // Figure out the kinds of events the device reports.
     uint8_t key_bitmask[sizeof_bit_array(KEY_MAX + 1)];
     memset(key_bitmask, 0, sizeof(key_bitmask));
@@ -952,6 +949,9 @@ int EventHub::openDevice(const char *devicePath) {
         device->classes |= INPUT_DEVICE_CLASS_SWITCH;
     }
 
+    // Load the configuration file for the device.
+    loadConfiguration(device);
+
     if ((device->classes & INPUT_DEVICE_CLASS_TOUCH)) {
         // Load the virtual keys for the touch screen, if any.
         // We do this now so that we can make sure to load the keymap if necessary.
@@ -1043,6 +1043,10 @@ int EventHub::openDevice(const char *devicePath) {
 void EventHub::loadConfiguration(Device* device) {
     device->configurationFile = getInputDeviceConfigurationFilePathByDeviceIdentifier(
             device->identifier, INPUT_DEVICE_CONFIGURATION_FILE_TYPE_CONFIGURATION);
+    if ((device->classes & INPUT_DEVICE_CLASS_TOUCH) && device->configurationFile.isEmpty()) {
+        device->configurationFile = getInputDeviceConfigurationFilePathByName(String8("GenericTouch"),
+                INPUT_DEVICE_CONFIGURATION_FILE_TYPE_CONFIGURATION);
+    }
     if (device->configurationFile.isEmpty()) {
         LOGD("No input device configuration file found for device '%s'.",
                 device->identifier.name.string());

ICSでは、すこし違うということで、こちらも。
loadConfigurationLocked()が違うのね。
idcの設定としては、device.internal=1が必須のよう。

kinneko@BuildSV:~/ICSx86/frameworks/base$ git log a90feaf..815e0c1
commit 815e0c18a6106fa59955c5114d5ac8c8f86e6ad2
Author: Chih-Wei Huang <cwhuang@linux.org.tw>
Date:   Fri Dec 9 16:28:57 2011 +0800

    EventHub: load a default .idc if no other .idc found for touchscreen
    
    The patch moves loadConfigurationLocked to later stage that may cause issues
    if upstream changes. Needs to review it on rebasing.

commit ac767ef45a16ff1459285346fe43b583d8d481d9
Author: Chih-Wei Huang <cwhuang@linux.org.tw>
Date:   Thu Dec 8 20:16:29 2011 +0800

    disables hardware acceleration if debug.egl.hw=0

kinneko@BuildSV:~/ICSx86/frameworks/base$ git diff a90feaf..815e0c1
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java
index 4fe9cef..d9da88b 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -213,9 +213,14 @@ public class ActivityManager {
      * Used by persistent processes to determine if they are running on a
      * higher-end device so should be okay using hardware drawing acceleration
      * (which tends to consume a lot more RAM).
+     * Alternatively, setting debug.egl.hw=0 disables hardware acceleration.
      * @hide
      */
     static public boolean isHighEndGfx(Display display) {
+        if (SystemProperties.get("debug.egl.hw").equals("0")) {
+            return false;
+        }
+
         MemInfoReader reader = new MemInfoReader();
         reader.readMemInfo();
         if (reader.getTotalSize() >= (512*1024*1024)) {
diff --git a/services/input/EventHub.cpp b/services/input/EventHub.cpp
index 790b395..b708cf3 100644
--- a/services/input/EventHub.cpp
+++ b/services/input/EventHub.cpp
@@ -923,9 +923,6 @@ status_t EventHub::openDeviceLocked(const char *devicePath) {
         driverVersion >> 16, (driverVersion >> 8) & 0xff, driverVersion & 0xff);
 #endif
 
-    // Load the configuration file for the device.
-    loadConfigurationLocked(device);
-
     // Figure out the kinds of events the device reports.
     ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(device->keyBitmask)), device->keyBitmask);
     ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(device->absBitmask)), device->absBitmask);
@@ -993,6 +990,9 @@ status_t EventHub::openDeviceLocked(const char *devicePath) {
         }
     }
 
+    // Load the configuration file for the device.
+    loadConfigurationLocked(device);
+
     // Configure virtual keys.
     if ((device->classes & INPUT_DEVICE_CLASS_TOUCH)) {
         // Load the virtual keys for the touch screen, if any.
@@ -1091,6 +1091,10 @@ status_t EventHub::openDeviceLocked(const char *devicePath) {
 void EventHub::loadConfigurationLocked(Device* device) {
     device->configurationFile = getInputDeviceConfigurationFilePathByDeviceIdentifier(
             device->identifier, INPUT_DEVICE_CONFIGURATION_FILE_TYPE_CONFIGURATION);
+    if ((device->classes & INPUT_DEVICE_CLASS_TOUCH) && device->configurationFile.isEmpty()) {
+        device->configurationFile = getInputDeviceConfigurationFilePathByName(String8("GenericTouch"),
+                INPUT_DEVICE_CONFIGURATION_FILE_TYPE_CONFIGURATION);
+    }
     if (device->configurationFile.isEmpty()) {
         LOGD("No input device configuration file found for device '%s'.",
                 device->identifier.name.string());

どっちも、GenericTouch.idcそのものは追加されてないな...
これで動くわけないか。
変えるくらいなら、設定なかった時には、デフォルト値埋めたらいいのじゃまいか。

kinneko@BuildSV:~/ICSx86/device/tegatech/tegav2$ git log 9fc1167..74e2823
commit 74e28236331474f517573490bb21203680f7647f
Author: Kinneko <kinneko@gmail.com>
Date:   Thu Dec 15 15:31:26 2011 +0800

    tegav2_info: disable warning for CZC P10T Tablet PC

kinneko@BuildSV:~/ICSx86/device/tegatech/tegav2$ git diff 9fc1167..74e2823
diff --git a/tegav2_info b/tegav2_info
index cc0070f..e67349e 100644
--- a/tegav2_info
+++ b/tegav2_info
@@ -4,7 +4,7 @@ tegav2_info()
 {
        board=`cat $DMIPATH/product_name`
        case "$board" in
-               TEGA*|VPAD10*|X1*|PC*)
+               TEGA*|VPAD10*|X1*|PC*|Intel*)
                        ;;
                *)
                        error WARNING: An unknown model
@@ -22,7 +22,7 @@ tegav2_info()
 detect_hardware()
 {
        case "`cat $DMIPATH/uevent`" in
-               *TEGA*|*VPAD10*|*azpen*|*AZPENPC*)
+               *TEGA*|*VPAD10*|*azpen*|*AZPENPC*|Intel*)
                        ;;
                *)
                        error WARNING: An unknown tablet

これは普通に採用。
メッセージでなくするだけなので、あんまり意味はないけど。
あ、ICSには入ってないのか。
まぁ、それはそのうちに...