[Xiaomi Redmi Note 4 [Snapdragon] ROMs, Kernels, Re] DarthJabba9:
[MENTION=5216574]Gyovany96[/MENTION] I have just installed GBoard from the play store, and I have no problem with it. In fact, I might use now it instead of SwiftKey, because now I see that I can have the numbers row at the top.

I don't use Xposed. I use only an initd script (you have to patch something in order to implement initd functionality - see eg, https://xdaforums.com/redmi-note-4/themes/mido-initd-ad-blocking-bad-audio-videos-t3626661). The initd script is different from the RN2 script. This is it:

#!/system/bin/sh

# ***************************************
# Initd script for Snapdragon 625
# DarthJabba9@xda
# ***************************************

# set to 1 in order to enable "extreme" battery savings
EXTREME_BATTERY=0

# any command line argument to change "EXTREME_BATTERY" ?
[ -n "$1" ] && [ "$1" = "1" ] && EXTREME_BATTERY=1

# whether to throttle the max cpu speed
THROTTLE=0

# Stop running boot-time services
StopServices(){
stop perfd
}

setgov() {
local DIR=/sys/devices/system/cpu/cpufreq/interactive/
[ -z "$2" ] && return
echo $2 > $DIR/$1
}

# Tweak Interactive Governor
TweakInteractive() {
local XS="80 652800:57 1036800:67 1401600:75 1689600:9 1804800:85 1958400:87"

if [ "$EXTREME_BATTERY" = "1" ]; then
XS="80 652800:77 1036800:87"
else
[ "$THROTTLE" = "1" ] && XS="80 652800:67 1036800:77 1401600:87"
fi
setgov target_loads "$XS"
#
setgov go_hispeed_load 95
setgov above_hispeed_delay 0
setgov timer_rate 60000
setgov hispeed_freq 652800
setgov timer_slack 480000
setgov min_sample_time 0
setgov ignore_hispeed_on_notif 0
setgov boost 0
setgov align_windows 1
setgov use_migration_notif 1
setgov use_sched_load 0
setgov max_freq_hysteresis 0
setgov boostpulse_duration 0
setgov enable_prediction 0
setgov fast_ramp_down 0
}

# helper
coreoff() {
[ -z "$1" ] && return
echo "0" > /sys/devices/system/cpu/cpu"$1"/online
}

# turn off the last 4 (or 3) cores
DisableCores() {
[ "$EXTREME_BATTERY" = "1" ] && coreoff 4
coreoff 5
coreoff 6
coreoff 7
}

# Limit CPU max freq
# Select a valid freq from this list: /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
# Valid list for SD625 = 652800 1036800 1401600 1689600 1804800 1958400 2016000
LimitCPU() {
local MAX="2016000"
local FORE="0-4" # foregound cores; default=0-6

if [ "$EXTREME_BATTERY" = "1" ]; then
FORE="0-3" # default=0-6
MAX="1401600" # throttle big time!
else
[ "$THROTTLE" = "1" ] && {
MAX="1689600"
#MAX="1804800"
}
fi

# turn off some cores
[ "$THROTTLE" = "1" ] || [ "$EXTREME_BATTERY" = "1" ] && DisableCores

# reduce max speed
[ ! "$MAX" = "2016000" ] && echo $MAX > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

# reduce cores running foreground operations
echo $FORE > /dev/cpuset/foreground/cpus # default=0-6
echo $FORE > /dev/cpuset/foreground/boost/cpus # default=0-6

# reduce cores running background operations
echo "0" > /dev/cpuset/background/cpus # default=0-1
echo "0-1" > /dev/cpuset/system-background/cpus # default=0-3
}

# FSTRIM
FSTRIM() {
busybox fstrim /data
busybox fstrim /system
busybox fstrim /cache
}

# Main - call all routines (uncomment to activate each line)
Main() {
StopServices
TweakInteractive
#LimitCPU
FSTRIM
}

# ************************* #
Main
#

Note - I would not recommend enabling "LimitCPU". It has a big impact on performance, but I never noticed any dramatic improvement of battery life, hence it is commented out.

---------- Post added at 08:39 PM ---------- Previous post was at 08:37 PM ----------

Which GAPPs did you install?