diff --git a/device/community/firmware-shift-sdm845/APKBUILD b/device/community/firmware-shift-sdm845/APKBUILD
index 8bd60473d2beb1a182e7b70712cd728fac9c1dab..a30a73e2c74a1127b71a705fe8ab05c2f9fd85fa 100644
--- a/device/community/firmware-shift-sdm845/APKBUILD
+++ b/device/community/firmware-shift-sdm845/APKBUILD
@@ -1,25 +1,28 @@
 # Maintainer: Alexander Martinz <amartinz@shiftphones.com>
 
 pkgname=firmware-shift-sdm845
-pkgver=0.3
-pkgrel=1
+pkgver=0.4
+pkgrel=0
 pkgdesc="Firmware for SHIFT sdm845 devices"
-url="https://gitlab.com/sdm845-mainline/firmware-shift-sdm845"
+url="https://gitlab.com/dylanvanassche/firmware-shift-sdm845"
 arch="aarch64"
 depends="
 	linux-firmware-ath10k
 	linux-firmware-qcom
 "
 license="proprietary"
-options="!check !strip !archcheck !tracedeps pmb:cross-native"
+# Textrels appear in DSP libraries which we cannot avoid
+options="!check !strip !archcheck !tracedeps textrels pmb:cross-native"
 
-_version="ce9d27bf03624cceeaa8e7466f2e6dc731f2ba5e"
+_version="7f957e47c3bad1f89bae6da07aa9adfcf76b8c6a"
 
 source="$pkgname.tar.gz::$url/-/archive/$_version/$pkgname-$_version.tar.gz
 	firmware.files
+	sensors.files
 	30-gpu-firmware.files"
 subpackages="
