[Galaxy S Plus I9001 Android Development] lagloose:
Thanks for your help.

Ok, some more information. At the moment there are generally two different activities to get it work.

1. Trying to get libs from other devices (with similar hardware and architecture of course) working together with our proprietary camera libs from Galaxy Ace. This is of course a 'game of luck' using try and error with the libs. I'm still trying some things but i guess this won't be successful at all. But who knows. Here's what i did:

- i used the msm7x727 camera lib from this thread: http://xdaforums.com/showthread.php?t=1624018

- First try: i used proprietary libs (libcamera.so, liboemcamera.so etc.) from a (STOCK Galaxy ACE) gingerbread ROM. These are:

libarccamera.so

libcamera.so

liboemcamera.so

libs3cjpeg.so

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). I didn't check it out, but i hardly doubt that we can simply replace an ICS libui with an GB libui.

- Second try: i used proprietary camera libs from this Hero ROM: http://xdaforums.com/showthread.php?t=1612140

Although these libs are proprietary Hero libs, camera module and HAL loaded 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

----

The problem seem's to be here: 'E/mm-camera-config( 145): config_init_ctrl: cam_conf_get_sensor_info failed!'. Combining 'solution 2' together with liboemcamera.so from a stock ACE GB-Rom resulted in crashing libcamera.so.

2. Maclaw and marcin, the main devs of 'our' CM9 have already implemented a working HAL

(From our Camera Development thread):

We got almost working HAL on our GitHub, it loads the camera driver but Camera app crashes with SIGFPE. Here is our logcat but i don't think that anyone can help us: http://wklej.org/id/759868/

My guess is that this should be the way to go. So have a look at the logcat here. Maybe you people can help. We are open for every idea..

Thanks, lagloose