Giter VIP home page Giter VIP logo

pine64-pinephone's Introduction

Android 14 for the PinePhone based on the GloDroid project

GloDroid ProjectStatus License Discord

Warning!

This project is a free and open-source initiative maintained by a group of volunteers. It is provided "as is" without any warranties or guarantees. The user is fully responsible for any issues arising from using the project.

Flashing images

Find the sdcard image or archive with fastboot images here

Use the SDCard raw image to flash the Android into SDCard.

Or use the fastboot images archive to download Android on SDCard or EMMC using fastboot mode:

Step 1

Extract the content of the archive.
Using any available iso-to-usb utility, prepare recovery SDCARD.
To flash Android on a sdcard, use deploy-sd.img
To flash Android on eMMC, use deploy-sd-for.emmc.img

Step 2

Ensure you have installed the adb package: $ sudo apt install adb (required to set up udev rules)
Insert recovery sdcard into the phone.
Connect the phone and your PC using a typec cable.
Power up the phone. Blue LED indicates that the phone is in bootloader mode, and you can proceed with flashing.

Step 3

Run ./flash-sd.sh utility for flashing Android to sdcard or ./flash-emmc.sh for flashing Android to eMMC

After several minutes flashing should complete, and Android should boot

Building from sources

Before building, ensure your system has at least 32GB of RAM, a swap file is at least 8GB, and 300GB of free disk space available. We recommend using the latest laptops to get good performance. E.g., the HP ENVY x360 model15-ds1083cl takes about 5 hours to build the project.

Install system packages

(Ubuntu 22.04 LTS is only supported. Building on other distributions can be done using docker)

sudo apt-get install -y git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

  • Install additional packages
sudo apt-get install -y swig libssl-dev flex bison device-tree-compiler mtools git gettext libncurses5 libgmp-dev libmpc-dev cpio rsync dosfstools kmod gdisk lz4 meson cmake libglib2.0-dev git-lfs

  • Install additional packages (for building mesa3d, libcamera, and other meson-based components)
sudo apt-get install -y python3-pip pkg-config python3-dev ninja-build
sudo pip3 install mako jinja2 ply pyyaml
  • Install the repo tool
sudo apt-get install -y python-is-python3 wget
wget -P ~/bin http://commondatastorage.googleapis.com/git-repo-downloads/repo
chmod a+x ~/bin/repo

NOTE: After this step, you may need to log out and log in to the system to make $HOME/bin added to the PATH environment variable.

Fetching the sources and building the project

git clone https://github.com/GloDroidCommunity/pine64-pinephone.git
cd pine64-pinephone

Building AOSP

./unfold_aosp.sh && ./build.sh

NOTE: If you're using git for the first time, it may ask you to configure the user name and email address and confirm the colored terminal. Please follow the suggestion you see on the screen in this case.

Building LineageOS

To enable GMS (microg), set the environment variable export WITH_GMS=true.

./unfold_lineageos.sh && ./build.sh

Notes

  • Depending on your hardware and internet connection, downloading and building may take 8h or more.
  • After the successful build, find the fastboot images at ./out/images.tar.gz or sdcard image at ./out/sdcard.img.
  • To disable GloDroid's prebuild apps (like skytube, Firefox, etc.), set the environment variable before building export GD_NO_DEFAULT_APPS=true.

pine64-pinephone's People

Contributors

rsglobal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pine64-pinephone's Issues

Project status

Component Status Comment
Display โœ… drm_hwcomposer
GPU/GLES โœ… mesa3d/lima GLES2.0
GPU/VULKAN ๐Ÿšซ Not supported by the hardware
Modem / Calls โœ… ModemManager / mm-radio HAL
Modem / SMS โœ… ModemManager / mm-radio HAL
Modem / Data โŒ Not implemented yet
Modem / GNSS โŒ Not implemented yet
WIFI โœ… Has some issues
Bluetooth โŒ The rtl8723cs firmware is too old for the modern Android. Bluetooth is disabled.
Camera โŒ Not implemented yet
Accelerometer / Gyro โœ… IIO-SENSOR HAL
Software codecs โœ… FFMPEG library (slightly faster than stock AOSP)
Hardware video decoders โœ… โš ๏ธ H264, H265 *1 *2
Hardware video encoders โŒ No kernel-side support
Audio โœ… tinyhal

Issues:

