AdguardTeam / AdguardTeam/AdguardForAndroid

DNS-OVER-QUIC causes severe battery drain.

Open
#6,191 14 comments 1 reaction 1 assignee Claimed by @maxikuzmin View on GitHub
Bug Priority: P4
Dominant language
No language data
Stars
1.9k
Forks
121
PR merge metrics
No merged PRs in 30d

Description

### Please answer the following questions for yourself before submitting an issue

- [x] Filters were updated before reproducing an issue
- [x] I checked the [knowledge base](https://adguard.com/kb/) and found no answer
- [x] I checked to make sure that this issue has not already been filed

### AdGuard version

4.13.2

### Environment

- OS version: Android 16 custom rom, Crdroid 12.11
- Device: Redmi Note 10 Pro

### HTTPS filtering

- [x] yes, I do

### Root access

- [x] yes, I have it

### Integration with AdGuard VPN

- [ ] yes, I do

### Routing mode

Automatic proxy

### Which DNS server do you use?

Custom DNS

### DNS protocol

DNS-over-QUIC

### Custom DNS

Nextdns

### Issue Details

Steps to reproduce:
1. Start using DOQ server address from the nextdns setup page.

### Expected Behavior

Adguard should behave more or less same with no change in battery consumption.

### Actual Behavior

All adguard channels like release, nightly shows same behaviour of excessive idle battery drain with kernel holding the wakelocks for nearly half the time screen was off preventing deepsleep.

With doh3 too, the kernel still holds wakelocks but much less than doq to the point it doesn't affect battery that much.

It's replicable across both routing modes : vpn and automatic proxy.

### Additional Information

I started experiencing severe battery drain and after suspecting several things and formatting and such for over a month, I finally figured it was actually the dns-over-quic. I experienced this on dns-over-quic address of nextdns. Now I don't know whether this is specifically nextdns side doq implemenation issue or it's adguard's own dnslib buggy doq implemenation or something else but it's clearly reproducible every single time.

I would also like to draw your attention of doh3 too, which also forces adguard to hold kernel wakelocks for good enough time but there's no severe battery drain there at least in my recent testing but I still think it also needs a revisit from your side.

I don't know whether the recent dnslibs releases which are not yet merged into any release type are gonna solve this or not but as of now this bugs is clearly reproducible. You can test with several apps showing detailed battery consumption including wakelocks like Better Battery Stats https://github.com/asksven/bbs_reloaded-releases, Battery Guru etc.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.