-	$pkgname-initramfs:firmware_initramfs"
+	$pkgname-initramfs:firmware_initramfs
+	$pkgname-sensors:firmware_sensors"
 
 package() {
 	cd "$srcdir/$pkgname-$_version/"
@@ -40,8 +43,23 @@ firmware_initramfs() {
 		"$subpkgdir/usr/share/mkinitfs/files/30-gpu-firmware.files"
 }
 
+firmware_sensors() {
+	pkgdesc="Files to be included in the initramfs to support osk-sdl"
+	depends="$pkgname"
+	install_if="$pkgname-nonfree-firmware"
+	mkdir "$subpkgdir"
+
+	cd "$srcdir/$pkgname-$_version/"
+	while IFS="" read -r _i || [ -n "$_i" ]; do
+		[ ! -d $(dirname $_i) ] && mkdir -p $(dirname $_i)
+		echo $_i
+		install -Dm644 $_i "$pkgdir/$_i"
+	done < "$srcdir/sensors.files"
+}
+
 sha512sums="
-86c3813a9f43e8f5f5e0df1215e37090011d6c468aad1a23f944a202e9fa740240869ed7b0b11ad032d35afaee72e903e24ca8d0e1de2f992902692f8c5983f8  firmware-shift-sdm845.tar.gz
+6d9affb61e581e8752ed9293b5efec7a5940dca2d1e9ac12006daaae4b826ce7f1a9e1d588480a1cf90d70ab9d479daffb95a8bdd8a5c53c2d6cc95fd6d8be70  firmware-shift-sdm845.tar.gz
 0b547cd027a9760cf16d80e63ebfb89282cff260bd07cc0bfea364513be7a5a32202a5f0aedbeb52dc5ca8087595a2842442a59f77dc7c9bcf5f154e905ceb15  firmware.files
+be1aa0e7d1a5689d2f6b85d6244d0a2ec0729b92d3a165fc5162f039849ee2da49b311a4713cd11924ee70933dacb88c879b805504bb89709f10807d89207a15  sensors.files
 8695a37da5578fdae506f373131ce9481be3db1a86f329c19893e7360b9cb0fadd47b0b1318b2e74702c5e76a9be022f58610940ad17becab49788689f6ca3f8  30-gpu-firmware.files
 "
diff --git a/device/community/firmware-shift-sdm845/sensors.files b/device/community/firmware-shift-sdm845/sensors.files
new file mode 100644
index 0000000000000000000000000000000000000000..592e845004bb294538e10b324895f744a7f46ec2
--- /dev/null
+++ b/device/community/firmware-shift-sdm845/sensors.files
@@ -0,0 +1,196 @@
+./etc/qcom/sns_reg.conf
+./etc/qcom/sensors.d/bmp285_0.json
+./etc/qcom/sensors.d/icm206xx_0.json
+./etc/qcom/sensors.d/mmc5603x_0.json
+./etc/qcom/sensors.d/sdm845_bmp285_0.json
+./etc/qcom/sensors.d/sdm845_icm206xx_0.json
+./etc/qcom/sensors.d/sdm845_mmc5603x_0.json
+./etc/qcom/sensors.d/sdm845_stk3x1x_0.json
+./etc/qcom/sensors.d/sns_amd.json
+./etc/qcom/sensors.d/sns_amd_sw_disabled.json
+./etc/qcom/sensors.d/sns_amd_sw_enabled.json
+./etc/qcom/sensors.d/sns_aont.json
+./etc/qcom/sensors.d/sns_basic_gestures.json
+./etc/qcom/sensors.d/sns_bring_to_ear.json
+./etc/qcom/sensors.d/sns_ccd.json
+./etc/qcom/sensors.d/sns_ccd_v2_walk.json
+./etc/qcom/sensors.d/sns_ccd_v3_walk.json
+./etc/qcom/sensors.d/sns_cm.json
+./etc/qcom/sensors.d/sns_dae.json
+./etc/qcom/sensors.d/sns_device_orient.json
+./etc/qcom/sensors.d/sns_diag_filter.json
+./etc/qcom/sensors.d/sns_distance_bound.json
+./etc/qcom/sensors.d/sns_dpc.json
+./etc/qcom/sensors.d/sns_facing.json
+./etc/qcom/sensors.d/sns_fmv.json
+./etc/qcom/sensors.d/sns_geomag_rv.json
+./etc/qcom/sensors.d/sns_gyro_cal.json
+./etc/qcom/sensors.d/sns_heart_rate.json
+./etc/qcom/sensors.d/sns_mag_cal.json
+./etc/qcom/sensors.d/sns_mag_cal_legacy.json
+./etc/qcom/sensors.d/sns_multishake.json
+./etc/qcom/sensors.d/sns_pedometer.json
+./etc/qcom/sensors.d/sns_rmd.json
+./etc/qcom/sensors.d/sns_rotv.json
+./etc/qcom/sensors.d/sns_smd.json
+./etc/qcom/sensors.d/sns_tilt.json
+./etc/qcom/sensors.d/sns_tilt_sw_disabled.json
+./etc/qcom/sensors.d/sns_tilt_sw_enabled.json
+./etc/qcom/sensors.d/sns_tilt_to_wake.json
+./etc/qcom/sensors.d/stk3x1x_0.json
+./usr/lib/qcom/adsp/AlacDecoderModule.so.1
+./usr/lib/qcom/adsp/ApeDecoderModule.so.1
+./usr/lib/qcom/adsp/AudioContextDetection.so.1
+./usr/lib/qcom/adsp/AudioSphereModule.so.1
+./usr/lib/qcom/adsp/cellinfo_tools.so
+./usr/lib/qcom/adsp/CFCMModule.so.1
+./usr/lib/qcom/adsp/chre_app_coverage2.so
+./usr/lib/qcom/adsp/chre_app_coverage.so
+./usr/lib/qcom/adsp/chre_app_oem.so
+./usr/lib/qcom/adsp/chre_app_sensor_cfg.so
+./usr/lib/qcom/adsp/chre_drv_bt.so
+./usr/lib/qcom/adsp/chre_drv_gf.so
+./usr/lib/qcom/adsp/chre_drv_loc.so
+./usr/lib/qcom/adsp/chre_drv_modem.so
+./usr/lib/qcom/adsp/chre_drv_wifi.so
+./usr/lib/qcom/adsp/chre_pal.so
+./usr/lib/qcom/adsp/EtsiAmrWbPlusDecModule.so.1
+./usr/lib/qcom/adsp/EtsiEaacPlusEncAndCmnModule.so.1
+./usr/lib/qcom/adsp/fastrpc_shell_0
+./usr/lib/qcom/adsp/fastrpc_shell_2
+./usr/lib/qcom/adsp/FlacDecoderModule.so.1
+./usr/lib/qcom/adsp/fluence_voiceplus_module.so.1
+./usr/lib/qcom/adsp/HeaacDecoderModule.so.1
+./usr/lib/qcom/adsp/LdacModule.so.1
+./usr/lib/qcom/adsp/libchre_slpi_skel.so
+./usr/lib/qcom/adsp/libFastRPC_UTF_Forward_800s_sdm845_skel.so
+./usr/lib/qcom/adsp/libstabilitydomain_skel.so
+./usr/lib/qcom/adsp/libsysmondomain_skel.so
+./usr/lib/qcom/adsp/libsysmon_skel.so
+./usr/lib/qcom/adsp/lowi_client.so
+./usr/lib/qcom/adsp/map_AVS_SHARED_LIBS_845.adsp.prodQ.txt
+./usr/lib/qcom/adsp/map_SHARED_LIBS_845.adsp.prodQ.txt
+./usr/lib/qcom/adsp/map_SHARED_LIBS_AAAAAAAAQ.txt
+./usr/lib/qcom/adsp/map_SSC_SLPI_USER_AAAAAAAAQ.txt
+./usr/lib/qcom/adsp/mmecns_module.so.1
+./usr/lib/qcom/adsp/SAPlusCmnModule.so.1
+./usr/lib/qcom/adsp/sensor_testapp_40.so
+./usr/lib/qcom/adsp/SVACmnModule.so.1
+./usr/lib/qcom/adsp/VoiceWakeup_V2_Module.so.1
+./usr/lib/qcom/adsp/VorbisDecoderModule.so.1
+./usr/lib/qcom/adsp/WmaProDecoderModule.so.1
+./usr/lib/qcom/adsp/WmaStdDecoderModule.so.1
+./usr/lib/qcom/adsp/avs/adsp_avs_config.acdb
+./usr/lib/qcom/adsp/avs/QRD/QRD_Bluetooth_cal.acdb
+./usr/lib/qcom/adsp/avs/QRD/QRD_Codec_cal.acdb
+./usr/lib/qcom/adsp/avs/QRD/QRD_General_cal.acdb
+./usr/lib/qcom/adsp/avs/QRD/QRD_Global_cal.acdb
+./usr/lib/qcom/adsp/avs/QRD/QRD_Handset_cal.acdb
+./usr/lib/qcom/adsp/avs/QRD/QRD_Hdmi_cal.acdb
+./usr/lib/qcom/adsp/avs/QRD/QRD_Headset_cal.acdb
+./usr/lib/qcom/adsp/avs/QRD/QRD_Speaker_cal.acdb
+./usr/lib/qcom/adsp/avs/QRD/QRD_workspaceFile.qwsp
+./var/lib/qcom/sensors/bmp285_0
+./var/lib/qcom/sensors/bmp285_0_platform
+./var/lib/qcom/sensors/bmp285_0_platform.config
+./var/lib/qcom/sensors/bmp285_0_platform.placement
+./var/lib/qcom/sensors/bmp285_0_platform.pressure
+./var/lib/qcom/sensors/bmp285_0_platform.pressure.fac_cal
+./var/lib/qcom/sensors/bmp285_0_platform.pressure.fac_cal.bias
+./var/lib/qcom/sensors/bmp285_0_platform.pressure.fac_cal.scale
+./var/lib/qcom/sensors/bmp285_0_platform.temp
+./var/lib/qcom/sensors/bmp285_0_platform.temp.fac_cal
+./var/lib/qcom/sensors/bmp285_0_platform.temp.fac_cal.bias
+./var/lib/qcom/sensors/bmp285_0_platform.temp.fac_cal.scale
+./var/lib/qcom/sensors/bmp285_0.pressure
+./var/lib/qcom/sensors/bmp285_0.pressure.config
+./var/lib/qcom/sensors/bmp285_0.temp
+./var/lib/qcom/sensors/bmp285_0.temp.config
+./var/lib/qcom/sensors/file1
+./var/lib/qcom/sensors/file2
+./var/lib/qcom/sensors/icm206xx_0
+./var/lib/qcom/sensors/icm206xx_0.accel
+./var/lib/qcom/sensors/icm206xx_0.accel.config
+./var/lib/qcom/sensors/icm206xx_0.gyro
+./var/lib/qcom/sensors/icm206xx_0.gyro.config
+./var/lib/qcom/sensors/icm206xx_0.md
+./var/lib/qcom/sensors/icm206xx_0.md.config
+./var/lib/qcom/sensors/icm206xx_0_platform
+./var/lib/qcom/sensors/icm206xx_0_platform.accel
+./var/lib/qcom/sensors/icm206xx_0_platform.accel.fac_cal
+./var/lib/qcom/sensors/icm206xx_0_platform.accel.fac_cal.bias
+./var/lib/qcom/sensors/icm206xx_0_platform.accel.fac_cal.corr_mat
+./var/lib/qcom/sensors/icm206xx_0_platform.config
+./var/lib/qcom/sensors/icm206xx_0_platform.gyro
+./var/lib/qcom/sensors/icm206xx_0_platform.gyro.fac_cal
+./var/lib/qcom/sensors/icm206xx_0_platform.gyro.fac_cal.bias
+./var/lib/qcom/sensors/icm206xx_0_platform.gyro.fac_cal.corr_mat
+./var/lib/qcom/sensors/icm206xx_0_platform.md
+./var/lib/qcom/sensors/icm206xx_0_platform.md.config
+./var/lib/qcom/sensors/icm206xx_0_platform.orient
+./var/lib/qcom/sensors/icm206xx_0_platform.placement
+./var/lib/qcom/sensors/icm206xx_0_platform.temp
+./var/lib/qcom/sensors/icm206xx_0_platform.temp.fac_cal
+./var/lib/qcom/sensors/icm206xx_0_platform.temp.fac_cal.bias
+./var/lib/qcom/sensors/icm206xx_0_platform.temp.fac_cal.scale
+./var/lib/qcom/sensors/icm206xx_0.temp
+./var/lib/qcom/sensors/icm206xx_0.temp.config
+./var/lib/qcom/sensors/mmc5603x_0
+./var/lib/qcom/sensors/mmc5603x_0.mag
+./var/lib/qcom/sensors/mmc5603x_0.mag.config
+./var/lib/qcom/sensors/mmc5603x_0.mag.config_2
+./var/lib/qcom/sensors/mmc5603x_0_platform
+./var/lib/qcom/sensors/mmc5603x_0_platform.config
+./var/lib/qcom/sensors/mmc5603x_0_platform.mag
+./var/lib/qcom/sensors/mmc5603x_0_platform.mag.fac_cal
+./var/lib/qcom/sensors/mmc5603x_0_platform.mag.fac_cal.bias
+./var/lib/qcom/sensors/mmc5603x_0_platform.mag.fac_cal.corr_mat
+./var/lib/qcom/sensors/mmc5603x_0_platform.orient
+./var/lib/qcom/sensors/mmc5603x_0_platform.placement
+./var/lib/qcom/sensors/sensors_list.txt
+./var/lib/qcom/sensors/sensors_registry
+./var/lib/qcom/sensors/sensors_settings
+./var/lib/qcom/sensors/sns_amd
+./var/lib/qcom/sensors/sns_aont
+./var/lib/qcom/sensors/sns_basic_gestures
+./var/lib/qcom/sensors/sns_bring_to_ear
+./var/lib/qcom/sensors/sns_cm
+./var/lib/qcom/sensors/sns_device_orient_platform
+./var/lib/qcom/sensors/sns_device_orient_platform.config
+./var/lib/qcom/sensors/sns_diag_config
+./var/lib/qcom/sensors/sns_diag_sensor_datatype
+./var/lib/qcom/sensors/sns_distance_bound_speed_for_motion_states
+./var/lib/qcom/sensors/sns_dpc
+./var/lib/qcom/sensors/sns_facing
+./var/lib/qcom/sensors/sns_fmv_platform
+./var/lib/qcom/sensors/sns_fmv_platform.config
+./var/lib/qcom/sensors/sns_geomag_rv
+./var/lib/qcom/sensors/sns_geomag_rv.config
+./var/lib/qcom/sensors/sns_gyro_cal_config
+./var/lib/qcom/sensors/sns_gyro_cal_persist_s0
+./var/lib/qcom/sensors/sns_gyro_cal_persist_s0.bias
+./var/lib/qcom/sensors/sns_gyro_cal_persist_s0.compensation_matrix
+./var/lib/qcom/sensors/sns_gyro_cal_persist_s0.scale_factor
+./var/lib/qcom/sensors/sns_mag_cal_persist_s0c0
+./var/lib/qcom/sensors/sns_mag_cal_persist_s0c0.bias
+./var/lib/qcom/sensors/sns_multishake
+./var/lib/qcom/sensors/sns_pedometer
+./var/lib/qcom/sensors/sns_reg_config
+./var/lib/qcom/sensors/sns_reg_version
+./var/lib/qcom/sensors/sns_rmd
+./var/lib/qcom/sensors/sns_rotv_platform
+./var/lib/qcom/sensors/sns_rotv_platform.config
+./var/lib/qcom/sensors/sns_smd
+./var/lib/qcom/sensors/sns_tilt
+./var/lib/qcom/sensors/sns_tilt_to_wake
+./var/lib/qcom/sensors/stk3x1x_0
+./var/lib/qcom/sensors/stk3x1x_0.ambient_light
+./var/lib/qcom/sensors/stk3x1x_0.ambient_light.config
+./var/lib/qcom/sensors/stk3x1x_0_platform
+./var/lib/qcom/sensors/stk3x1x_0_platform.als
+./var/lib/qcom/sensors/stk3x1x_0_platform.als.fac_cal
+./var/lib/qcom/sensors/stk3x1x_0_platform.config
+./var/lib/qcom/sensors/stk3x1x_0_platform.ps
+./var/lib/qcom/sensors/stk3x1x_0_platform.ps.fac_cal
+./var/lib/qcom/sensors/stk3x1x_0.proximity
+./var/lib/qcom/sensors/stk3x1x_0.proximity.config