From c716a59f95dc4a5e8c41d3b8a1377ea8b87bafe9 Mon Sep 17 00:00:00 2001 From: Erfan Abdi <erfangplus@gmail.com> Date: Sat, 6 Oct 2018 18:26:01 +0300 Subject: [PATCH] evert: fix camera Change-Id: If58025a05713c76853707e4cdf328bf1c4eba1c5 Signed-off-by: Erfan Abdi <erfangplus@gmail.com> --- device.mk | 4 ++++ extract-files.sh | 7 +++++++ libshims/Android.mk | 24 ++++++++++++++++++++++++ libshims/camera_hal_shim.cpp | 8 ++++++++ proprietary-files.txt | 6 +++++- vendor_prop.mk | 5 +++++ 6 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 libshims/Android.mk create mode 100644 libshims/camera_hal_shim.cpp diff --git a/device.mk b/device.mk index 8031f49..4454cb0 100644 --- a/device.mk +++ b/device.mk @@ -43,6 +43,10 @@ PRODUCT_COPY_FILES += \ TARGET_SCREEN_HEIGHT := 2160 TARGET_SCREEN_WIDTH := 1080 +# Cmaera Shim +PRODUCT_PACKAGES += \ + libcamera_hal_shim + # Fingerprint Gestures PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/keylayout/uinput-fpc.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput-fpc.kl \ diff --git a/extract-files.sh b/extract-files.sh index 6d292a1..5745e15 100755 --- a/extract-files.sh +++ b/extract-files.sh @@ -40,3 +40,10 @@ sed -i "s|/system/lib/hw/|/vendor/lib/hw/|g" "$CAMERA_IMX386" # Load ZAF configs from vendor ZAF_CORE="$BLOB_ROOT"/vendor/lib/libzaf_core.so sed -i "s|/system/etc/zaf|/vendor/etc/zaf|g" "$ZAF_CORE" + +# Using in vendor libgui for O cam blobs +sed -i "s|libgui.so|libPui.so|g" "$BLOB_ROOT"/vendor/lib/libmmcamera_ppeiscore.so +sed -i "s|libgui.so|libPui.so|g" "$BLOB_ROOT"/vendor/lib/libmmcamera_vstab_module.so + +# Using patchelf to add cam shims +patchelf --add-needed libcamera_hal_shim.so "$BLOB_ROOT"/vendor/lib/hw/camera.sdm660.so diff --git a/libshims/Android.mk b/libshims/Android.mk new file mode 100644 index 0000000..b3de844 --- /dev/null +++ b/libshims/Android.mk @@ -0,0 +1,24 @@ +# Copyright (C) 2018 The LineageOS Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +LOCAL_PATH := $(call my-dir) + +# Camera +include $(CLEAR_VARS) +LOCAL_SRC_FILES := camera_hal_shim.cpp +LOCAL_SHARED_LIBRARIES := libutils +LOCAL_MODULE := libcamera_hal_shim +LOCAL_MODULE_TAGS := optional +LOCAL_PROPRIETARY_MODULE := true +include $(BUILD_SHARED_LIBRARY) diff --git a/libshims/camera_hal_shim.cpp b/libshims/camera_hal_shim.cpp new file mode 100644 index 0000000..f3ce23c --- /dev/null +++ b/libshims/camera_hal_shim.cpp @@ -0,0 +1,8 @@ +#include <stdint.h> + +namespace android { + extern "C" void _ZN7android9StopWatchC1EPKci(const char* name, int clock); + extern "C" void _ZN7android9StopWatchC1EPKcij(const char* name, int clock, uint32_t flags) { + _ZN7android9StopWatchC1EPKci(name, clock); + } +} diff --git a/proprietary-files.txt b/proprietary-files.txt index 968e283..ea0c56d 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -429,9 +429,13 @@ vendor/lib64/libubifocus.so vendor/lib/libS5k2l7Pdaf.so vendor/lib/libS5k2l7PdafCamif.so vendor/lib/libmm-qcamera.so -vendor/lib/libmot_gpu_mapper.so lib/libcamera_metadata.so:vendor/lib/libcamera_metadata.so +# Cam from P +vendor/lib/libmot_gpu_mapper.so|a7477c7604bf9ac8b7b2ead6283eb6ddb80051fa +vendor/lib/libgui_vendor.so|2289516454cceae50bb3963f9255bc113a24b508 +vendor/lib/libPui.so|2289516454cceae50bb3963f9255bc113a24b508 + # Camera - Firmware vendor/firmware/cpp_firmware_v1_10_0.fw vendor/firmware/cpp_firmware_v1_12_0.fw diff --git a/vendor_prop.mk b/vendor_prop.mk index 629f5d9..90ce5fa 100644 --- a/vendor_prop.mk +++ b/vendor_prop.mk @@ -12,6 +12,11 @@ PRODUCT_PROPERTY_OVERRIDES += \ persist.audio.calfile5=/vendor/etc/acdbdata/common/Headset_cal.acdb \ persist.audio.calfile6=/vendor/etc/acdbdata/common/Speaker_cal.acdb +# Camera +PRODUCT_PROPERTY_OVERRIDES += \ + persist.camera.preview.ubwc=0 \ + video.disable.ubwc=1 + # Sensors PRODUCT_PROPERTY_OVERRIDES += \ ro.hardware.sensors=evert \ -- GitLab