[DEV][ROM][UNOFFICIAL] LineageOS 16.0 (Android 9) for Raspberry Pi 3 B and B+ - Raspberry Pi Original Development

Here’s my build of LineageOS 16.0 for Raspberry Pi 3 Model B and Model B+. It is unofficial and unsupported by the LineageOS team. It’s for advanced users only.
Important! This image includes parts that are licensed under non-commercial license (Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International). You may use this build freely in personal/educational/etc use. Commercial use is not allowed with this build!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
https://konstakang.com/devices/rpi3/LineageOS16.0/
lineage-16.0-20200713-UNOFFICIAL-KonstaKANG-rpi3.zip
https://www.androidfilehost.com/?fid=8889791610682891697
md5:3689e767c41858bb53db20190b6542a5
Working:
Audio (HDMI, 3.5mm jack, USB microphones, bluetooth speakers/headsets, etc)
Audio DAC (using PCM512x DACs e.g. Hifiberry DAC+)
Bluetooth
Camera (using official Pi camera modules & UVC USB webcams)
GPIO
GPS (using external USB modules e.g. U-Blox 7)
Ethernet
Hardware accelerated graphics (VC4)
HDMI display
I2C
IR remotes (using external GPIO IR modules e.g. TSOP4838)
RTC (using external GPIO I2C modules e.g. DS3231)
Serial console (using external GPIO serial console adapters e.g. PL2303)
SPI
Touchscreen/multi-touch (using official 7” display with SwiftShafer software renderer)
USB (mouse, keyboard, storage, etc)
Wifi
Wifi tethering
Not working:
Hardware video decoding & encoding
Issues:
SELinux is in permissive mode
and more…
Sources:
kernel
Thanks:
peyo-hd and everyone who has contributed to android-rpi
brobwind for graphics and bluetooth fixes
Eric Anholt for VC4 graphics driver
Google for Android Things platform
Android-x86 project
LineageOS team & everyone who has contributed to LineageOS 16.0

