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

Search This thread

KonstaT

Senior Member
Jan 20, 2016
839
490
KonstaKANG.com
Its working now.. but i can't change the hwclock file.. after i hwclock -s -f /dev/rtc0 then hwclock it won't change.. it still on /dev/misc/rtc and everytime i create symlink to it, its gone after reboot..

Sorry, can't quite understand what you're trying to change and why. Why not just use the '-f /dev/rtc0' argument with hwclock?

You could add a script to /system/etc/init.d/ if you want to create your own symlinks (or read the time from rtc), etc on boot.
 
Last edited:

diaahussein

Member
Oct 22, 2007
48
35
Nope, regular gapps in different sizes are for regular Android builds and Android TV gapps are for Android TV builds.
I know that this is not planned to be a TV box but it would be nice to have the option
Does that mean that we can not install the TVstock GApps
Because i also got stuck in the boot animations for ever when i installed them
Is there any work around for this
While installing the PICO GAPP went very smooth
P.S. excellent work my friend
 
Last edited:

KonstaT

Senior Member
Jan 20, 2016
839
490
KonstaKANG.com
I know that this is not planned to be a TV box but it would be nice to have the option
Does that mean that we can not install the TVstock GApps
Because i also got stuck in the boot animations for ever when i installed them
Is there any work around for this
While installing the PICO GAPP went very smooth
P.S. excellent work my friend

You can install a different launcher if you want to tune this into something more TV friendly.

I see no reason to create builds with Android TV UI. It doesn't offer anything that you don't already have here. Actually it only has limited access to some hardware functionalities.
 
  • Like
Reactions: polfrank

HuTcHx

Member
Aug 11, 2010
16
0
Hello all,

quick question, I have installed lineage os, but I am getting some out of synch audio. Any idea how to fix that or some tips? :)
 

iruxx

Member
Apr 8, 2012
7
0
Does somebody know if a gsm module would work and you would be able to make calls or send SMS ?
 

A4Alpha

Member
Jun 24, 2020
18
32
Kudos to the creator, Hope to see it get more updates & optimizations.
 
Last edited:
Jun 29, 2019
32
7
Good Job! Running this version on my RPI3-B+, will there be any future builds with 1080p res? Happy 4th!!!

Good evening. iirc, Konstakang left a file called "resolution.txt" in the fat32 partition with the boot files in it. You can edit this to match the resolution of your monitor. Ex: my monitor is 1920 by 1080, so I'd change it to say 1920x1080 instead of 1280x720. I don't know if this messes up performance or anything, though. Happy 4th of July!
 

prguzman1978

Senior Member
Jul 5, 2008
885
190
Tiverton, Rhode Island
Good evening. iirc, Konstakang left a file called "resolution.txt" in the fat32 partition with the boot files in it. You can edit this to match the resolution of your monitor. Ex: my monitor is 1920 by 1080, so I'd change it to say 1920x1080 instead of 1280x720. I don't know if this messes up performance or anything, though. Happy 4th of July!

Thanks for your reply, the .txt file is read-only you cannot edit. I will see if I can edit when I burn the image to the SD.

Update: Perfect all I had to do is pull out sd card edit res file and once booted up change the font size and display to large.
 
Last edited:

KonstaT

Senior Member
Jan 20, 2016
839
490
KonstaKANG.com
New build.

https://konstakang.com/devices/rpi3/LineageOS16.0/

-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)
 
  • Like
Reactions: Grobsen

KonstaT

Senior Member
Jan 20, 2016
839
490
KonstaKANG.com
Sounds cool! Will this work with any "Waveshare" compatible display or is it just the 7 inch one

Looking at this in particular as I need a very specific form factor:

https://www.waveshare.com/5inch-HDMI-LCD-H.htm

Any help would be greatly appreciated!

It's likely it will work but can't guarantee anything. There's actually a good 'selection guide' table on the page you linked. All the displays that use HDMI for display and SPI for touch input should work AFAICT (after uncommenting line in /boot/config.txt to enable the touchscreen driver). I don't know about the ones that use USB for touch input. There's been reports that other USB touchscreen work, though.
 
  • Like
Reactions: ccMi9t

Muad.Dib

Senior Member
Hello all,

quick question, I have installed lineage os, but I am getting some out of synch audio. Any idea how to fix that or some tips? :)

Hey there,

Have you find a way to fix this?
I am experiencing the same issue with NetFlix myself. and I think more when playing a downloaded file.
It plays smoothly, but just after launching the episode movie, it stalls for a sec or two before resuming video playback but then is out of sync for those like 1-2s.
I could not figure out a way to compensate this nor I was able to figure out what was causing it.

Any help would be much appreciated.

Thanks.

Regards,

UPDATE:
@KonstaT : First of all let me thank you for the hard work you are putting into these builds. Neediness to say how much I am amazed to have Android running as smoothly as I could expect on such a device. Frankly I am still speechless. It might not be a proper solution for people gaming or such, but for me it is a way better/easier solution than a VM for testing my stuff, or having a 'backup' setup ready for when I mess up with my phone :)
So thank you! Keep it up man!

Now regarding my problem of out of sync audio while playing some downloaded flicks on netflix (offline that is), I would like to report what I just found.
Out of curiosity this morning I decided to plug my BT headset on and do a playback test to see how bad it would be.
Well to my own surprise it was not bad at all, on the contrary it was better. No out of sync audio, no playback stop causing audio to desync.
So I am thinking the problem may be caused by HDMI somehow. Not quite sure why, but if using BT prevents a/v desync from happening I can only suppose that's why. However since I dont realy know how all this works I have no idea why. Letting you know in case you would have some ideas yourself.

