Hey,
i'm one of the developers of ICS for Galaxy ACE and just trying to get camera working. Unfortunately no success yet, but perhaps you can help me...
Here's what i did:
- i used the msm7x727 camera lib from this thread:
http://xdaforums.com/showthread.php?t=1624018
Seem's to me that this is a 'port' of rpmv78's solution. Due to the fact that HTC Hero and Galaxy ACE have same chipsets there should be a chance that it works.
- First try: i used proprietary libs (libcamera.so, liboemcamera.so etc.) from a (STOCK Galaxy ACE) gingerbread ROM. Result is a missing symbol in libs. Here's part of logcat during boot:
----
D/AudioHardwareInterface( 145): setMode(NORMAL)
I/AudioHardware( 145): Set master volume to 1.
I/CameraService( 145): CameraService started (pid=145)
E/HAL ( 145): load: module=/system/lib/hw/camera.msm7x27.so
E/HAL ( 145): Cannot load library: link_image[1965]: 145 could not load needed library 'libcamera.so' for 'camera.msm7x27.so' (reloc_library[1314]: 145 cannot locate '_ZN7android7Overlay5setFdEi'...
E/HAL ( 145): )
E/CameraService( 145): Could not load camera HAL module
----
Than i tried to find out where '_ZN7android7Overlay5setFdEi...' can be found. It is in libui.so (of GB ROM) and i hardly doubt that i can simply replace an ICS libui with an GB libui.
- Second try: i used proprietary camera libs from this ROM:
http://xdaforums.com/showthread.php?t=1612140
Camera module and HAL loads but as soon as i start camera, i'll get:
----
V/QualcommCameraHardware( 145): openCameraHardware: call createInstance
D/QualcommCameraHardware( 145): createInstance: E
V/QualcommCameraHardware( 145): Storing the current target type as 1
V/QualcommCameraHardware( 145): constructor EX
V/QualcommCameraHardware( 145): startCamera E
D/memalloc( 453): /dev/pmem: Unmapping buffer base:0x4acc4000 size:3112960 offset:2498560
D/memalloc( 250): /dev/pmem: Freeing buffer base:0x4a408000 size:614400 offset:1884160 fd:240
D/memalloc( 250): /dev/pmem: Freeing buffer base:0x4a49e000 size:614400 offset:2498560 fd:276
D/memalloc( 250): /dev/pmem: Freeing buffer base:0x4a372000 size:614400 offset:1269760 fd:221
V/QualcommCameraHardware( 145): loading liboemcamera at 0xb000ed08
D/dalvikvm( 1034): GC_CONCURRENT freed 252K, 6% free 6747K/7175K, paused 5ms+9ms
I/mm-camera-config( 145): cam_conf fd cfgctrl.camfd:0
I/mm-camera-config( 145): Open config device node : /dev/msm_camera/config0
D/dalvikvm( 1034): GC_FOR_ALLOC freed 26K, 5% free 7010K/7367K, paused 28ms
I/ ( 145): [AWB Calibration]:ctrlfd:29
I/ ( 145): [AWB Calibration] read fuse ID fail
I/ ( 145): [AWB Calibration] cfg.fuse_id_word1:0xa94c86fd
I/ ( 145): [AWB Calibration] cfg.fuse_id_word2:0xa94c8664
I/ ( 145): [AWB Calibration] cfg.fuse_id_word3:0xa94ea124
I/ ( 145): [AWB Calibration] cfg.fuse_id_word4:0xa951db40
E/mm-camera-config( 145): config_init_ctrl: cam_conf_get_sensor_info failed!
W/ThrottleService( 250): unable to find stats for iface rmnet0
W/ActivityManager( 250): Launch timeout has expired, giving up wake lock!
W/ActivityManager( 250): Activity idle timeout for ActivityRecord{413ff410 com.android.camera/.Camera}
D/dalvikvm( 250): GC_CONCURRENT freed 551K, 10% free 9416K/10439K, paused 12ms+8ms
I/InputDispatcher( 250): Application is not responding: AppWindowToken{41309880 token=Token{41396428 ActivityRecord{413ff410 com.android.camera/.Camera}}}. 5005.8ms since event, 5005.6ms since wait started
I/WindowManager( 250): Input event dispatching timed out sending to application AppWindowToken{41309880 token=Token{41396428 ActivityRecord{413ff410 com.android.camera/.Camera}}}
I/Process ( 250): Sending signal. PID: 1034 SIG: 3
I/dalvikvm( 1034): threadid=3: reacting to signal 3
I/dalvikvm( 1034): Wrote stack traces to '/data/anr/traces.txt'
I/Process ( 250): Sending signal. PID: 250 SIG: 3
I/dalvikvm( 250): threadid=3: reacting to signal 3
I/dalvikvm( 250): Wrote stack traces to '/data/anr/traces.txt'
I/Process ( 250): Sending signal. PID: 442 SIG: 3
I/dalvikvm( 442): threadid=3: reacting to signal 3
I/dalvikvm( 442): Wrote stack traces to '/data/anr/traces.txt'
I/Process ( 250): Sending signal. PID: 365 SIG: 3
I/dalvikvm( 365): threadid=3: reacting to signal 3
I/dalvikvm( 365): Wrote stack traces to '/data/anr/traces.txt'
D/dalvikvm( 250): GC_CONCURRENT freed 546K, 9% free 9597K/10439K, paused 4ms+9ms
D/dalvikvm( 250): GC_EXPLICIT freed 76K, 9% free 9600K/10439K, paused 6ms+8ms
E/ActivityManager( 250): ANR in com.android.camera (com.android.camera/.Camera)
E/ActivityManager( 250): Reason: keyDispatchingTimedOut
E/ActivityManager( 250): Load: 7.27 / 3.0 / 1.11
E/ActivityManager( 250): CPU usage from 12799ms to 2797ms ago:
E/ActivityManager( 250): 3.9% 250/system_server: 2.9% user + 1% kernel / faults: 83 minor
E/ActivityManager( 250): 1.7% 68/bma_wq: 0% user + 1.7% kernel
E/ActivityManager( 250): 0.5% 64/synaptics_wq: 0% user + 0.5% kernel
E/ActivityManager( 250): 0.5% 365/com.android.systemui: 0.4% user + 0.1% kernel / faults: 4 minor
E/ActivityManager( 250): 0.5% 442/com.android.phone: 0.4% user + 0.1% kernel / faults: 1 minor
E/ActivityManager( 250): 0.3% 27/ksmd: 0% user + 0.3% kernel
E/ActivityManager( 250): 0.1% 5/events/0: 0% user + 0.1% kernel
E/ActivityManager( 250): 0.1% 15/kondemand/0: 0% user + 0.1% kernel
E/ActivityManager( 250): 0% 61/file-storage: 0% user + 0% kernel
E/ActivityManager( 250): 0.1% 65/check_ic_wq: 0% user + 0.1% kernel
E/ActivityManager( 250): 0% 101/jbd2/stl13-8: 0% user + 0% kernel
E/ActivityManager( 250): 0% 139/vold: 0% user + 0% kernel / faults: 51 minor
E/ActivityManager( 250): 0% 218/logcat: 0% user + 0% kernel
E/ActivityManager( 250): 4.3% TOTAL: 2.8% user + 1.4% kernel
E/ActivityManager( 250): CPU usage from 587ms to 1122ms later with 99% awake:
E/ActivityManager( 250): 11% 250/system_server: 5.5% user + 5.5% kernel
E/ActivityManager( 250): 9.2% 318/InputDispatcher: 1.8% user + 7.4% kernel
E/ActivityManager( 250): 1.8% 252/GC: 1.8% user + 0% kernel
E/ActivityManager( 250): 1% 15/kondemand/0: 0% user + 1% kernel
E/ActivityManager( 250): 7.5% TOTAL: 7.5% user + 0% kernel
D/dalvikvm( 250): GC_FOR_ALLOC freed 323K, 10% free 9486K/10503K, paused 74ms
----
Any idea, what i could do ?
Thanks, lagloose