After upgrading to LineageOS 17.1 I wasn’t able to play any audio via bluetooth connection from my Xiaomi Mi 8.
To fix this issue, just go to developer options and disable Bluetooth-AD2P-Hardware-Offload
and reboot your phone.

After upgrading to LineageOS 17.1 I wasn’t able to play any audio via bluetooth connection from my Xiaomi Mi 8.
To fix this issue, just go to developer options and disable Bluetooth-AD2P-Hardware-Offload
and reboot your phone.
Install the Android Debug Bridge (ADB)
https://wiki.lineageos.org/adb_fastboot_guide.html
https://github.com/M0Rf30/android-udev-rules#installation
# check if device is found
adb devices
# reboot into sideload modus
adb reboot sideload
Or manually boot into TWRP recovery, holding Volume Up + Power when the phone is off. Navigate to Advanced
-> ADB Sideload
.
Update MIUI Firmware
If your current MIUI Firmware does not support Android 10, you have to update it first.
Download the newest MIUI Firmware for your device from https://xiaomifirmwareupdater.com/firmware/dipper/.
Flash the new Firmware via TWRP or via ADB sideload.
adb sideload Downloads/fw_dipper_miui_MI8Global_V12.0.2.0.QEAMIXM_4e38c51916_10.0.zip
Download and flash new LineageOS image
I’m using the LineageOS fork LineageOS for microG. Download it from here: https://download.lineage.microg.org/dipper/ (MI 8 = dipper)
The upgrade steps are the same as for the official rom: https://wiki.lineageos.org/devices/dipper/upgrade. In my case only flashing the new image.
adb sideload Downloads/lineage-17.1-20210327-microG-dipper.zip
Update 11.05.2020: I recommend using the PiVPN script (especially when using a unprivileged container). https://nocin.eu/wireguard-set-up-wireguard-using-pivpn-inside-lxc/
In the F-Droid Store you’ll find the wireguard android app.
To get wireguard running, add a new peer to your server. So ssh into your sever (in my case an lxc on proxmox) and create a new key pair.
wg genkey | tee privatekey | wg pubkey > publickey
Now create the android.conf. Define the interface and add your server as peer.
[Interface]
PrivatKey = <android_privat_key>
Address = 192.168.1.3/24
DNS = 192.168.1.102
[Peer]
PublicKey = <server_public_key>
AllowedIPs = 0.0.0.0/0
Endpoint = my.doamin.org:51820
PersistentKeepalive = 25
Then add the new android peer to the server config.
[Peer]
PublicKey = <android_public_key>
AllowedIPs = 192.168.1.3/32
Now restart the wireguard interface to load the new config:
wg-quick down wg0
wg-quick up wg0
The fastest way to get your config on the android client is using a QR-Code. I used greencode for this.
apt install greencode
qrencode -t ansiutf8 < android.conf
Open your wireguard app, scan the QR-Code and connect to your server.