How to install:
Follow the official Raspberry Pi instructions for writing the image to the SD card (Linux, Mac, Windows).
FAQ:
Q: I can’t find developer options, why?
A: Settings -> About tablet -> Click ‘Build number’ several times
Q: I have no root, why? What is that hashtag on my status bar?
A: You need enable root access under Settings -> System -> Developer options -> Root access. Root management is now integrated as part of LineageOS’ Privacy Guard and you can manage per app permissions under Settings -> System -> Developer options -> Manage root access. You’ll have a persistent notification in the status bar when you’re running an app that uses root permissions.
Q: Settings -> Storage shows total system size of 4 GB. There's unallocated space on my sdcard. What should I do?
A: This is a 4 GB image, remaining space on your sdcard will remain unallocated. You can use e.g. GParted and extend /data partition (/dev/block/mmcblk0p4) to cover the unallocated space. Resizing the partition manually will break support for encrypting /data. Format /data in TWRP recovery (Wipe->Format data) after resizing to leave required space for crypto footer.
Or you can flash my resize zip in TWRP.
Q: My display is not working. I can only see the rainbow screen but no Android boot animation. What should I do?
A: This build only supports HDMI displays that report supported resolutions using EDID. See this page under 'Which values are valid for my monitor?' to see how to check which resolutions your display supports using Raspbian. 1280x720 resolution is used by default with this build. If your display doesn't support 1280x720 resolution, you can try changing value in /boot/resolution.txt to something it does.
Q: I have official 7” LCD display and touchscreen. What should I do?
A: Official 7” touchscreen is only supported using SwiftShader software renderer. See below how to switch between different graphics drivers. You will also need to change display size under Settings -> Display -> Display size (or change ro.sf.lcd_density to 120 in /system/build.prop) to adapt to the smaller resolution.
Q: I need to use SwiftShader software renderer to use the official 7” display or I want to boot without any display connected. What should I do?
A: Warning, SwiftShader is a software renderer and using it affects graphics performance. You can switch between MESA and SwiftShader graphics drivers by executing following commands in ‘adb shell’/serial console/terminal (you can enable built-in terminal app from Settings -> System -> Developer options -> Local terminal):
Code:
su
rpi3-graphics.sh swiftshader
Code:
su
rpi3-graphics.sh mesa
Q: Raspberry Pi doesn’t have power button, how do I power off/reboot my device?
A: Following keyboard keys work as Android buttons: F1 = Home, F2 = Back, F3 = Multi-tasking, F4 = Menu, F5 = Power, F11 = Volume down, and F12 = Volume up. You can also use one of many third party reboot applications.
Q: How to create a DIY hardware power button?
A: You can send power button events by connecting GPIO21 to ground.
Execute following commands in ‘adb shell’/serial console/terminal (you can enable built-in terminal app from Settings -> System -> Developer options -> Local terminal) to enable the feature and reboot your device:
Code:
su
rpi3-powerbutton.sh
You can also use the DIY power button to boot the device to TWRP recovery. Press and hold the button while powering on the device until you see the TWRP screen. If you use this method to boot to recovery, you can ignore what is said about booting into/out of TWRP later in the FAQ.
Q: How to enable audio through 3.5mm jack?
Execute following commands in 'adb shell'/serial console/terminal (you can enable built-in terminal app from Settings -> System -> Developer options -> Local terminal) to enable the feature and reboot your device:
Code:
su
rpi3-audio-jack.sh
Q: How to boot from USB device?
A: Warning, this is an experimental feature and there’s still some issues with it. Android shows USB storage notification for each partition and you should ignore these. TWRP shows errors in few places but everything seems to be working regardless of this.
Follow the official instructions on how to enable USB boot on Pi 3 B (this step is not needed on Pi 3 B+)
Write image to your USB device as above
Mount the USB device on your computer and rename following files on the boot partition:
Code:
mv ramdisk.img ramdisk-sdcard.img
mv ramdisk-usb.img ramdisk.img
mv ramdisk-recovery.img ramdisk-recovery-sdcard.img
mv ramdisk-recovery-usb.img ramdisk-recovery.img
Plug in the USB device to your Raspberry Pi, remove any sdcard, and boot
Q: How to boot to TWRP recovery?
A: There’s currently no proper way to boot between Android and TWRP, but this can achieved by renaming the ramdisk you want to boot. Execute following commands in ‘adb shell’/serial console/terminal (you can enable built-in terminal app from Settings -> System -> Developer options -> Local terminal) and reboot your device:
Code:
su
rpi3-recovery.sh
If mouse cursor doesn’t appear, try replugging your mouse.
Q: How to boot out of TWRP recovery?
A: You can execute the same script in TWRP terminal (Advanced->Terminal) if you have boot and system partitions mounted (Mount->Boot & Mount->System):
Code:
rpi3-recovery.sh boot
Or you can flash my recovery2boot zip in TWRP.
Q: How to update from previous LineageOS 16.0 build without losing data?
A:
Boot to TWRP recovery with the build you want to keep the data (see FAQ)
Plug in an external USB storage device and select 'Backup'
Use 'Select Storage' to choose the USB device and 'Swipe to backup' (it's only necessary to backup the data partition so you can uncheck other partitions to speed up the process)
Write new LineageOS 16.0 image to the sdcard following installation instructions
Boot to TWRP recovery with the new build (see FAQ)
Select 'Restore' and find the backup you created from the USB device ('Select Storage')
Make sure you only have data selected as partitions to restore (uncheck other partitions if available) and select 'Swipe to Restore'
(Flash Google apps package/other add-ons you had previously installed)
Boot out of recovery (see FAQ)
Q: How to install Google apps?
A: Warning, installing gapps slows things down especially on low-end devices with limited amount of RAM such as this one.
Download open_gapps-arm-9.0-pico-xxxxxxxx.zip and save it to your device’s internal storage or use an external USB drive
Boot to TWRP recovery (see FAQ)
Install open_gapps-arm-9.0-pico-xxxxxxxx.zip from your selected storage
Wipe->Factory reset!
Boot out of recovery (see FAQ)

Merged commits not mentioned in the changelog.
13.7. changelog:
add ir-keytable tool to configure IR remotes
enable USB gadget support & fix adb toggle in developer options
add support for storage devices with exFAT filesystem
hide su binary when root access is not enabled in developer options
add support for PCM512x audio DACs (tested with Hifiberry DAC+)
improve support for Waveshare HDMI touchscreens
fix recording videos with camcorder
add TWRP flashable zip to resize data partition (see FAQ)
update TWRP to 3.3.1-1
update to MESA 20.1.3 and latest upstream versions of minigbm gralloc, drm_hwcomposer, and libdrm
update to Linux 4.19.132 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 July 2020 (merged)
7.2. 2020 changelog:
add camera HAL to support Pi camera modules and USB webcams (thanks to Android-x86)
update to MESA 19.3.3 and latest upstream versions of minigbm gralloc, drm_hwcomposer, and libdrm
enable hardware overlays (improves graphics performance)
add option to switch to SwiftShader software renderer e.g. to use official 7” touchscreen or to boot without any display connected (see FAQ)
fix portrait apps on forced landscape orientation (thanks to Ladehunter)
update GPS HAL
option to use DIY hardware power button to boot to TWRP recovery (see FAQ)
initial support for IR modules and remotes (tested with TSOP4838)
update to Linux 4.19.102 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 January 2020 (merged)
22.12. changelog:
update to MESA 19.3.1 and latest upstream versions of minigbm gralloc, drm_hwcomposer, and libdrm
set default resolution using a configuration file (see FAQ)
add vendor init library to set serial number, revision, and resolution properties
add health HAL to fake battery/charging
add script to enable audio through 3.5mm jack (see FAQ)
add initial support for RTC hardware (tested with DS3231)
update to Linux 4.14.160 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 December 2019 (merged)
27.6. changelog:
initial LineageOS 16.0 build
hardware accelerated graphics (thanks to brobwind for putting the final pieces together)
VC4 using Mesa 19.1 with drm_hwcomposer & minigbm gralloc
fix bluetooth on Pi 3 B+ (thanks to brobwind)
add initial support for booting from USB devices (see FAQ)
add support for DIY hardware power button (see FAQ)
update TWRP to 3.3.1-0
update to Linux 4.14.129 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 June 2019 (merged)
Previous builds:
AndroidFileHost

Thanks for the build. Going to try this out today. Is there any way to connect this to a PC as an android device (like someone would connect a phone to PC)?

sabaatworld said:
Thanks for the build. Going to try this out today. Is there any way to connect this to a PC as an android device (like someone would connect a phone to PC)?
Click to expand...
Click to collapse
Not using an USB cable if that's what you're asking.
ADB works over wifi and ethernet and you can use adb push/pull to transfer files to/from the device (or use an external thumb drive).

KonstaT said:
Not using an USB cable if that's what you're asking.
ADB works over wifi and ethernet and you can use adb push/pull to transfer files to/from the device (or use an external thumb drive).
Click to expand...
Click to collapse
Sad to hear that. Was hoping I could use this RPi as a cheap android device.

感謝 有個問題 有些APP會在開啟時改變螢幕的方向和尺寸 同時發送出權限請求 系統UI崩潰 配置config有辦法強制禁止對顯示器做任何更改嗎?
Thanks! There is a problem. Some apps will change the orientation and size of the screen when they are turned on. Send a permission request at the same time. System UI crashes. Is there a way to configure Config to forcibly disable any changes to the display?

che0033 said:
感謝 有個問題 有些APP會在開啟時改變螢幕的方向和尺寸 同時發送出權限請求 系統UI崩潰 配置config有辦法強制禁止對顯示器做任何更改嗎?
Thanks! There is a problem. Some apps will change the orientation and size of the screen when they are turned on. Send a permission request at the same time. System UI crashes. Is there a way to configure Config to forcibly disable any changes to the display?
Click to expand...
Click to collapse
What app are you using? Steps to reproduce the issue? Logcat?

Hi I wanted to ask if you plan to add support for USB? I mean to raspberry act like phone when connected though USB to PC. It would make it perfect as phone replacement for using with android auto/AAgateway. Thanks for answer

Nice! I like seeing stuff like this for the pi. I remember having so much fun tinkering with building the oreo lineage15.1 rpi3 stuff a bit ago. Also, I heard something about someone trying to sell your builds of lineage for pie, so will the lineage-16.0 branch for some of the files on the github page for this not be released to the public? Either way, I appreciate your work a lot and hope you can continue as these are amazing!

darkchmatak said:
Hi I wanted to ask if you plan to add support for USB? I mean to raspberry act like phone when connected though USB to PC. It would make it perfect as phone replacement for using with android auto/AAgateway. Thanks for answer
Click to expand...
Click to collapse
No current plans.
My LineageOS 14.1 and 15.1 builds are fully open source so there's nothing stopping you/someone else doing this yourself. Shouldn't be any problem adding it here after that (I'll credit the author of course as always ).

turtleletortue said:
Nice! I like seeing stuff like this for the pi. I remember having so much fun tinkering with building the oreo lineage15.1 rpi3 stuff a bit ago. Also, I heard something about someone trying to sell your builds of lineage for pie, so will the lineage-16.0 branch for some of the files on the github page for this not be released to the public? Either way, I appreciate your work a lot and hope you can continue as these are amazing!
Click to expand...
Click to collapse
Wasn't trying - was and still is selling builds for $9! Nothing but builds from lineage-rpi sources with some apps bundled in. It was even promoted on Pi Foundation's own MagPi Magazine as his work and the article was brought to my attention. I spent _a lot_ of time on this last fall but couldn't really get anywhere. You can read about it e.g. here and here.
What makes this very problematic for Exton is that he is not complying with GPLv2 that Linux kernel is licensed under. GPLv2 obligates anyone distributing a binary to release a complete corresponding source code. Even if the only modification you make is stick your own name on other people's work...
That is exactly why I haven't published lineage-16.0 branches apart from the Linux kernel (https://github.com/lineage-rpi/android_kernel_brcm_rpi3/tree/lineage-16.0) as that is naturally also my legal obligation. You can't do Android with just the Linux kernel source, though. I was thinking about putting up a private GitLab project where I could share the source code with reputable developers who actually have some ideas how they want to improve what is already available. I know some companies are you using my previous LineageOS builds which is why I've licensed some stuff under non-commercial license in this one. They've been asking for private tech support but I still can't get as much as a donation even when promised.

KonstaT said:
Wasn't trying - was and still is selling builds for $9! Nothing but builds from lineage-rpi sources with some apps bundled in. It was even promoted on Pi Foundation's own MagPi Magazine as his work and the article was brought to my attention. I spent _a lot_ of time on this last fall but couldn't really get anywhere. You can read about it e.g. here and here.
What makes this very problematic for Exton is that he is not complying with GPLv2 that Linux kernel is licensed under. GPLv2 obligates anyone distributing a binary to release a complete corresponding source code. Even if the only modification you make is stick your own name on other people's work...
That is exactly why I haven't published lineage-16.0 branches apart from the Linux kernel (https://github.com/lineage-rpi/android_kernel_brcm_rpi3/tree/lineage-16.0) as that is naturally also my legal obligation. You can't do Android with just the Linux kernel source, though. I was thinking about putting up a private GitLab project where I could share the source code with reputable developers who actually have some ideas how they want to improve what is already available. I know some companies are you using my previous LineageOS builds which is why I've licensed some stuff under non-commercial license in this one. They've been asking for private tech support but I still can't get as much as a donation even when promised.
Click to expand...
Click to collapse
Wow that's really horrible! I can't believe that it still is happening. I love building stuff on my own(in fact, I was considering trying get any device I have laying around to work for a custom rom someone I semi-know started) and that really makes me sick that you have to deal with that. Hopefully you can get that situation resolved, because I'm sure that's a huge hit in the stomach for that to happen. Really sours the whole open-source nature of things when someone takes advantage of the community.

Hi. I am not capable in this kind of development. What would be involved in making the build detect a wired ethernet connection?

BarryHavenga said:
Hi. I am not capable in this kind of development. What would be involved in making the build detect a wired ethernet connection?
Click to expand...
Click to collapse
Nothing. Ethernet works just fine the last time I checked.
Edit. Tested again and it works fine on Pi 3 B at least. Android has no settings options for ethernet but a small statusbar icon appears when you're connected using ethernet.

This is the best implementation of Android on pi till date. Super smooth no more random force close and app not responding.
Note : I have not installed gapps.
@konsta Any chance of running the Android in 1080p instead of 720p
Can some one suggest a remote control Android app which controls raspberry pi. I know lot of wireless mouse available in the market.
Right now Im using a wired mouse I have to go near to tv every time for controlling

reversegear said:
@konsta Any chance of running the Android in 1080p instead of 720p
Click to expand...
Click to collapse
You can try editing debug.drm.mode.force property in /system/build.prop and see how it goes (also change display density property or display size from display settings). Already struggling with the limited amount of RAM so this is likely going to affect performance.

Hi @KonstaT, is it possible to dual boot your build using PINN (Noobs)?.
Thanks for your efforts!

anthony24x said:
Hi @KonstaT, is it possible to dual boot your build using PINN (Noobs)?.
Thanks for your efforts!
Click to expand...
Click to collapse
You need to contact procount who is developing PINN and ask him. Some time ago he said that he had some problem with adding LineageOS 16.0 support but I don't know about the current status.
Generally speaking I don't recommend using anything else than the latest build from my site. There was PINN support for some previous LineageOS versions but they were never updated and quickly fell out of date. Not that there's currently any plans for any LineageOS 16.0 updates, though...

Okay I see, thanks anyway.
Kind regards

Related

[DEV][ROM][UNOFFICIAL] LineageOS 14.1 (Android 7.1.2) for Raspberry Pi 3 B

Here’s my build of LineageOS 14.1 for Raspberry Pi 3 Model B. It is unofficial and unsupported by the LineageOS team. It’s for advanced users only.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
https://konstakang.com/devices/rpi3/CM14.1/
lineage-14.1-20180817-UNOFFICIAL-KonstaKANG-rpi3.zip
https://www.androidfilehost.com/?fid=1322778262903982504
md5:affa35dd70b51e4b70c9acb996f7304b
Sources:
lineage-rpi
Thanks:
peyo-hd and everyone who’s contributed to android-rpi
LineageOS team & everyone who’s been working on CM14.1
How to install:
Follow the official Raspberry Pi instructions for writing the image to the SD card (Linux, Mac, Windows).
FAQ:
Q: I can’t find developer options, why?
A: Settings -> About phone -> Click ‘Build number’ several times
Q: I don’t have reboot options in power menu, why?
A: Settings -> Developer options -> Advanced restart
Q: I have no root, why? What is that hashtag on my status bar?
A: You need enable root access under Settings -> Developer options -> Root access. Root management is now integrated as part of LineageOS’ Privacy Guard and you can manage per app permissions under Settings -> Developer options -> Manage root access. You’ll have a persistent notification in the status bar when you’re running an app that uses root permissions.
Q: I have official 7” LCD display and touchscreen. What should I do?
A: Execute following commands in ‘adb shell’/serial console/terminal (you can enable built-in terminal app from Settings -> Developer options -> Local terminal) and reboot your device:
Code:
su
rpi3-display.sh
Q: Settings -> Storage shows xx GB used by system. There’s unallocated space on my sdcard. What should I do?
A: This is a 4 GB image, remaining space on your sdcard will remain unallocated. Settings app shows unallocated space as used by system which in reality it is not. You can use e.g. GParted and extend /data partition (/dev/block/mmcblk0p3) to cover the unallocated space. Resizing the partition manually will break support for encrypting /data. Format /data in TWRP recovery (Wipe->Format data) after resizing to leave required space for crypto footer.
Q: Raspberry Pi doesn’t have power button, how do I power off/reboot my device?
A: Following keyboard keys work as Android buttons: F1 = Home, F2 = Back, F3 = Multi-tasking, F4 = Menu, F5 = Power, F11 = Volume down, and F12 = Volume up. You can also use one of many third party reboot applications.
Q: How to boot to TWRP recovery?
A: There’s currently no proper way to boot between Android and TWRP, but this can achieved by renaming the ramdisk you want to boot. Execute following commands in ‘adb shell’/serial console/terminal (you can enable built-in terminal app from Settings -> Developer options -> Local terminal) and reboot your device:
Code:
su
rpi3-recovery.sh
If mouse cursor doesn’t appear, try replugging your mouse.
Q: How to boot out of TWRP recovery?
A: Flash my recovery2boot zip in TWRP.
Q: How to install Google apps?
Download open_gapps-arm-7.1-pico-xxxxxxxx.zip and save it to your device’s internal storage or use an external USB drive
Boot to TWRP recovery (see FAQ)
Install open_gapps-arm-7.1-pico-xxxxxxxx.zip from your selected storage
Wipe->Factory reset!
Boot out of recovery (see FAQ)
Merged commits not mentioned in the changelog.
17.8. changelog:
include TWRP 3.2.3-0 custom recovery (see FAQ how to boot)
fix Gallery app crashing (and likely various third party apps as well)
add support for encrypting the device
merge AOSP kernel/common android-4.4-n branch to have proper Android Nougat kernel
update to Linux 4.4.148 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 August 2018 (merged)
15.6. changelog:
add support for USB webcams (UVC) with third party USB webcam apps
default to noop I/O scheduler
update to Linux 4.4.137 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 June 2018 (merged)
15.4. changelog:
update audio HAL (fix USB microphone, etc)
add support for external USB GPS dongles (1546:01a7 U-Blox AG, etc - GPS dongle must be plugged-in while booting the device)
update to Linux 4.4.127 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 April 2018 (merged)
18.1. 2018 changelog:
add support for I2C devices
enable Android low-RAM configuration
add lights HAL to control display brightness from Android on offical RPI display (version 1.1)
update to Linux 4.4.112 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 January 2018 (merged)
17.11. changelog:
fix wifi reconnect on boot (thanks to Google)
update to Linux 4.4.97 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
patch recently disclosed BlueBorne and KRACK vulnerabilities (merged)
Android security patch level: 5 October 2017 (merged)
10.8. changelog:
update to Linux 4.4.80 kernel
merge AOSP kernel/common android-4.4 branch to have proper Android kernel
enable sdcardfs
add BFQ i/o scheduler and enable it by default
Jelly browser (merged)
Android security patch level: 5 August 2017 (merged)
16.4. changelog:
add support for wifi tethering
add support for Widevine DRM
improve Play Store compatibility
Android 7.1.2 (merged)
Android security patch level: 5 April 2017 (merged)
11.4. changelog:
initial relase
Previous builds:
AndroidFileHost
I cannot boot out of recovery after installing Gapps in TWRP. When I run rpi3-recovery.sh boot I got Segmentation Fault error. Please help. Thanks
Project999 said:
I cannot boot out of recovery after installing Gapps in TWRP. When I run rpi3-recovery.sh boot I got Segmentation Fault error. Please help. Thanks
Click to expand...
Click to collapse
Please read the FAQ! It doesn't say to run the same script, it says to flash recovery2boot zip in TWRP.
I'm aware of the segfault.
Ok, I was doing both ans will only flash the zip file next try.
Yes. It worked this time after only flashing the recovery2boot zip file. Thank you.
Its possible to update ROM via recovery?
laharl_22 said:
Its possible to update ROM via recovery?
Click to expand...
Click to collapse
No, not currently. Partition structure (especially boot partition) on this device is different than on Android devices usually (well, as Raspberry is not an Android device to begin with). It would require some quite significant modifications to LineageOS build system to build recovery flashable ROM zips for this device (it's all open source so you're welcome to have a crack at it). There's also no proper way to cold boot (from power off) to recovery which makes it less useful than on other devices. I only included TWRP recently and it's currently mostly just used for installing gapps.
KonstaT said:
No, not currently. Partition structure (especially boot partition) on this device is different than on Android devices usually (well, as Raspberry is not an Android device to begin with). It would require some quite significant modifications to LineageOS build system to build recovery flashable ROM zips for this device (it's all open source so you're welcome to have a crack at it). There's also no proper way to cold boot (from power off) to recovery which makes it less useful than on other devices. I only included TWRP recently and it's currently mostly just used for installing gapps.
Click to expand...
Click to collapse
So no way for updating ROM without loose data?
laharl_22 said:
So no way for updating ROM without loose data?
Click to expand...
Click to collapse
No, not currently and who said there was going to be any updates.
Well, you can actually restore your previous /data partition in TWRP after you've installed a new image.
Sorry, double post.
Hi.
Is there a GPIO support? Everything is working great, but I build it into my car, and I have some pushbuttons connected. I would like to use it for opening apps or shutdown etc. Any ideas? couldn't find anything on google? Thanks
ulfdogg said:
Hi.
Is there a GPIO support? Everything is working great, but I build it into my car, and I have some pushbuttons connected. I would like to use it for opening apps or shutdown etc. Any ideas? couldn't find anything on google? Thanks
Click to expand...
Click to collapse
Yes, that should be possible but you need to do a little work for that.
4.4 kernel used in LineageOS 14.1 doesn't have gpio-key overlay (https://github.com/raspberrypi/linux/commit/7bc9c88a0eb043c5387a23d4ade23359749398e0) but I have already enabled KEYBOARD_GPIO that is also needed for this. So you need to build that overlay, copy it to device, and configure it in config.txt depending on what GPIO pins you're using. There's also another similar approach (different overlay) that's been reported working. https://stackoverflow.com/questions/50224010/using-gpio-keys-interrupt-to-wake-up-screen-on-rpi3
Does this build support 3b+?If not,how to ?
zhengyw said:
Does this build support 3b+?If not,how to ?
Click to expand...
Click to collapse
No, you can use LineageOS 15.1 build instead.
This build uses Linux 4.4 kernel and Broadcom added support for 3B+ only on later kernel versions (4.9 and 4.14). 4.4 is actually the newest that Android Nougat supports (https://android.googlesource.com/kernel/common/) and there's some network issues using newer ones. 4.9 is the newest for Oreo and 4.14 for Pie. So the Linux kernel in LineageOS 15.1 is actually too new for the Android version. There's no major changes between Oreo and Pie kernels, though.
Android kernel versions lag behind mainline because chipset manufacturers (Qualcomm, etc) need to make significant modifications to support their hardware. Android devices usually stay with the Linux kernel version they initially shipped with so there also needs to be quite long support time (4.4 is still supported with Pie).
KonstaT said:
No, you can use LineageOS 15.1 build instead.
This build uses Linux 4.4 kernel and Broadcom added support for 3B+ only on later kernel versions (4.9 and 4.14). 4.4 is actually the newest that Android Nougat supports (https://android.googlesource.com/kernel/common/) and there's some network issues using newer ones. 4.9 is the newest for Oreo and 4.14 for Pie. So the Linux kernel in LineageOS 15.1 is actually too new for the Android version. There's no major changes between Oreo and Pie kernels, though.
Android kernel versions lag behind mainline because chipset manufacturers (Qualcomm, etc) need to make significant modifications to support their hardware. Android devices usually stay with the Linux kernel version they initially shipped with so there also needs to be quite long support time (4.4 is still supported with Pie).
Click to expand...
Click to collapse
Thank you..So I have to wait till los 15.1 go stable
Hi, thanks for this build, I might have done something wrong as I can't past the setup wizard, after security setup it comes back to lineageOS startup screen and the begin button to start again the setup wizard
s1lex said:
Hi, thanks for this build, I might have done something wrong as I can't past the setup wizard, after security setup it comes back to lineageOS startup screen and the begin button to start again the setup wizard
Click to expand...
Click to collapse
I've heard about this but can't reproduce it myself and I haven't seen any logs (logcat). You could try using another faster sdcard. Some people have also removed the SetupWizard apk from the image manually.
Hi there,
Thanks for amazing work!
The only issue I'm experiencing is some flickering in graphic heavy and full screen apps. Am I doing something wrong or it's a known issue?
I just noticed that it's happening more when I use: "dtoverlay=vc4-fkms-v3d,cma-256"
But with dtoverlay=vc4-kms-v3d,cma-256 composite video output is not there. Any solutions?

[DEV][ROM][UNOFFICIAL] LineageOS 17.1 (Android 10) for Raspberry Pi 3 B and B+

Here’s my build of LineageOS 17.1 for Raspberry Pi 3 Model B and Model B+. It is unofficial and unsupported by the LineageOS team. It’s for advanced users only.
Important! This image includes parts that are licensed under non-commercial license (Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International). You may use this build freely in personal/educational/etc use. Commercial use is not allowed with this build!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
https://konstakang.com/devices/rpi3/LineageOS17.1/
lineage-17.1-20201108-UNOFFICIAL-KonstaKANG-rpi3.zip
https://www.androidfilehost.com/?fid=10763459528675579938
md5:2f0d503a5bbea5a4e15fbec22d767aff
Working:
Audio (HDMI, 3.5mm jack, USB microphones, bluetooth speakers/headsets, etc)
Audio DAC (using PCM512x DACs e.g. Hifiberry DAC+)
Bluetooth
Camera (using official Pi camera modules & UVC USB webcams)
GPIO
GPS (using external USB modules e.g. U-Blox 7)
Ethernet
Hardware accelerated graphics (VC4)
HDMI display
I2C
IR remotes (using external GPIO IR modules e.g. TSOP4838)
RTC (using external GPIO I2C modules e.g. DS3231)
Serial console (using external GPIO serial console adapters e.g. PL2303)
SPI
Touchscreen/multi-touch (USB touchscreens, Waveshare SPI touchscreens, official 7" touchscreen using SwiftShader software renderer)
USB (mouse, keyboard, storage, etc)
Wifi
Wifi tethering
Not working:
Hardware video decoding & encoding (software decoding & encoding works)
Issues:
SELinux is in permissive mode
and more…
Sources:
kernel
Thanks:
Peter Yoon and everyone who has contributed to android-rpi
brobwind for graphics and bluetooth fixes
Eric Anholt for VC4 graphics driver
Google for Android Things platform
Android-x86 project
LineageOS team & everyone who has contributed to LineageOS 17.1
How to install:
Follow the official Raspberry Pi instructions for writing the image to the SD card (Linux, Mac, Windows).
FAQ:
FAQ is getting quite long and difficult to maintain in several different places. You can find the always up-to-date FAQ here:
https://konstakang.com/devices/rpi3/LineageOS17.1/
Merged commits not mentioned in the changelog.
8.11. changelog:
initial device settings for various Raspberry Pi specific options (Settings -> System -> Advanced settings)
audio device option (HDMI/3.5mm jack/audio DAC)
display options (graphics drivers, display resolution, display rotation)
options for IR remote, hardware keys, and RTC
simplify booting to/out of TWRP recovery (see FAQ)
improve support for booting from USB devices (see FAQ, thanks to maxwen)
improve support for RTC & IR remotes (see FAQ)
add more options for rotating touch input on Waveshare SPI (ADS7846) touchscreens (thanks to mikenon)
allow switching display off with power button
map right mouse button to back key
update to TWRP 3.4.0-1
update to Mesa 20.2.2 and latest upstream version of drm_hwcomposer
update to Linux 4.19.155 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 November 2020 (merged)
13.8. changelog:
bring back forced landscape orientation for portrait apps
bring back support for running scripts from /system/etc/init.d/
read resolution from /boot/resolution.txt
fix issue with drm video playback
initial support for SSH server
update Mesa to 20.1.5
update to Linux 4.19.139 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 August 2020 (merged)
27.7. changelog:
initial LineageOS 17.1 build
hardware accelerated graphics
VC4 using Mesa 20.1.4 with drm_hwcomposer & minigbm gralloc
1280x720 resolution
update TWRP to 3.4.0-0
update to Linux 4.19.134 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 July 2020 (merged)
Previous builds:
AndroidFileHost
I have tried this build in my raspberry pi 3b+ and the audio is not working what am i doing wrong can anybody help me please.
Am I right, that pi 3 only has HDMI 1.4 (1080P)? Will this ROM (or the one for pi 4) will get to a state where it can be used as a Android TV box without a hassle or has this project simply other goals in mind? I'm asking cause I think most TV boxes are not good and outdated and Shield TV is overpriced as there is no serious competition.. I'm also not very satisfied with my mi box s and would love to replace it with one of my pi's..
Amazon Prime Video and Netflix
Hi,
I tested this with Amazon Prime Video: It works but only online.
When you start offline a downloaded movie you will receive a "offline licence missing" error. A short moment beeing online can skip this for this prime session.
With netflix I get an hardware error, no idea whats wrong there.
Both installed from aptoide.
depace83 said:
I have tried this build in my raspberry pi 3b+ and the audio is not working what am i doing wrong can anybody help me please.
Click to expand...
Click to collapse
HDMI audio is used by default. Your display needs to report it supports audio of course. Please read the FAQ if you want to use 3.5mm audio jack instead.
TacoLoco said:
Am I right, that pi 3 only has HDMI 1.4 (1080P)? Will this ROM (or the one for pi 4) will get to a state where it can be used as a Android TV box without a hassle or has this project simply other goals in mind? I'm asking cause I think most TV boxes are not good and outdated and Shield TV is overpriced as there is no serious competition.. I'm also not very satisfied with my mi box s and would love to replace it with one of my pi's..
Click to expand...
Click to collapse
Pi 3 doesn't have enough memory to provide decent user experience with Android TV. There's an Android TV build available for the Pi 4.
ralphffm44 said:
Hi,
I tested this with Amazon Prime Video: It works but only online.
When you start offline a downloaded movie you will receive a "offline licence missing" error. A short moment beeing online can skip this for this prime session.
With netflix I get an hardware error, no idea whats wrong there.
Both installed from aptoide.
Click to expand...
Click to collapse
There's some drm video issues that should be fixed if/when there's another release. Netflix is reported working with LineageOS 16.0 so I'd expect it to work here eventually as well. It's been reported that there's some playback issues with Amazon Prime video.
Raspberry Pi is not an Android device to begin with so this build doesn't pass Google's SafetyNet because lack of certification. Many secure apps (banking, protected video content, etc) check the SafetyNet status.
New build.
https://konstakang.com/devices/rpi3/LineageOS17.1/
-bring back forced landscape orientation for portrait apps
-bring back support for running scripts from /system/etc/init.d/
-read resolution from /boot/resolution.txt
-fix issue with drm video playback
-initial support for SSH server
-update Mesa to 20.1.5
-update to Linux 4.19.139 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
-Android security patch level: 5 August 2020 (merged)
A: Warning, installing gapps slows things down especially on low-end devices with limited amount of RAM such as this one. I would strongly recommend against installing Google Apps on this device. Raspberry Pi 3 doesn't have enough memory to provide decent user experience with Google Apps.
Click to expand...
Click to collapse
You're definitely not kidding there! I installed the nano package before reading this warning and it slowed down to the point that it was unusable! I removed the SD card, started over, and installed the pico. It's still slower with the pico than with no gapps, but it's usable.
Thanks for your work on this! Now I just wish I had a pi 4 to run the Android TV version
KonstaT said:
New build.
https://konstakang.com/devices/rpi3/LineageOS17.1/
Click to expand...
Click to collapse
Hi! Thanks for the great job here! I did notice however 2 issues:
- I couldn't access Developer options by multiple clicks on build id
- question: anyway to force 1080p resolution instead of 720p? It looks odd on my 40inch tv with this huge black frame around it
unster said:
Hi! Thanks for the great job here! I did notice however 2 issues:
- I couldn't access Developer options by multiple clicks on build id
- question: anyway to force 1080p resolution instead of 720p? It looks odd on my 40inch tv with this huge black frame around it
Click to expand...
Click to collapse
Please read the FAQ on how to enable developer options.
How to change resolution is also covered in the FAQ (edit /boot/resolution.txt). Pi 3 has a very limited amount of memory and increasing the resolution will also affect overall performance. You might even need to increase CMA allocation in /boot/cmdline.txt if you use a larger resolution. Something wrong with your TV's settings though if you see any frame around it with 720p.
KonstaT said:
Pi 3 doesn't have enough memory to provide decent user experience with Android TV. There's an Android TV build available for the Pi 4.
Click to expand...
Click to collapse
Hi sorry if off topic for this thread, I couldn't find a thread specific to Android TV. My question is which RAM variant of Pi 4 is recommended for your Android TV build?
Thanks
Trubbs said:
Hi sorry if off topic for this thread, I couldn't find a thread specific to Android TV. My question is which RAM variant of Pi 4 is recommended for your Android TV build?
Thanks
Click to expand...
Click to collapse
The more the better of course. Price difference is not that big so I wouldn't go for less than 4gb.
OS slow
Hi! I'm using a Raspberry Pi 3 B+, installed the lastest 17.1 version, Gapps and the flashed rpi-resize as I'm using a 32 sd. But the apps are really slow, I cannot browse anything on Google because when I write the system freeze. Is there any way to fix this? Can this be dua a bad sd card?
Do I format the SD as NTFS or Fat32 beforehand?
Neitroyint said:
Hi! I'm using a Raspberry Pi 3 B+, installed the lastest 17.1 version, Gapps and the flashed rpi-resize as I'm using a 32 sd. But the apps are really slow, I cannot browse anything on Google because when I write the system freeze. Is there any way to fix this? Can this be dua a bad sd card?
Click to expand...
Click to collapse
Storage speed certainly affects overall performance. At least class 10 sdcard is recommended with this build.
Pi 3 is extremely limited with the amount of RAM available. Like I've commented in the FAQ, I'd strongly recommend against installing gapps with this build.
psydex said:
Do I format the SD as NTFS or Fat32 beforehand?
Click to expand...
Click to collapse
It really doesn't matter what you have on the sdcard beforehand. Writing the OS image will overwrite your sdcard and create required partition structure that is needed to run Android.
New build. A lot of new stuff in this one! Could be the final Pi 3 build. I think it's time to retire this little thing.
https://konstakang.com/devices/rpi3/LineageOS17.1/
initial device settings for various Raspberry Pi specific options (Settings -> System -> Advanced settings)
audio device option (HDMI/3.5mm jack/audio DAC)
display options (graphics drivers, display resolution, display rotation)
options for IR remote, hardware keys, and RTC
simplify booting to/out of TWRP recovery (see FAQ)
improve support for booting from USB devices (see FAQ, thanks to maxwen)
improve support for RTC & IR remotes (see FAQ)
add more options for rotating touch input on Waveshare SPI (ADS7846) touchscreens (thanks to mikenon)
allow switching display off with power button
map right mouse button to back key
update to TWRP 3.4.0-1
update to Mesa 20.2.2 and latest upstream version of drm_hwcomposer
update to Linux 4.19.155 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 November 2020 (merged)
boot loop on pi 3b+ need help
Pi gets stuck in a boot loop(i get the lineage os logo and then it restarts) after flashing any of the lineage os roms. I haven't flash gapps yet as they need to be done after the initial OS setup. Tried different cables and power adapters to no effect. Tried booting Raspberry Pi OS and that works.
Grizgeist said:
Pi gets stuck in a boot loop(i get the lineage os logo and then it restarts) after flashing any of the lineage os roms. I haven't flash gapps yet as they need to be done after the initial OS setup. Tried different cables and power adapters to no effect. Tried booting Raspberry Pi OS and that works.
Click to expand...
Click to collapse
Could be the same issue that's been previously discussed but can't say for sure without seeing logs.
https://github.com/lineage-rpi/android_kernel_brcm_rpi/issues/6
KonstaT said:
Could be the same issue that's been previously discussed but can't say for sure without seeing logs.
Click to expand...
Click to collapse
Followed your link and turned off wifi in the config file. It boots now but goes back into a boot loop when I install the gapps(tv stock).

[DEV][ROM][UNOFFICIAL] LineageOS 17.1 (Android 10) for Raspberry Pi 4 B

Here’s my build of LineageOS 17.1 for Raspberry Pi 4 Model B and Pi 400. It is unofficial and unsupported by the LineageOS team. It’s for advanced users only. Pi 4 model with at least 2GB of RAM is required to run this build.
Important! This image includes parts that are licensed under non-commercial license (Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International). You may use this build freely in personal/educational/etc use. Commercial use is not allowed with this build!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
https://konstakang.com/devices/rpi4/LineageOS17.1/
There is also Android TV version available.
https://konstakang.com/devices/rpi4/LineageOS17.1-ATV/
Working:
Audio (HDMI, 3.5mm jack, USB microphones, bluetooth speakers/headsets, etc)
Audio DAC (using GPIO DACs e.g. Hifiberry DAC+)
Bluetooth
Camera (using official Pi camera modules & UVC USB webcams)
GPIO
GPS (using external USB modules e.g. U-Blox 7)
Ethernet
Hardware accelerated graphics (V3D)
HDMI display
I2C
IR remotes (using external GPIO IR modules e.g. TSOP4838)
RTC (using external GPIO I2C modules e.g. DS3231)
Sensors (using external GPIO I2C modules e.g. MPU6050, LSM6DS3 & LSM303DLHC accelerometer/gyroscope/magnetometer)
Serial console (using external GPIO serial console adapters e.g. PL2303)
SPI
Touchscreen/multi-touch (USB touchscreens, Waveshare SPI touchscreens, official 7" touchscreen using SwiftShader software renderer)
USB (mouse, keyboard, storage, etc)
USB-C (ADB, MTP, PTP, USB-tethering)
Wifi
Wifi tethering
Not working:
Hardware video decoding & encoding (software decoding & encoding works)
Issues:
Stock camera app is not working - many third party camera apps seem to work
SELinux is in permissive mode
and more…
Sources:
kernel
Thanks:
Peter Yoon and everyone who has contributed to android-rpi
brobwind for bluetooth fixes
Roman Stratiienko and GloDroid project for graphics fixes
Eric Anholt for V3D graphics driver
Maxime Ripard for Pi 4 KMS driver
Google for Android Things platform
Android-x86 project
LineageOS team & everyone who has contributed to LineageOS 17.1
How to install:
Follow the official Raspberry Pi instructions for writing the image to the SD card (Linux, Mac, Windows).
FAQ:
FAQ is getting quite long and difficult to maintain in several different places. You can find the always up-to-date FAQs here:
https://konstakang.com/devices/rpi4/LineageOS17.1/
https://konstakang.com/devices/rpi4/LineageOS17.1-ATV/
Merged commits not mentioned in the changelog.
22.1. 2021 changelog:
add support for sensors (MPU6050, LSM6DS3 & LSM303DLHC accelerometer/gyroscope/magnetometer on I2C)
add support for more serial GPS devices
add support for USB-C (ADB, MTP, PTP, USB-tethering)
enable bluetooth tethering
add settings option for mouse back button feature
update to TWRP 3.5.0_9.0-KonstaKANG
update to Mesa 20.3.3
update to Linux 5.4.91 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 January 2021 (merged)
20.11. changelog:
device settings improvements
fix audio device option
add CPU overclock option (make sure to take care of cooling if you decide to overclock!)
add SSH option and improve support for built-in SSH server (see FAQ)
fix wifi & bluetooth on Pi 400, should be fully functional now (Compute Module 4 support still untested)
support using HDMI:1 (fix HDMI audio in Android & fix display in TWRP)
fix touch input on Fondar USB touchscreen (thanks to maxwen)
update to Linux 5.4.77 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
8.11. changelog:
initial device settings for various Raspberry Pi specific options (Settings -> System -> Advanced settings)
audio device option (HDMI/3.5mm jack/audio DAC)
display options (graphics drivers, display resolution, display rotation)
options for IR remote, hardware keys, and RTC
fix wrong color format used in some games (thanks to Roman Stratiienko)
simplify booting to/out of TWRP recovery (see FAQ)
improve support for booting from USB devices (see FAQ, thanks to maxwen)
improve support for RTC & IR remotes (see FAQ)
add more options for rotating touch input on Waveshare SPI (ADS7846) touchscreens (thanks to mikenon)
allow switching display off with power button
map right mouse button to back key
initial support for Pi Compute Module 4 & Pi 400 (untested)
update to TWRP 3.4.0-1
update to Mesa 20.2.2 and latest upstream version of drm_hwcomposer
update to Linux 5.4.75 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 November 2020 (merged)
13.8. changelog:
bring back forced landscape orientation for portrait apps
bring back support for running scripts from /system/etc/init.d/
read resolution from /boot/resolution.txt
fix issue with color format in fullscreen 1080p videos
fix issue with drm video playback
initial support for SSH server
update Mesa to 20.1.5
update to Linux 5.4.58 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 August 2020 (merged)
27.7. changelog:
initial LineageOS 17.1 build
hardware accelerated graphics
V3D using Mesa 20.1.4 with drm_hwcomposer & gbm gralloc
1920x1080 resolution
update TWRP to 3.4.0-0
update to Linux 5.4.53 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 July 2020 (merged)
Previous builds:
AndroidFileHost
Thank you mate for the hard work. Keep on improving that beast.
:good: :good:
Thank you for your hard work but i'm having a problem my tv hdmi is constantly connecting and disconnecting over and over again while trying this build. I'm using micro usb to hdmi adapter for viewing.
Flashing display
I am having trouble with this build and it’s display abilities, as it makes my display “flash” as the screen goes black for half a second and it comes back.
Mic Volume low using Logitech C525
This is working great! The only issue I found is that when using a Logitech C525 webcam, the built-in mic level is really low. Do you know if there is any option to increase it? Thanks!
Hello, I installed the newest build, ran the recovery booting script and rebooted. It's now stuck at the rainbow like screen that's shown during boot and I don't see a way to fix this except reinstalling from scratch. Is there a quick fix for this?
Any possibility to get the TV out working? I'm building accessory box that runs Carplay for my car, and i can only weed analog signal to the OEM screen. On previous lineageOS the TV-out was functional, but i was unable to get the carplay usb-dongle to work. Now the system feels super snappy, the USB dongle works... But the TV-out wount work...
dgershko said:
Hello, I installed the newest build, ran the recovery booting script and rebooted. It's now stuck at the rainbow like screen that's shown during boot and I don't see a way to fix this except reinstalling from scratch. Is there a quick fix for this?
Click to expand...
Click to collapse
I had this same issue but fixed it by using a different HDMI port (the one closest to the USB-C port). Hope this helps!
dgershko said:
Hello, I installed the newest build, ran the recovery booting script and rebooted. It's now stuck at the rainbow like screen that's shown during boot and I don't see a way to fix this except reinstalling from scratch. Is there a quick fix for this?
Click to expand...
Click to collapse
Try switching the Display from HDMI 1 to HDMI 0. They are the ports on the PI.
Couldn't boot in twrp recovery
When I try to go into recovery it stuck at boot screen ! I am using raspberry pi 4, so I use "rpi4-recovery.sh" then try to reboot and then it stuck at boot screen ( color full screen which come while we boot raspbian or any other os for raspberry pi).
Any specific reason for this version does not have bootable usb option? i see lineage os 16 version have way to boot from usb
I'm unable to connect to any WiFi network. I'm using this on the 4GB model, and it always shows me connecting but never connects. Can anyone help me?
kakekeke said:
Any possibility to get the TV out working? I'm building accessory box that runs Carplay for my car, and i can only weed analog signal to the OEM screen. On previous lineageOS the TV-out was functional, but i was unable to get the carplay usb-dongle to work. Now the system feels super snappy, the USB dongle works... But the TV-out wount work...
Click to expand...
Click to collapse
Please read the FAQ on how to switch to SwiftShader that is used in LineageOS 16.0 build by default. I doubt there will be support for analog video with hw accelerated graphics drivers.
ScorpionKing24 said:
When I try to go into recovery it stuck at boot screen ! I am using raspberry pi 4, so I use "rpi4-recovery.sh" then try to reboot and then it stuck at boot screen ( color full screen which come while we boot raspbian or any other os for raspberry pi).
Click to expand...
Click to collapse
Please read the two posts above yours. If that doesn't work see http://disq.us/p/2avnosx
gandhimaulik said:
Any specific reason for this version does not have bootable usb option? i see lineage os 16 version have way to boot from usb
Click to expand...
Click to collapse
Android 10 uses system as root as default which complicates USB boot because there's two fstabs that you need to edit. I'm not sure if I can come up with some clever solution that will be easy enough for average user. Meanwhile you can do this to boot from USB ( http://disq.us/p/2ayc760).
KonstaT said:
Please read the FAQ on how to switch to SwiftShader that is used in LineageOS 16.0 build by default. I doubt there will be support for analog video with hw accelerated graphics drivers.
Click to expand...
Click to collapse
Is there any way i can enable this in headless setup without serial connection? Any way to create script or something similar to sdcard that will make it work?
kakekeke said:
Is there any way i can enable this in headless setup without serial connection? Any way to create script or something similar to sdcard that will make it work?
Click to expand...
Click to collapse
ADB or built in terminal. You still need to reach Android UI to enable root access that is needed to make these changes to system. You can also ready the script and make the same changes manually after mounting the sdcard on your (Linux) computer.
New build.
https://konstakang.com/devices/rpi4/LineageOS17.1/
-bring back forced landscape orientation for portrait apps
-bring back support for running scripts from /system/etc/init.d/
-read resolution from /boot/resolution.txt
-fix issue with color format in fullscreen 1080p videos
-fix issue with drm video playback
-initial support for SSH server
-update Mesa to 20.1.5
-update to Linux 5.4.58 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
-Android security patch level: 5 August 2020 (merged)
How well would this work with a 13" -15" screen? I'm looking to make a home made tablet due to the fact as I get old seeing is not as easy as it used to be in bed.

[DEV][ROM][UNOFFICIAL] LineageOS 19 (Android 12L) for Raspberry Pi 4 B

Here’s my build of LineageOS 19 for Raspberry Pi 4 Model B, Pi 400, and Compute Module 4. It is unofficial and unsupported by the LineageOS team. It’s for advanced users only. Pi 4 model with at least 2GB of RAM is required to run this build.
Important! This image includes parts that are licensed under non-commercial license (Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International). You may use this build freely in personal/educational/etc use. Commercial use is not allowed with this build! You can contact me by email to discuss creating customized Android builds for commercial purposes.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
LineageOS 19 (Android 12L)
for Raspberry Pi 4
konstakang.com
There is also Android TV version available.
LineageOS 19 Android TV (Android 12L)
for Raspberry Pi 4
konstakang.com
Working:
Audio (HDMI, 3.5mm jack, USB microphones, bluetooth speakers/headphones, etc)
Audio DAC (using GPIO DACs e.g. Hifiberry DAC+)
Bluetooth (and bluetooth tethering)
Camera (using official Pi camera modules & UVC USB webcams)
GPIO
GPS (using external USB modules e.g. U-Blox 7)
Ethernet
Hardware accelerated graphics (V3D, OpenGL & Vulkan)
Hardware video decoding & encoding (H.265 decoding, H.264 decoding & encoding)
HDMI display (and HDMI-CEC)
I2C
IR remotes (using external GPIO IR modules e.g. TSOP4838)
RTC (using external GPIO I2C modules e.g. DS3231)
Sensors (using external GPIO I2C modules e.g. MPU6050, LSM6DS3, LSM303DLHC, BME280/BMP280, and APDS9930 accelerometer, gyroscope, magnetometer, temperature, pressure, humidity, ambient light, and proximity)
Serial console (using external GPIO serial console adapters e.g. PL2303)
SPI
Touchscreen/multi-touch (official 7" touchscreen, USB touchscreens, Waveshare SPI touchscreens)
USB (mouse, keyboard, storage, etc)
USB-C (ADB, MTP, PTP, USB tethering)
Wifi (and wifi tethering)
Issues:
Hardware video decoding performance varies depending on the selected decoder option and video resolution/bitrate/profile/container/etc
Camcorder (i.e. recording videos) & some third party camera apps don't work with official Pi camera modules (works with UVC USB webcams)
SELinux is in permissive mode
and more…
Sources:
kernel
Thanks:
Peter Yoon and android-rpi project
Roman Stratiienko and GloDroid project
AOSP reference board developers (dragonboard, hikey, yukawa)
E. Anholt for V3D graphics driver
Maxime Ripard for Pi 4 KMS driver
Android-x86 project
LineageOS team and everyone who has contributed to LineageOS 19
How to install:
Follow the official Raspberry Pi instructions for writing the image to the SD card.
If you’re running a recent build (20220114 or newer) you can also update to newer builds using TWRP flashable OTA packages. OTA updates pushed through the built-in Updater app are stored at /data/lineageos_updates/.
Download lineage-19.1-xxxxxxxx-UNOFFICIAL-KonstaKANG-rpi4-ota.zip and save it to your device’s internal storage or use an external USB drive
Boot to TWRP recovery (see FAQ)
Install lineage-19.1-xxxxxxxx-UNOFFICIAL-KonstaKANG-rpi4-ota.zip from your selected storage
(Flash Magisk/other add-ons you had previously installed)
Boot out of recovery (see FAQ)
Changes that are backed up and restored flashing OTAs:
Device specific settings changed using Settings -> System -> Raspberry Pi settings
Manual changes to /boot/resolution.txt and /boot/rc_keymap.txt
USB boot configuration in /boot/config.txt
User specific options in /boot/config_user.txt
GApps
Changes that are not backed up and restored flashing OTAs:
Manual changes to /boot/config.txt (and any other manual changes to /boot partition)
Magisk
FAQ:
FAQ is getting quite long and difficult to maintain in several different places. You can find the always up-to-date FAQs here:
https://konstakang.com/devices/rpi4/LineageOS19/
https://konstakang.com/devices/rpi4/LineageOS19-ATV/
Merged commits not mentioned in the changelog.
13.3. 2023 changelog:
H.265 hardware video decoding, H.264 hardware video decoding and encoding
FFmpeg 5.1.2 (thanks to John Cox for Raspberry Pi hw codecs support and Android-x86 for AOSP build patches)
implement codec2 plugin to integrate FFmpeg into Android multimedia framework (thanks to Michael Goffioul)
FFmpeg hevc_v4l2request hwaccel H.265 hw decoding (default), h264_v4l2m2m H.264 hw decoding (optional)
v4l2_codec2 H.264 hardware video decoding and encoding (default)
FFmpeg software decoders support
HDMI audio improvements
implement audio HAL that uses alsa directly to get rid off using alsa loopback for HDMI audio (thanks to nename0)
update alsa-lib and alsa-utils to v1.2.8
update to TWRP 3.7.0_11-0-KonstaKANG
update to Linux 5.10.169 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 February 2023 (merged)
23.9. changelog:
switch to clang kernel build
allow VNC input to wake the device
add /boot/config_user.txt for user specific options to backup/restore during OTAs
update to Mesa 22.1.7
update to Linux 5.10.144 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 September 2022 (merged)
11.8. changelog:
add option to restrict new USB connections
add option for left-handed mouse
include Raspberry Pi userland tools (vcgencmd, etc) and libdrm modetest
update to Mesa 22.0.5
update to Linux 5.10.135 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 August 2022 (merged)
11.5. changelog:
add support for Compute Module 4
fix HDMI/DAC audio device selection on CM4 & Pi 400 that don’t have 3.5mm audio jack
fix USB storage (Pi 400 as well?)
fix issue with webview/browser
add support for the RTC on the I/O board
use OTG mode for USB to support ADB, MTP, PTP, USB tethering on the micro-USB port on the I/O board
add support for APDS9930 ambient light/proximity sensor
update to TWRP 3.6.1_11-1-KonstaKANG
update to Mesa 22.0.3
update to Linux 5.10.112 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 May 2022 (merged)
7.4. changelog:
automatically set density based on display resolution
add option to disable tablet taskbar and show traditional navigation bar instead
update to TWRP 3.6.1_11-0-KonstaKANG
update to Mesa 22.0.1
update to Linux 5.10.109 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 April 2022 (merged)
14.3. changelog:
Android 12L / LineageOS 19.1
update to TWRP 3.6.0_11-2-KonstaKANG
update to Mesa 22.0.0
update to Linux 5.10.102 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 March 2022 (merged)
11.2. changelog:
also available as OTA package
various drm_hwcomposer updates e.g. support for dual-HDMI displays and headless mode (thanks to Roman Stratiienko)
update to Mesa 21.3.6
update to Linux 5.10.99 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 February 2022 (merged)
14.1. 2022 changelog:
add new options to Raspberry Pi settings (force rotation & CPU governor)
fix GPS issue caused by incomplete location data
small improvements to HDMI audio support
prepare for OTAs
update to TWRP 3.6.0_11-1-KonstaKANG
update to Mesa 21.3.4
update to Linux 5.10.90 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 January 2022 (merged)
16.12. changelog:
switch to Linux 5.10 kernel by default
fix VC4 HDMI audio with 5.10 kernel (3.5mm jack is now used by default so select the right HDMI device from the settings)
add support for the official 7" touchscreen display with hw accelerated graphics (enable configurations for the touchscreen from the settings)
minor brightness fixes for the official 7" display
add support for Pi camera modules using libcamera, preview & photos work - camcorder doesn't (thanks to Roman Stratiienko)
fix UVC USB webcams that use external camera HAL (camera needs to support MJPG format - preview, photos & camcorder works)
add option to enable currently very WIP H.264 hardware video decoding using v4l2_codec2 (enable experimental feature from the settings)
fix reboots related to Hotspot 2.0 networks/ANQP requests (see issue #6)
Vulkan 1.1 (thanks to people at Igalia for Vulkan 1.1 conformance and Roman Stratiienko for latest Mesa fixes)
update to Mesa 21.3.1
update to Linux 5.10.83 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 December 2021 (merged)
25.11. changelog:
add option to show virtual volume down, volume up, and power keys on navigation bar (requires reboot)
add option for old TCP-based ADB over network
show IP address and port for ADB/SSH/VNC options
update to TWRP 3.6.0_11-0-KonstaKANG
update to Mesa 21.3.0
update to Linux 5.4.161 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 November 2021 (merged)
Linux 5.10 kernel: (optional add-on)
various KMS driver improvements (DSI panel support, etc)
support for Pi camera modules using libcamera, preview & photos work - camcorder doesn’t (thanks to Roman Stratiienko)
option to test currently very WIP H.264 hardware video decoding using v4l2_codec2 (Settings -> System -> Advanced settings -> Hardware video decoding)
HDMI audio is not supported! (see issue #4651 & issue #4654)
new Raspberry Pi Android kernel bring-up based on AOSP android12-5.10-lts
update to Linux 5.10.81 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
4.11. changelog:
initial LineageOS 19.0 build
switch to codec2 software decoders/encoders
add support for BME280/BMP280 temperature/pressure/humidity sensors
add option to select HDMI-CEC device
drop old v1 camera HAL and use external camera HAL for UVC USB webcams (camera needs to support MJPG format)
update to TWRP 3.5.2_11-0-KonstaKANG
update to Mesa 21.2.5
new Raspberry Pi Android kernel bring-up based on AOSP android12-5.4-lts
update to Linux 5.4.156 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 October 2021 (merged)
Previous builds:
AndroidFileHost
The Android community is amazing.
Can I make a wish? If yes, I would be happy, if the system could sync time from the GPS-receiver. M y device has not always a network-connection ...
Spielmops
Spielmops said:
Can I make a wish? If yes, I would be happy, if the system could sync time from the GPS-receiver. M y device has not always a network-connection ...
Spielmops
Click to expand...
Click to collapse
That's not something I plan to support. And it's probably already possible using third party apps such as https://play.google.com/store/apps/details?id=org.swampsoft.gpstimesync
Using an external RTC device on the other hand is supported so I'd suggest getting one.
Thanks a lot, I will use that app.
Spielmops
Wow I didn't expect latest Android being supported on the Pie, thanks for the great work!
I have two small questions though :
Do you know how is support for microG? It doesn't cause any problem? (was wondering about casting videos for example)
I know it has been asked few times already, but now that Android 12 has been released are you confident it will be possible to have support for hardware acceleration soon? Would make a big difference to have a steady 1080p/60fps
bonswouar said:
Wow I didn't expect latest Android being supported on the Pie, thanks for the great work!
I have two small questions though :
Do you know how is support for microG? It doesn't cause any problem? (was wondering about casting videos for example)
Click to expand...
Click to collapse
MicroG requires a patch for signature spoofing that is not included in LineageOS for security reasons. I think this is also something that can be achieved using Magisk (which is now supported) but haven't looked into it.
bonswouar said:
I know it has been asked few times already, but now that Android 12 has been released are you confident it will be possible to have support for hardware acceleration soon? Would make a big difference to have a steady 1080p/60fps
Click to expand...
Click to collapse
I'm pretty confident it will work eventually. Soon(™) is also a relative term.
Short term goal is to get some proof of concept that stateful H.264 V4L2 dec/enc can work on Android on Pi 4. Just made some minor progress with v4l2_codec2 couple of days ago and got the dec/enc codec2 component to even do something in the first place. Not sure if the current issues I'm having are due to memory allocation or the codec component negotiating with the kernel driver. There's also still some hardcoded buffer sizes, etc that depend on the video resolution you're trying to dec/enc. Only real hardware that I'm aware that just recently has this working at least to some extent is dragonboard and John Stultz has tweeted some updates on the matter so check those out if you're interested.
Sorry if this wasn't the news you were looking for but things like this take time.
KonstaT said:
Short term goal is to get some proof of concept that stateful H.264 V4L2 dec/enc can work on Android on Pi 4.
Click to expand...
Click to collapse
And that didn't even take too long. \o/ But yes, H.264 V4L2 hardware decoding can work on Android on the Pi 4!
Something still getting messed up somewhere in the pipeline so the colors are not correct and there's a green tint on the bottom half of the playback.
https://www.dropbox.com/s/hlvcv23ejfpinn5/VID_20211108_194739.mp4?dl=0
KonstaT said:
And that didn't even take too long. \o/ But yes, H.264 V4L2 hardware decoding can work on Android on the Pi 4!
Something still getting messed up somewhere in the pipeline so the colors are not correct and there's a green tint on the bottom half of the playback.
https://www.dropbox.com/s/hlvcv23ejfpinn5/VID_20211108_194739.mp4?dl=0
Click to expand...
Click to collapse
That sounds like great news to me! Can't wait for the next updates
any solution for this build ? ... unstable.. mouse pointer keep on freezing .. and random restart
Usb dac no sound for spotify, deezer, tidal etc,, any solution plz help
I'm interested in this project congrats on your current work. I'm not super knowledgeable on video enc/Dec, I'm most interested in see how games play on this. How well would games play on this?
Anyone knows how to get the raspberry pi to work without a monitor. I installed the image but it is not connecting via ssh. I was able to use it with Raspberry Pi OS.
jeff862 said:
any solution for this build ? ... unstable.. mouse pointer keep on freezing .. and random restart
Click to expand...
Click to collapse
I can't reproduce such issues and haven't received other report either. Impossible to say without seeing any logs anyway.
General advice is to use proper sdcard (at least class 10) and power source (3A in case of Pi 4).
jeff862 said:
Usb dac no sound for spotify, deezer, tidal etc,, any solution plz help
Click to expand...
Click to collapse
Logcat? I recently tested my USB sound card and it works fine (both output & input). I'm not aware there being any changes how USB audio devices are handled in Android 12.
FL00DY said:
I'm interested in this project congrats on your current work. I'm not super knowledgeable on video enc/Dec, I'm most interested in see how games play on this. How well would games play on this?
Click to expand...
Click to collapse
What would hw video dec/enc have to do with gaming? It's used to offload decoding/encoding of e.g. H.264 videos to specific hardware.
There's tons of Android on Raspberry Pi gameplay videos on YouTube.
PratyushJayachandran said:
Anyone knows how to get the raspberry pi to work without a monitor. I installed the image but it is not connecting via ssh. I was able to use it with Raspberry Pi OS.
Click to expand...
Click to collapse
It's not possible to run without any HDMI device connected. You need to have something connected that reports EDID information. If you want to use this headless (e.g. remotely with SSH or VNC) and you can buy a dummy HDMI adapter.
Nice!
It seems this still uses an earlier kernel, so I guess that means no official touchscreen support (yet)?
EDIT: Ah, found the FAQ entry now. Gonna link it here for ease of access and in case others are curious as well: https://konstakang.com/devices/rpi4/LineageOS19/#comment-5598552752
Btw., is there an experimental build with 5.10 kernel? Or is there an (easy) way for a build-noob like me to try it out? I've been waiting for Android 12 for the Pi to try a car entertainment thing out, even tho I get a new car in a few days which doesn't require that anymore but I may do it for others still.
jeff862 said:
any solution for this build ? ... unstable.. mouse pointer keep on freezing .. and random restart
Click to expand...
Click to collapse
You are most likely experiencing the WiFi boot loop issue. If you disable wifi in config.txt and use ethernet that may solve the boot loop.
Konsta, is there any current way or possible future way to manually enter our WiFi details without allowing Lineage to perform it's search? The network search appears to be the instigator of boot loop issues.
Feedback: both my cheap webcams do not work. Magisk does its job. An USB-stick will not be ejected. Rotation control is not as easy as before ( I use a landscape screen). Total Commander sometimes needs 30 seconds to load the main screen (loading ...). Emergency call can not be disabled in the power-menu (you can uncheck it, but it stays)
Do you know, that the image comes "allready startet"?
The OS is so fare working. Good job! Thanks. It will not be my working OS, because I need the camera (dashcam), so I will observe your development
Spielmops
Excellent work. I played about with this a bit last night to see if I could run Zwift. My Rii I4 keyboard works fine using the 2.4GHz dongle but in Bluetooth mode I can only use the mousepad - odd, but not a huge problem since I still have the on-screen keyboard. BitGApps for Android 12 installed via TWRP and gave me a working Play Store, but Zwift was unavailable, so I blew it away and installed the Aurora Store APK. Once I had set up the spoofing correctly, Zwift installed and ran. Haven't tested it much but it seems at least as fast as under OmniROM when I apply my preferred overclocking config in config.txt.

[DEV][ROM][UNOFFICIAL] LineageOS 20 (Android 13) for Raspberry Pi 4 B

Here’s my build of LineageOS 20 for Raspberry Pi 4 Model B, Pi 400, and Compute Module 4. It is unofficial and unsupported by the LineageOS team. It’s for advanced users only. Pi 4 model with at least 2GB of RAM is required to run this build.
Important! This image includes parts that are licensed under non-commercial license (Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International). You may use this build freely in personal/educational/etc use. Commercial use is not allowed with this build! You can contact me by email to discuss creating customized Android builds for commercial purposes.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
LineageOS 20 (Android 13)
for Raspberry Pi 4
konstakang.com
There is also Android TV version available.
LineageOS 20 Android TV (Android 13)
for Raspberry Pi 4
konstakang.com
Working:
Audio (HDMI, 3.5mm jack, USB microphones, bluetooth speakers/headphones, etc)
Audio DAC (using GPIO DACs e.g. Hifiberry DAC+)
Bluetooth (and bluetooth tethering)
Camera (using official Pi camera modules & UVC USB webcams)
GPIO
GPS (using external USB modules e.g. U-Blox 7)
Ethernet
Hardware accelerated graphics (V3D, OpenGL & Vulkan)
Hardware video decoding & encoding (H.265 decoding, H.264 decoding & encoding)
HDMI display (and HDMI-CEC)
I2C
IR remotes (using external GPIO IR modules e.g. TSOP4838)
RTC (using external GPIO I2C modules e.g. DS3231)
Sensors (using external GPIO I2C modules e.g. MPU6050, LSM6DS3, LSM303DLHC, BME280/BMP280, and APDS9930 accelerometer, gyroscope, magnetometer, temperature, pressure, humidity, ambient light, and proximity)
Serial console (using external GPIO serial console adapters e.g. PL2303)
SPI
Touchscreen/multi-touch (official 7" touchscreen, USB touchscreens, Waveshare SPI touchscreens)
USB (mouse, keyboard, storage, etc)
USB-C (ADB, MTP, PTP, USB tethering)
Wifi (and wifi tethering)
Issues:
Hardware video decoding performance varies depending on the selected decoder option and video resolution/bitrate/profile/container/etc
Some third party camera apps don't work with official Pi camera modules (works with UVC USB webcams)
SELinux is in permissive mode
Encrypting userdata is not supported
and more…
Sources:
kernel
Thanks:
Roman Stratiienko and GloDroid project
Peter Yoon and android-rpi project
AOSP reference board developers (dragonboard, hikey, yukawa)
Android-x86 project
LineageOS team and everyone who has contributed to LineageOS 20
How to install:
Follow the official Raspberry Pi instructions for writing the image to the SD card.
You can also update to newer builds using TWRP flashable OTA packages. OTA updates pushed through the built-in Updater app are stored at /data/lineageos_updates/.
Download lineage-20.0-xxxxxxxx-UNOFFICIAL-KonstaKANG-rpi4-ota.zip and save it to your device’s internal storage or use an external USB drive
Boot to TWRP recovery (see FAQ)
Install lineage-20.0-xxxxxxxx-UNOFFICIAL-KonstaKANG-rpi4-ota.zip from your selected storage
(Flash Magisk/other add-ons you had previously installed)
Boot out of recovery (see FAQ)
Changes that are backed up and restored flashing OTAs:
Device specific settings changed using Settings -> System -> Raspberry Pi settings
Manual changes to /boot/resolution.txt and /boot/rc_keymap.txt
USB boot configuration in /boot/config.txt
User specific options in /boot/config_user.txt
GApps
Changes that are not backed up and restored flashing OTAs:
Manual changes to /boot/config.txt (and any other manual changes to /boot partition)
Magisk
FAQ:
FAQ is getting quite long and difficult to maintain in several different places. You can find the always up-to-date FAQs here:
https://konstakang.com/devices/rpi4/LineageOS20/
https://konstakang.com/devices/rpi4/LineageOS20-ATV/
Merged commits not mentioned in the changelog.
5.5. changelog:
add support for AV1 software video decoding using FFmpeg and dav1d
update to FFmpeg 6.0
update to libcamera master/v0.0.5
update to alsa-lib/alsa-utils v1.2.9
update to Mesa 23.0.3
update to Linux 5.15.106 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 May 2023 (merged)
21.3. changelog:
Android 13 QPR2
HDMI audio improvements
implement audio HAL that uses alsa directly to get rid off using alsa loopback for HDMI audio (thanks to nename0)
update alsa-lib and alsa-utils to v1.2.8
update to libcamera master/v0.0.4
fix camcorder (i.e. recording videos) with Pi camera modules
add support for Pi camera module v3 (untested)
use USB audio input for camcorder videos with the built-in camera application
update to FFmpeg 5.1.3
update to Mesa 22.3.7
update to Linux 5.15.94 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 March 2023 (merged)
14.2. changelog:
H.265 hardware video decoding, H.264 hardware video decoding and encoding
FFmpeg 5.1.2 (thanks to John Cox for Raspberry Pi hw codecs support and Android-x86 for AOSP build patches)
implement codec2 plugin to integrate FFmpeg into Android multimedia framework (thanks to Michael Goffioul)
FFmpeg hevc_v4l2request hwaccel H.265 hw decoding (default), h264_v4l2m2m H.264 hw decoding (optional)
v4l2_codec2 H.264 hardware video decoding and encoding (default)
FFmpeg software decoders support
update to Mesa 22.3.5
update to Linux 5.15.92 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 February 2023 (merged)
9.1. 2023 changelog:
Android 13 QPR1
fix pixel format on H.264 hardware video decoding
enable H.264 hardware video encoding
update to Mesa 22.3.2
update to Linux 5.15.78 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 January 2023 (merged)
9.11. changelog:
initial LineageOS 20 release
Vulkan 1.2 (thanks to people at Igalia for Vulkan 1.2 conformance and Roman Stratiienko for latest Mesa fixes)
fix Vulkan related issue on Chromium-based browsers
add support for virtualization
enable multi-gen LRU
update to TWRP 3.7.0_11-0-KonstaKANG
update to Mesa 22.2.3
new Raspberry Pi Android kernel bring-up based on AOSP android13-5.15-lts
update to Linux 5.15.74 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 November 2022 (merged)
Previous builds:
AndroidFileHost
Grey screen not booting.
HJRaptor said:
Grey screen not booting.
Click to expand...
Click to collapse
[DEV][ROM] AOSP (Android 13) for Raspberry Pi 4 B
Here’s my build of AOSP (Android 13) for Raspberry Pi 4 Model B, Pi 400, and Compute Module 4. It’s for advanced users only. Pi 4 model with at least 2GB of RAM is required to run this build. Important! Raspberry Pi hardware specific...
forum.xda-developers.com
Hi @KonstaT ,
Thanks for the ROM, it is great, how ever, how can I disable app drawer button to goes completely full screen?
I have already switched to Gesture navigation.
I did search the setting, but could not find one => Found it "System => Button:"
Thanks for the help.
Thanks for your work!
1. Maybe it's a lame question, but what about Netflix? Can it run with at least in 1080p?
2. I don't have atm any wireless remote/mouse/etc. Is there any app for my phone that I can use to navigate in the menus/apps on the Android/AndroidTV roms?
Homeye said:
Thanks for your work!
1. Maybe it's a lame question, but what about Netflix? Can it run with at least in 1080p?
2. I don't have atm any wireless remote/mouse/etc. Is there any app for my phone that I can use to navigate in the menus/apps on the Android/AndroidTV roms?
Click to expand...
Click to collapse
1. Due to Widevine L3 video playback is capped at standard definition on apps that provide DRM protected content.
2. You need input device of some sort of course. Mouse/keyboard/touchscreen on regular tablet UI Android builds - remote (USB remote, Bluetooth remote, IR remote, TV's remote using HDMI-CEC, arrow keys on your keyboard, etc) on Android TV. Google TV remote app (https://www.androidpolice.com/2021/09/27/hands-on-how-to-android-tv-new-remote/) might work on regions where Google TV is available and depending on the gapps you've install (I'm not aware of there currently being any Android TV 13 gapps). I haven't tested any third party remote applications but there seems to more than few.
I am an avid user of the Android app Tasker and it would be awesome if you and Joao (Tasker dev) got together and found a way for Tasker to use GPIO pins as contexts or outputs.
One of the issues listed is
SELinux is in permissive mode
I have an issue with my Google Chromecast with Google TV as it runs Android 10 which introduced a SELinux policy to stop the Android 'sendevent' command from working. Why do I need that? I'm integrating the stick into home assistant home automation
Android Debug Bridge
Instructions on how to integrate Android and Fire TV devices into Home Assistant.
www.home-assistant.io
and the default 'input' command (for an on-screen remote) is super slow... Worked with Android 9 but there's no way for me to go back to 9.
So if the above issue means SELinux is not 'active' and is not enforcing policies this could be a good thing and work for me using one of my Pi 4
What do you think?
duckredbeard said:
I am an avid user of the Android app Tasker and it would be awesome if you and Joao (Tasker dev) got together and found a way for Tasker to use GPIO pins as contexts or outputs.
Click to expand...
Click to collapse
I'm not a Tasker user so I'm not exactly sure what you mean by "contexts or outputs". AFAIK you can make Tasker execute shell scripts that you can use to control the GPIO.
backball said:
One of the issues listed is
SELinux is in permissive mode
I have an issue with my Google Chromecast with Google TV as it runs Android 10 which introduced a SELinux policy to stop the Android 'sendevent' command from working. Why do I need that? I'm integrating the stick into home assistant home automation
Android Debug Bridge
Instructions on how to integrate Android and Fire TV devices into Home Assistant.
www.home-assistant.io
and the default 'input' command (for an on-screen remote) is super slow... Worked with Android 9 but there's no way for me to go back to 9.
So if the above issue means SELinux is not 'active' and is not enforcing policies this could be a good thing and work for me using one of my Pi 4
What do you think?
Click to expand...
Click to collapse
Very possible but that's something you need to test yourself.
You can also install LineageOS on Google Chromecast with Google TV (https://wiki.oddsolutions.us/devices/sabrina/) and set SELinux permissive since you can also have root access.
@KonstaT
how can i add support for a 4g lte modem from waveshare? I just need the internet access and gps, no sms or phone
xhacks37 said:
@KonstaT
how can i add support for a 4g lte modem from waveshare? I just need the internet access and gps, no sms or phone
Click to expand...
Click to collapse
You can't without building Android from source and adding the necessary support for the hardware. If you want to build AOSP (or something AOSP-based) for Raspberry Pi, you can look into the Raspberry Vanilla source code (https://github.com/raspberry-vanilla) I've recently released.
My builds are configured as wifi only tablet so they don't even have Android telephony framework or drivers to support any modem hardware. I have builds (of older Android versions) that have support for Sixfab modem HAT and Quectel EC25. LTE data and SMS works fine. It's also possible to make/receive calls but in-call audio is not working. It's not something that I plan to include in public releases as practically no one has the hardware.
KonstaT said:
1. Due to Widevine L3 video playback is capped at standard definition on apps that provide DRM protected content.
2. You need input device of some sort of course. Mouse/keyboard/touchscreen on regular tablet UI Android builds - remote (USB remote, Bluetooth remote, IR remote, TV's remote using HDMI-CEC, arrow keys on your keyboard, etc) on Android TV. Google TV remote app (https://www.androidpolice.com/2021/09/27/hands-on-how-to-android-tv-new-remote/) might work on regions where Google TV is available and depending on the gapps you've install (I'm not aware of there currently being any Android TV 13 gapps). I haven't tested any third party remote applications but there seems to more than few.
Click to expand...
Click to collapse
Oh yeah, i totally forgot the official atv remote. Guess it's not working with the tablet version of the rom.
So, right now i'm downloading the 19.1 version, since the 20 isn't available with your link. Is there an other mirror for it that i can't find?
Edit: download links are working now
Can't find GApps-13.0-arm64-ATV-xxxxxxxx.zip mentioned in LineageOS 20 Android blog.
Also links in this post lead to OS 19 but OS 20 is mentioned:
Can you please tell where to dl aforementioned Gapps for OS 20 if they exist?
mavru said:
Can't find GApps-13.0-arm64-ATV-xxxxxxxx.zip mentioned in LineageOS 20 Android blog.
Also links in this post lead to OS 19 but OS 20 is mentioned:
View attachment 5766037
Can you please tell where to dl aforementioned Gapps for OS 20 if they exist?
Click to expand...
Click to collapse
There are no Android TV 13 GApps at the moment, flashing the 12 version is not working.
My question about that for the dev:
Can i use the atv13 ota zip to upgrade the atv12 rom with gapps to use the google services?
Homeye said:
Oh yeah, i totally forgot the official atv remote. Guess it's not working with the tablet version of the rom.
So, right now i'm downloading the 19.1 version, since the 20 isn't available with your link. Is there an other mirror for it that i can't find?
Edit: download links are working now
Click to expand...
Click to collapse
No, it's only for Android TV.
I added AndroidFileHost links as that seems to be working again (they've had tons of issues last couple weeks). This seems to generate enough traffic to get blocked on Google Drive every other day so that's not ideal either.
mavru said:
Can't find GApps-13.0-arm64-ATV-xxxxxxxx.zip mentioned in LineageOS 20 Android blog.
Also links in this post lead to OS 19 but OS 20 is mentioned:
View attachment 5766037
Can you please tell where to dl aforementioned Gapps for OS 20 if they exist?
Click to expand...
Click to collapse
I'm not aware that there is any Android TV 13 gapps packages available at the moment. There is for the regular tablet UI Android 13, though, which is also linked in the FAQ. I don't have anything to do with any gapps release so this is something you would need to ask where you generally get your gapps.
Homeye said:
There are no Android TV 13 GApps at the moment, flashing the 12 version is not working.
My question about that for the dev:
Can i use the atv13 ota zip to upgrade the atv12 rom with gapps to use the google services?
Click to expand...
Click to collapse
No, you need gapps for the right Android version in any case.
Updating 19->20 is not possible due to reasons stated in http://disq.us/p/2ru05g7
Greetings! I have a Raspberry Pi 400 and always wanted to run Android on it. After seeing a headline on a news site this week about this thread and Android 13 becoming available, I was delighted.
However, the instructions warn that it’s for advanced users only, which I am not. My main use for this would be IPTV and a handful of Android TV based streaming apps amongst various other APKs. Not working mentions hardware video decoding, does this mean something like TiviMate would not be working? Just trying to determine if a novice user like myself would be able to use this reliably
thank you!
edit - it seems I am late to the party and Android has been installable even previous to this, on a Raspberry Pi 400? Is that correct? If so, is there a reliable version you recommend that has a working Google Play store? I don’t mind earlier Android TV versions if needed! Thanks again
duckdown said:
Greetings! I have a Raspberry Pi 400 and always wanted to run Android on it. After seeing a headline on a news site this week about this thread and Android 13 becoming available, I was delighted.
However, the instructions warn that it’s for advanced users only, which I am not. My main use for this would be IPTV and a handful of Android TV based streaming apps amongst various other APKs. Not working mentions hardware video decoding, does this mean something like TiviMate would not be working? Just trying to determine if a novice user like myself would be able to use this reliably
thank you!
edit - it seems I am late to the party and Android has been installable even previous to this, on a Raspberry Pi 400? Is that correct? If so, is there a reliable version you recommend that has a working Google Play store? I don’t mind earlier Android TV versions if needed! Thanks again
Click to expand...
Click to collapse
Thanks, hadn't even noticed that this had made into XDA news!
Lack of hardware video decoding/encoding means that Pi's dedicated hardware for H.264/H.265 video dec/enc is not used but this is done on the CPU with software video dec/enc instead (some explanation here https://forum.xda-developers.com/t/...3-for-raspberry-pi-4-b.4481977/#post-87316981). Software video decoder normally manages to keep up 1080p30 videos just fine. This also depends on the video codec that is used. Some services (e.g. Youtube) have switched to using VP9 for which Pi doesn't even have hardware dec/enc to begin with. There's also some limitations with streaming services that provide DRM protected content (e.g. Netflix) due to Widevine L3, but that's another story. I don't see any specific reason the app mentioned wouldn't work but that's something you need to test yourself.
UI on all the Android TV releases looks pretty much the same. You probably don't even know what Android version you're running unless you go specifically looking for it in the settings. There could be some issues with HDMI audio on Android 12/13 builds that is not an issue on Android 11 (see e.g. http://disq.us/p/2r2wh1w). There's currently no GApps available Android TV 13, for Android TV 12 you only have MindTheGapps, as for Android TV 11 there's also option to use OpenGApps which gives you the Google's Android TV launcher as well. Choice is entirely your of course and GApps are not part of my releases in any case. You can see the list of all the available builds here (https://konstakang.com/devices/rpi4/).
Is it me or is there no place to download your copy of TWRP for this?

Categories

Resources