Component Comment Issue link
Modem Internal USB connection is not stable after suspend/resume
Wifi When enabled, may cause system instabilities
Audio Call recording does not work
Codecs *1 ffmpeg-based codecs use CPU to copy buffer, which slows the performance on 1080p and higher
Codecs *2 GPU is too slow to render decoded YUV buffers. Partially can be fixed by adding hardware rotator support GloDroid/glodroid_manifest#66
Boot time 2+ boot takes 1m33s

Install problem

I try to install glodroid in my pinephone on mmc.when I run the install script all seems ok I get a message to remove the recovery sdcard and reboot the phone.t I get a message on terminal waiting any device and the led on phone is blinking red and is turn off.i use another data cable not the original

EU SIM cards not recognized(?)

The phone recognizes one SIM card which is inserted but never shows the pin input. When calling a number, it says "exit plane mode" even though WiFi is up and running fine. Same for Ireland and Germany SIM card. Both card do work also inside the PinePhone when running another OS like Manjaro...any ideas?

PinePhone (Disfunctional Features)

I recently installed GloDroid (LineageOS/Android 13) to my PinePhone and have run into some features that are not working.

  • Automatic brightness
  • Reading external storage
    - Camera

For the automatic brightness, I believe my model is capable of this and should have the sensor for it, I can even find the option for it in the settings. However, I can only see it in search options and if I select it nothing happens.

External storage is my largest problem. No matter what brand or format of card I use, nothing shows up in stock or third-party storage apps or settings. I even cleaned a card and only made it's primary partition to see if I would be prompted to format it but there is no such option for me. What strikes me most about this is that I sued a microSD to flash the OS to EMMC successfully...

As far as the camera goes, I could live without it, but I would prefer not to and I know it is functional. I do however expect this issue to be the least clear on how to resolve. I don't know if it's a settings issue or a missing package?

PinePhone keyboard case support

I'm successfully running the latest version of GloDroid on my PinePhone using the SD card image. Since I also have the keyboard case I wanted to try if that worked too, but as far as I can see it doesn't do anything. Is the keyboard case not supported yet, or is there additional steps I can take to get GloDroid to recognise it?

Which kernel config should I modify?

I would like to add a config (CONFIG_USB_IPHETH=y) and rebuild the kernel. But I am not sure which file I should edit.

I first thought amlogic_defconfig (which is apparently patched here), but it already contains CONFIG_USB_IPHETH=m and it doesn't seem to build ipheth.ko, so I feel like I am missing something. Also in the result, I see stuff like:

./obj/GLODROID/KERNEL/build/.config:# CONFIG_USB_IPHETH is not set

@rsglobal would you have some insights? ๐Ÿ˜‡

How to rebuild the kernel?

I would like to rebuild the kernel, adding a module (ipheth). Is there an easy way to do that without having to rebuild the whole image?

Turn off USB Debugging - Developer Options

Turning off the USB debugging gives windows access to the Pinephone's USB, options settings->connected devices->USB. I suspect most do not know how to enable the developer options by tapping 7 times on the build number in the settings->about.

It may be helpful if USB debugging was disabled by default. See my post on the pine64 forum.

Modem/radio dies when phone goes into sleep

With Android 14 getting the phone to recognize the SIM at boot is challenging. However when it does recognize the SIM the modem stays active as long as the phone doesn't go into sleep mode. Once the phone sleeps the modem dies, the phone still shows the signal bar and the SIM is accessible in the settings, like the modem is still active but it's not. And there is no way I know of how to re-start the radio/modem service in the active interface.

The workaround is to reboot but that only works for the first active session, then it dies again.

Crash opening the menu in firefox

In any of the latest builds, opening the three dot menu in the bottom (or top, depending on configuration) right corner of Firefox causes visual distortion on the address bar and renders the display unable to update, though interacting with certain areas of the display still trigger system sounds which implies the phone is still responsive. The only way I've found to recover from this state is to hard-reboot the device.

Sms not working

I read through the implemented features, and saw that mobile data wasn't implemented yet and that aligns with what I'm seeing, but also I'm not able to text. I have a Verizon SIM in my pine phone and I tried texting myself to test, and it says that the message wasn't sent. In the settings in network and internet it says calls and SMS Verizon temporarily unavailable.PXL_20230607_133126392.jpgPXL_20230607_133142376.jpg

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.