h1. Galaxy S Proprietary This is the list of the proprietary libraries, binaries and firmwares shipped on the Galaxy S and the status of their replacement. h2. Note on shipping non-free programs *Note that we don't ship any proprietary binary, library or firmware.* *First because our goal is to reach a 100% free Android distribution and also because sometimes, these are not even distributables.* h2. Libraries |_. Library location |_. Function |_. Can be replaced or avoided? | | /system/vendor/lib/hw/gps.aries.so | GPS library (sends NMEA output to framework) | Easy to rewrite, doesn't deal with hardware at all | | /system/lib/libril.so | RIL Lib | Default libril works fine with replacement | | /system/lib/libsecril-client.so | RIL client (used by libaudio) | Replaced by samsung-ril-client | | /system/lib/libsec-ril.so | RIL | Replaced by samsung-ril | | /system/lib/libsamsungcamera.so | dlopened camera lib | Camera is v4l2 and there is a free replacement for ics available | | /system/lib/egl/libGLES_android.so | graphics | PowerVR-related | | /system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so | graphics | PowerVR-related | | /system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so | graphics | PowerVR-related | | /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so | graphics | PowerVR-related | | /system/vendor/lib/hw/gralloc.aries.so | graphics | PowerVR-related | | /system/vendor/lib/libakm.so | compass lib | there is libakm_free but it doesn't support this compass | | /system/vendor/lib/libglslcompiler.so | ? | can be avoided | | /system/vendor/lib/libIMGegl.so | graphics | PowerVR-related | | /system/vendor/lib/libpvr2d.so | graphics | PowerVR-related | | /system/vendor/lib/libpvrANDROID_WSEGL.so | graphics | PowerVR-related | | /system/vendor/lib/libPVRScopeServices.so | graphics | PowerVR-related | | /system/vendor/lib/libsrv_init.so | ? | can be avoided | | /system/vendor/lib/libsrv_um.so | ? | can be avoided | | /system/vendor/lib/libusc.so | ? | can be avoided | | /system/vendor/lib/libsensor_yamaha_test.so | sensors | can be avoided | | /system/vendor/lib/libsensorservice.so | sensors | can be avoided | | /system/lib/libActionShot.so | camera-related | ? | | /system/lib/libarccamera.so | camera-related | ? | | /system/lib/libcamera_client.so | camera-related | ? | | /system/lib/libcamerafirmwarejni.so | camera-related | ? | | /system/lib/libcameraservice.so | camera-related | ? | | /system/lib/libCaMotion.so | camera-related | ? | | /system/lib/libcaps.so | ? | ? | | /system/lib/libPanoraMax1.so | ? | ? | | /system/lib/libPlusMe.so | ? | ? | | /system/lib/libs3cjpeg.so | jpeg-related | should be free software | | /system/lib/libseccamera.so | camera-related | ? | | /system/lib/libseccameraadaptor.so | camera-related | ? | | /system/lib/libsecjpegencoder.so | jpeg-related | ? | | /system/lib/libtvout.so | graphics (tv out) | ? | | /system/lib/lib_tvoutengine.so | graphics (tv out) | ? | | /system/lib/libtvoutfimc.so | graphics (tv out) | ? | | /system/lib/libtvouthdmi.so | graphics (tv out) | ? | | /system/lib/libtvoutservice.so | graphics (tv out) | ? | | /system/lib/libQmageDecoder.so | decoder ? | ? | h2. Binaries |_. Binary location |_. Function |_. Can be replaced or avoided? | | /system/vendor/bin/gpsd | non-free gpsd | needs to eb replaced to have working gps | | /system/bin/rild | ril daemon | it's there to run the RIL as root, was replaced easily | | /radio/modem.bin | modem binary | we don't want to deal with it | | /system/vendor/bin/pvrsrvinit | graphics | can be avoided with our gralloc | | /system/vendor/bin/orientationd | sensors | must be replaced by libakm_free | | /system/vendor/bin/geomagneticd | must be replaced by libakm_free | | /system/bin/tvoutserver | graphics | ? | | /system/bin/charging_mode | ? | ? | | /system/bin/playlpm | play nice images when charging the phone | was replaced | h2. Configuration files |_. File location |_. Function |_. What depends on it? | | /system/etc/gps.conf | gps conf | non-free gps module? | | /system/vendor/etc/gps.xml | gps conf | non-free gpsd | | /system/cameradata/datapattern_420sp.yuv | camera-related | non-free camera lib | | /system/cameradata/datapattern_front_420sp.yuv | camera-related | non-free camera lib | | /system/media/battery_charging_10.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_100.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_15.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_20.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_25.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_30.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_35.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_40.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_45.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_5.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_50.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_55.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_60.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_65.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_70.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_75.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_80.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_85.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_90.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/battery_charging_95.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/chargingwarning.qmg | charging mode screen | charging mode (but was replaced) | | /system/media/Disconnected.qmg | charging mode screen | charging mode (but was replaced) | h2. Firmwares |_. Firmware location |_. Function |_. What depends on it? | | /system/vendor/firmware/bcm4329.hcd | wifi/bt firmware | wifi/bt chip | | /system/vendor/firmware/nvram_net.txt | wifi/bt firmware | wifi/bt chip | | /system/vendor/firmware/cypress-touchkey.bin | ? | ? | | /system/vendor/firmware/samsung_mfc_fw.bin | MFC | hardware video decoding | | /system/vendor/firmware/CE147F02.bin | ? | ? | | /system/firmware/CE147F00.bin | ? | ? | | /system/firmware/CE147F01.bin | ? | ? | | /system/firmware/CE147F02.bin | ? | ? | | /system/firmware/CE147F03.bin | ? | ? | h2. References * http://github.com/CyanogenMod/android_device_samsung_galaxysmtd/raw/gingerbread-release/extract-files.sh