I'll try to test using jack audio later see if that fixes the sync problem. without using hdmi audio.

Regards!
 
Last edited:

Kakiking

New member
Sep 2, 2020
1
0
Some Problems

I installed this build on my Raspberry Pi 3B+ but I noticed some problems:
- Some apps close immediately
- I had to give an app storage permissions, so I did that, but its still saying it needs storage permission...
Any idea how to fix that?
Thanks in advance
 

mangled

Member
Nov 30, 2017
5
0
Hi I can't get into twrp. From the terminal I typed in as follows from faq: su rpi3-recovery.sh
And it says file does not exist. Is there another way?

update: renamed the file from recovery as stated to rpi3-recovery.sh however now it says I dont have root access. How do you get root access? sudo su command doesnt even work...
 
Last edited:

KonstaT

Senior Member
Jan 20, 2016
839
490
KonstaKANG.com
Hi I can't get into twrp. From the terminal I typed in as follows from faq: su rpi3-recovery.sh
And it says file does not exist. Is there another way?

update: renamed the file from recovery as stated to rpi3-recovery.sh however now it says I dont have root access. How do you get root access? sudo su command doesnt even work...

Please re-read the FAQ. 'su' and 'rpi3-recovery.sh' are two different commands. How to enable root access is also covered in the FAQ.
 

leandro-brandao96

Senior Member
Jun 5, 2014
59
17
Paredes de Coura
touchscreen problems

I have a landzo waveshare lcd (B) and i'm having problems with the touchscreen. The screen detects the touch creating a shade arround the button i select, but nothing happens, can someone help me with this problem?
By the way, on TWRP the touch screen works perfectly.
 
Last edited:

vega7.co

New member
Oct 1, 2020
1
0
Cant run lineageos on Pi 3 Model B ,without HDMI or any display

First of all, thanks for your post

Im trying to start my raspberry pi with lineage os, without any display and im having not sucess at all , i was looking in all around the web and i cant find anything related to.

i followed the answer given to the question "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?"
( i want to believe that your answer cover all the question and when you indicated that activating the swiftshader we also got the FEATURE of working with the pi without any display attach to it,)

So...

after connected to the shell via adb in the raspberry pi when i type this command

:/# rpi3-graphics.sh swiftshader

i got this response rpi3-graphics.sh not found , so i decided to find the rpi3-graphics.sh file, with this find command

:/# find . -name rpi3-graphics.sh

and i dont have any .sh with that name, so listing all the *.sh i got this rpi3-display.sh instead , correct me if im wrong, i believe its the replacement for rpi3-graphics.sh so i did

:/# rpi3-display.sh swiftshader
reboot without any display. nothing

and also just in case

:/# rpi3-display.sh mesa
reboot without any display also nothing

Im doing something wrong here? why i got the message rpi3-graphics.sh not found

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

i also followed the second post of this forum https://forum.xda-developers.com/raspberry-pi/help/lineageos-16-0-raspberry-pi-start-hdmi-t3953041

so i added this to the file cmdline.txt , which is in the fat32 partition of my raspberry pi sdcard
video=HDMI-A-1:[email protected] vfb.videomemorysize=8294400

and also this to the file config.txt , which also is in the fat32 partition of my raspberry pi sdcard
CONFIG_FB_VIRTUAL=y

I dont know if im doing something wrong here, cause the OSantal user doesnt bring an elaborate anwer to the topic.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

and yes my lineageos rom is lineage-16.0-20190627-UNOFFICIAL-KonstaKANG with a raspberry pi3 model B.

please can you help me with this.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 9
    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!

    Screenshot_20190627-114323_Settings.png


    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:

    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
    4
    How to install:
    1. 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.

    powerbutton.png


    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.

    1. Follow the official instructions on how to enable USB boot on Pi 3 B (this step is not needed on Pi 3 B+)
    2. Write image to your USB device as above
    3. 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
    4. 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:

    1. Boot to TWRP recovery with the build you want to keep the data (see FAQ)
    2. Plug in an external USB storage device and select 'Backup'
    3. 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)
    4. Write new LineageOS 16.0 image to the sdcard following installation instructions
    5. Boot to TWRP recovery with the new build (see FAQ)
    6. Select 'Restore' and find the backup you created from the USB device ('Select Storage')
    7. Make sure you only have data selected as partitions to restore (uncheck other partitions if available) and select 'Swipe to Restore'
    8. (Flash Google apps package/other add-ons you had previously installed)
    9. 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.

    1. Download open_gapps-arm-9.0-pico-xxxxxxxx.zip and save it to your device’s internal storage or use an external USB drive
    2. Boot to TWRP recovery (see FAQ)
    3. Install open_gapps-arm-9.0-pico-xxxxxxxx.zip from your selected storage
    4. Wipe->Factory reset!
    5. Boot out of recovery (see FAQ)
    3
    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:
    2
    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!

    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. :(
    2
    New build.

    lineage-16.0-20191222-UNOFFICIAL-KonstaKANG-rpi3.zip
    https://www.androidfilehost.com/?fid=4349826312261681719
    md5:956962b364583917b47046ef8556db85

    -update to MESA 19.3 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)