I also tried the command "acpi" and got 99% as battery status when GNOME showed me only 75%
That's because it's either doing one of two things:
- Calculating it based on available capacity, which isn't necessary what your battery was designed for. You can see this by doing
upower -e to list the interfaces and typing out the full object path with upower's show info, for example:
[~] upower -e
/org/freedesktop/UPower/devices/line_power_AC0
/org/freedesktop/UPower/devices/battery_BAT0
/org/freedesktop/UPower/devices/DisplayDevice
[~] upower -i /org/freedesktop/UPower/devices/battery_BAT0
native-path: BAT0
vendor: ASUSTeK
model: ASUS Battery
power supply: yes
updated: Thu 15 Aug 2019 07:26:48 PM EEST (45 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: discharging
warning-level: none
energy: 31.774 Wh
energy-empty: 0 Wh
energy-full: 32.166 Wh
energy-full-design: 43.046 Wh
energy-rate: 8.154 W
voltage: 11.55 V
time to empty: 3.9 hours
percentage: 98%
capacity: 74.7247%
technology: lithium-ion
icon-name: 'battery-full-symbolic'
History (charge):
1565886408 98.000 discharging
History (rate):
1565886408 8.154 discharging
I'm at 98% in battery life at 72% of it's estimated capacity (energy-full itself is typically an estimate).
- The iconography for that specific power level just isn't available, which isn't unique to GNOME Shell really, but rather a mix of both lack of iconography support for specific levels, the actual icon upower is reporting that should be used (
battery-full-symbolic in my example) as well as lack of support in specific desktop environments. GNOME recently added code to switch to using battery icon levels every 10% in GNOME Shell development builds (not 3.32 series, I checked) however it assumes you're using Adwaita icon theme, which only recently added those icons, whereas Papirus and most others don't have it (instead use battery-{ac-adapter,caution-charging,caution,empty-charging,empty,full-charged,good,low}.svg as some examples, which obviously lacks granularity).
This isn't something you can fix and it's not necessarily wrong either. Just not completely accurate or may be doing calculations differently than on macOS.