diff --git a/Patches/Linux b/Patches/Linux index 2127d687..5a5cc8aa 160000 --- a/Patches/Linux +++ b/Patches/Linux @@ -1 +1 @@ -Subproject commit 2127d687dea096e26828ea267bfd2ed863b6c3a7 +Subproject commit 5a5cc8aa8edcd973eb33c671996d9cfb9e2d2b9b diff --git a/Scripts/Common/Deblob.sh b/Scripts/Common/Deblob.sh index 684a3519..affbadb6 100644 --- a/Scripts/Common/Deblob.sh +++ b/Scripts/Common/Deblob.sh @@ -99,7 +99,9 @@ echo "Deblobbing..."; blobs=$blobs"|cppf.*"; #Diagnostics - blobs=$blobs"|[/]diag[/]|diag_callback_client|diag_dci_sample|diag_klog|diag_mdlog|diag_mdlog-getlogs|diag_mdlog-wrap|diag[/]mdm|diag_qshrink4_daemon|diag_socket_log|diag_uart_log|drmdiagapp|ibdrmdiag.so|ssr_diag|test_diag|cnss_diag"; + #https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/diag/ [headers] + #https://source.codeaurora.org/quic/imm/imm/sources/diag/ [related?] + blobs=$blobs"|[/]diag[/]|diag_callback_client|diag_dci_sample|diag_klog|diag_mdlog|diag_mdlog-getlogs|diag_mdlog-wrap|diag[/]mdm|diag_qshrink4_daemon|diag_socket_log|diag_uart_log|drmdiagapp|libdrmdiag.so|ssr_diag|test_diag|cnss_diag"; #blobs=$blobs"|libdiag.so|libsdm-diag.so|libDiagService.so"; #XXX: Breaks qseecomd AND brightness control (?) ipcSec="4097:4294967295:2002:2950:3009:2901|4097:4294967295:3009"; @@ -128,6 +130,7 @@ echo "Deblobbing..."; blobs=$blobs"|mfc_fw.bin"; #DPM (Data Power Management) [Qualcomm] + #https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/dpm/ [headers] blobs=$blobs"|com.qti.dpmframework.jar|dpmapi.jar|tcmclient.jar"; blobs=$blobs"|com.qti.dpmframework.xml|dpmapi.xml|dpm.conf|NsrmConfiguration.xml"; blobs=$blobs"|dpmd|dpmQmiMgr"; @@ -221,7 +224,7 @@ echo "Deblobbing..."; blobs=$blobs"|FMRadioGoogle.apk|FmRadioTrampoline2.apk"; #[Google] - blobs=$blobs"|TetheringEntitlement.apk|CarrierLocation.apk|CarrierWifi.apk"; + blobs=$blobs"|TetheringEntitlement.apk|CarrierLocation.apk|CarrierWifi.apk|CarrierSettings.apk"; blobs=$blobs"|HardwareInfo.apk"; blobs=$blobs"|SCONE.apk"; #??? @@ -282,6 +285,7 @@ echo "Deblobbing..."; fi; if [ "$DOS_DEBLOBBER_REMOVE_IMS" = true ] || [ "$DOS_DEBLOBBER_REMOVE_RCS" = true ]; then #RCS (Proprietary messaging protocol) + #https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/rcs-service/ [useless] blobs=$blobs"|imsrcsd"; blobs=$blobs"|lib-imsrcscmclient.so|lib-ims-rcscmjni.so|lib-imsrcscmservice.so|lib-imsrcscm.so|lib-imsrcs.so|lib-imsrcs-v2.so|lib-rcsimssjni.so|lib-rcsjni.so|lib-uceservice.so"; blobs=$blobs"|rcsimssettings.jar|rcsservice.jar"; @@ -295,7 +299,9 @@ echo "Deblobbing..."; #IPA (Internet Packet Accelerator) [Qualcomm] - #This is actually open source (excluding -diag) + #https://source.codeaurora.org/quic/la/platform/hardware/qcom/data/ipa-cfg-mgr/ + #https://source.codeaurora.org/quic/la/platform/hardware/qcom/data/ipacfg-mgr/ + #https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/data-ipa-cfg-mgr/ blobs=$blobs"|ipacm-diag"; if [ "$DOS_DEBLOBBER_REMOVE_IPA" = true ]; then blobs=$blobs"|ipacm"; @@ -327,6 +333,7 @@ echo "Deblobbing..."; #blobs=$blobs"|libmmparser.so|libmmipstreamsourcehttp.so"; #Location (gpsOne/gpsOneXTRA/IZat/Lumicast/QUIP) [Qualcomm] + #https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/location/ blobs=$blobs"|libalarmservice_jni.so|libasn1cper.so|libasn1crt.so|libasn1crtx.so|libgdtap.so|libloc_ext.so|libloc_xtra.so|liblowi_wifihal_nl.so|liblowi_wifihal.so|libquipc_os_api.so|libquipc_ulp_adapter.so|libxt_native.so|libxtwifi_ulp_adaptor.so|libxtwifi_zpp_adaptor.so"; #blobs=$blobs"|libulp2.so|libxtadapter.so|libgeofence.so|liblbs_core.so|libdataitems.so|libdrplugin_client.so|libDRPlugin.so|libevent_observer.so|liblocationservice_glue.so|liblocationservice.so|liblowi_client.so"; blobs=$blobs"|cacert_location.pem|com.qti.location.sdk.xml|com.qualcomm.location.xml|izat.conf|izat.xt.srv.xml|lowi.conf|xtra_root_cert.pem|xtwifi.conf"; @@ -377,7 +384,6 @@ echo "Deblobbing..."; blobs=$blobs"|ConnMO.apk|OmaDmclient.apk|USCCDM.apk|com.android.omadm.service.xml|DCMO.apk|DiagMon.apk|DMConfigUpdate.apk|DMService.apk|libdmengine.so|libdmjavaplugin.so|SprintDM.apk|SDM.apk|whitelist_com.android.omadm.service.xml|com.android.sdm.plugins.connmo.xml|com.android.sdm.plugins.sprintdm.xml|com.google.omadm.trigger.xml|com.android.sdm.plugins.diagmon.xml|com.android.sdm.plugins.dcmo.xml"; #Sprint #OpenMobileAPI [SIM Alliance] - #This is open source, but rarely used #https://github.com/seek-for-android/platform_packages_apps_SmartCardService #blobs=$blobs"|org.simalliance.openmobileapi.jar"; #blobs=$blobs"|org.simalliance.openmobileapi.xml"; @@ -392,6 +398,7 @@ echo "Deblobbing..."; blobs=$blobs"|Perfdump.apk"; #Peripheral Manager + #https://source.codeaurora.org/quic/la/platform/system/peripheralmanager/ [headers] #blobs=$blobs"|libperipheral_client.so|libspcom.so"; #blobs=$blobs"|pm-proxy|pm-service|spdaemon"; @@ -413,6 +420,7 @@ echo "Deblobbing..."; blobs=$blobs"|Tycho.apk"; #Quickboot [Qualcomm] + #https://source.codeaurora.org/quic/la/platform/packages/apps/FastPowerOn/ blobs=$blobs"|power_off_alarm"; blobs=$blobs"|QuickBoot.apk|PowerOffAlarm.apk"; blobs=$blobs"|vendor.qti.hardware.alarm.*"; @@ -443,10 +451,12 @@ echo "Deblobbing..."; ipcSec=$ipcSec"|238:4294967295:1001:3004"; #Thermal Throttling [Qualcomm] + #https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/thermal-engine/ [headers] #blobs=$blobs"|thermal-engine"; #blobs=$blobs"|libthermalclient.so|libthermalioctl.so"; #Time Service [Qualcomm] + #https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/time-services/ [headers] #Requires that android_hardware_sony_timekeep be included in repo manifest if [ "$DOS_DEBLOBBER_REPLACE_TIME" = true ]; then #blobs=$blobs"|libtime_genoff.so"; #XXX: Breaks radio @@ -484,11 +494,14 @@ echo "Deblobbing..."; #makes=$makes"|sound_trigger_mixer_paths.xml|sound_trigger_platform_info.xml"; #Wi-Fi [Qualcomm] + #https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wigig/ [headers] + #https://source.codeaurora.org/quic/qsdk/oss/wigig-utils/ [useless] blobs=$blobs"|wifilearner"; - blobs=$blobs"|vendor.qti.hardware.wifi.wifilearner.*|vendor.qti.hardware.wigig.netperftuner.*"; + blobs=$blobs"|vendor.qti.hardware.wifi.wifilearner.*|vendor.qti.hardware.wigig.*"; blobs=$blobs"|libwigig_flashaccess.so|libwigig_pciaccess.so|libwigig_utils.so|libwigigsensing.so"; - #Wfd (Wireless Display? Wi-Fi Direct?) [Qualcomm] + #Wfd (Wireless Display) [Qualcomm] + #https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wfd-commonsys/ [useless] blobs=$blobs"|libmmparser_lite.so|libmmrtpdecoder.so|libmmrtpencoder.so|libmmwfdinterface.so|libmmwfdsinkinterface.so|libmmwfdsrcinterface.so|libwfdavenhancements.so|libwfdcommonutils.so|libwfdhdcpcp.so|libwfdmmsink.so|libwfdmmsrc.so|libwfdmmutils.so|libwfdnative.so|libwfdrtsp.so|libwfdservice.so|libwfdsm.so|libwfduibcinterface.so|libwfduibcsinkinterface.so|libwfduibcsink.so|libwfduibcsrcinterface.so|libwfduibcsrc.so|libwfdcommonutils_proprietary.so|libwfdhaldsmanager.so|libwfdmmservice.so|libwfdmodulehdcpsession.so|libwfdcodecv4l2.so|libwfdconfigutils.so|libwfdmminterface.so|libwfdclient.so|libwfdhdcpservice_proprietary.so"; blobs=$blobs"|wfdservice|wifidisplayhalservice|wfdhdcphalservice"; blobs=$blobs"|WfdService.apk"; @@ -658,6 +671,9 @@ deblobDevice() { awk -i inplace '!/config_ims_package/' overlay/frameworks/base/core/res/res/values/config.xml; fi; fi; + if [ -f overlay/packages/services/Telephony/res/values/config.xml ]; then + awk -i inplace '!/platform_carrier_config_package/' overlay/packages/services/Telephony/res/values/config.xml; + fi; if [ -d sepolicy ]; then if [ -z "$replaceTime" ]; then numfiles=(*); numfiles=${#numfiles[@]}; diff --git a/Scripts/Common/Functions.sh b/Scripts/Common/Functions.sh index fd7a08d4..99b7527d 100644 --- a/Scripts/Common/Functions.sh +++ b/Scripts/Common/Functions.sh @@ -360,6 +360,28 @@ deblobAudio() { } export -f deblobAudio; +imsAllowDiag() { + find device -name "ims.te" -type f -exec sh -c "echo 'diag_use(ims)' >> {}" \; + find device -name "hal_imsrtp.te" -type f -exec sh -c "echo 'diag_use(hal_imsrtp)' >> {}" \; +} +export -f imsAllowDiag; + +volteOverride() { + cd "$DOS_BUILD_BASE$1"; + if grep -sq "config_device_volte_available" "overlay/frameworks/base/core/res/res/values/config.xml"; then + if [ -f vendor.prop ] && ! grep -sq "volte_avail_ovr" "vendor.prop"; then + echo -e 'persist.dbg.volte_avail_ovr=1\npersist.dbg.vt_avail_ovr=1' >> vendor.prop; + echo "Set VoLTE override in vendor.prop for $1"; + fi; + if [ -f vendor_prop.mk ] && ! grep -sq "volte_avail_ovr" "vendor_prop.mk"; then + echo -e '\nPRODUCT_PROPERTY_OVERRIDES += \\\n persist.dbg.volte_avail_ovr=1 \\\n persist.dbg.vt_avail_ovr=1' >> vendor_prop.mk; + echo "Set VoLTE override in vendor_prop.mk for $1"; + fi; + #TODO: system.prop, init/init*.cpp, device*.mk + fi; + cd "$DOS_BUILD_BASE"; +} +export -f volteOverride; hardenLocationConf() { local gpsConfig=$1; diff --git a/Scripts/LineageOS-14.1/Patch.sh b/Scripts/LineageOS-14.1/Patch.sh index 367f95a5..1106a370 100644 --- a/Scripts/LineageOS-14.1/Patch.sh +++ b/Scripts/LineageOS-14.1/Patch.sh @@ -295,6 +295,7 @@ if [ "$DOS_LOWRAM_ENABLED" = true ]; then find "device" -maxdepth 2 -mindepth 2 find "hardware/qcom/gps" -name "gps\.conf" -type f -print0 | xargs -0 -n 1 -P 4 -I {} bash -c 'hardenLocationConf "{}"'; find "device" -name "gps\.conf" -type f -print0 | xargs -0 -n 1 -P 4 -I {} bash -c 'hardenLocationConf "{}"'; find "device" -type d -name "overlay" -print0 | xargs -0 -n 1 -P 4 -I {} bash -c 'hardenLocationFWB "{}"'; +find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'volteOverride "{}"'; find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'enableDexPreOpt "{}"'; find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'hardenUserdata "{}"'; find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'hardenBootArgs "{}"'; diff --git a/Scripts/LineageOS-15.1/Patch.sh b/Scripts/LineageOS-15.1/Patch.sh index 2cb8c17f..9c3d98c3 100644 --- a/Scripts/LineageOS-15.1/Patch.sh +++ b/Scripts/LineageOS-15.1/Patch.sh @@ -246,6 +246,7 @@ if [ "$DOS_LOWRAM_ENABLED" = true ]; then find "device" -maxdepth 2 -mindepth 2 find "hardware/qcom/gps" -name "gps\.conf" -type f -print0 | xargs -0 -n 1 -P 4 -I {} bash -c 'hardenLocationConf "{}"'; find "device" -name "gps\.conf" -type f -print0 | xargs -0 -n 1 -P 4 -I {} bash -c 'hardenLocationConf "{}"'; find "device" -type d -name "overlay" -print0 | xargs -0 -n 1 -P 4 -I {} bash -c 'hardenLocationFWB "{}"'; +find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'volteOverride "{}"'; find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'enableDexPreOpt "{}"'; find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'hardenUserdata "{}"'; find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'hardenBootArgs "{}"'; diff --git a/Scripts/LineageOS-16.0/Patch.sh b/Scripts/LineageOS-16.0/Patch.sh index fb9adedc..77cfc1bb 100644 --- a/Scripts/LineageOS-16.0/Patch.sh +++ b/Scripts/LineageOS-16.0/Patch.sh @@ -275,6 +275,7 @@ if [ "$DOS_LOWRAM_ENABLED" = true ]; then find "device" -maxdepth 2 -mindepth 2 find "hardware/qcom/gps" -name "gps\.conf" -type f -print0 | xargs -0 -n 1 -P 4 -I {} bash -c 'hardenLocationConf "{}"'; find "device" -name "gps\.conf" -type f -print0 | xargs -0 -n 1 -P 4 -I {} bash -c 'hardenLocationConf "{}"'; find "device" -type d -name "overlay" -print0 | xargs -0 -n 1 -P 4 -I {} bash -c 'hardenLocationFWB "{}"'; +find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'volteOverride "{}"'; find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'enableDexPreOpt "{}"'; find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'hardenUserdata "{}"'; find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'hardenBootArgs "{}"'; diff --git a/Scripts/LineageOS-17.1/Patch.sh b/Scripts/LineageOS-17.1/Patch.sh index 6f29d976..5890cd2b 100644 --- a/Scripts/LineageOS-17.1/Patch.sh +++ b/Scripts/LineageOS-17.1/Patch.sh @@ -284,6 +284,7 @@ if [ "$DOS_LOWRAM_ENABLED" = true ]; then find "device" -maxdepth 2 -mindepth 2 find "hardware/qcom/gps" -name "gps\.conf" -type f -print0 | xargs -0 -n 1 -P 4 -I {} bash -c 'hardenLocationConf "{}"'; find "device" -name "gps\.conf" -type f -print0 | xargs -0 -n 1 -P 4 -I {} bash -c 'hardenLocationConf "{}"'; find "device" -type d -name "overlay" -print0 | xargs -0 -n 1 -P 4 -I {} bash -c 'hardenLocationFWB "{}"'; +find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'volteOverride "{}"'; find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'enableDexPreOpt "{}"'; find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'hardenUserdata "{}"'; find "device" -maxdepth 2 -mindepth 2 -type d -print0 | xargs -0 -n 1 -P 8 -I {} bash -c 'hardenBootArgs "{}"'; diff --git a/Scripts/init.sh b/Scripts/init.sh index 279ed85a..ffdb1d41 100644 --- a/Scripts/init.sh +++ b/Scripts/init.sh @@ -43,7 +43,7 @@ export DOS_DEBLOBBER_REMOVE_GRAPHICS=false; #Set true to remove all graphics blo export DOS_DEBLOBBER_REMOVE_RENDERSCRIPT=false; #Set true to remove RenderScript blobs export DOS_DEBLOBBER_REMOVE_FP=false; #Set true to remove all fingerprint reader blobs export DOS_DEBLOBBER_REMOVE_IMS=false; #Set true to remove all IMS blobs XXX: Carriers are phasing out 3G, making IMS mandatory for calls -export DOS_DEBLOBBER_REMOVE_RCS=true; #Set true to remove all RCS blobs XXX: Potentially breaks IMS on some devices +export DOS_DEBLOBBER_REMOVE_RCS=true; #Set true to remove all RCS blobs export DOS_DEBLOBBER_REMOVE_IPA=false; #Set true to remove all IPA blobs export DOS_DEBLOBBER_REMOVE_IR=false; #Set true to remove all IR blobs export DOS_DEBLOBBER_REPLACE_TIME=false; #Set true to replace Qualcomm Time Services with the open source Sony TimeKeep reimplementation #TODO: Needs testing