Replicant 6.0 development updates

Replicant 6.0 is moving forward and quite some work has been done over the last months.

Galaxy S2

Only the Galaxy S3 was supported for a very long time. Recently, support for the Galaxy S2 was added. This was made possible because two community members, Grim Kriegor and dllud, sent me a device. The initial work on the device by another community member, Jookia, also gave me a head start for the port.

GTA04

In December, I attended the 8th Open Hard- and Software Workshop which was a great opportunity to discuss and work on various topics related to the GTA04. I assisted Lukas Mรคrdian from Goldelico with porting Replicant 6.0 to the GTA04 and at the end of the workshop, we were able to boot Replicant 6.0 and had basic functionality working. Lukas continues to work on the port and I’m planning to integrate his changes and get Replicant 6.0 ready for the GTA04.

Support for external WiFi dongles with the AR9271 chipset

After you have installed Replicant on one of the supported devices, you will notice that WiFi doesn’t work. The reason is that the WiFi chips on all supported devices need a proprietary firmware to be loaded onto the chip. As Replicant only ships free software, this firmware is not included in an image.
An alternative is to use an external WiFi dongle with an USB OTG cable. A free firmware exists for the AR9271 chipset and various WiFi adapters use this chipset. Tehnoetic provided patches for initial support in Replicant 4.2. For Replicant 6.0, I went a different way and backported the necessary changes from the 3.4 Linux kernel to the kernel for the Galaxy S2 and S3. Such dongles are now operable with these two devices. Fil Bergamo is working on scripts to make it easy to use WiFi adapters. You can find more information in this forum thread.

Graphics rendering

The previous blog post already metioned that I’m working on the graphics acceleration. Mesa llvmpipe can now be used as an alternative to the Android software renderer. Unfortunately, llvmpipe is still too slow and the Android software renderer stays the default graphics renderer for now. But it’s possible to use some more apps like Firefox-based browsers with llvmpipe that wouldn’t work with the Android software renderer. Llvmpipe also makes it possible to use a recent webview. For now, Replicant 6.0 is stuck with the last webview version that worked with the Android software renderer. Optimizing llvmpipe for ARM likely would make it fast enough. Any help in this regard would be greatly appreciated!
Another long-standing issue is related to the software rendering: QR code scanning or in general barcode scanning didn’t work with Replicant because the software renderer requires a camera preview format that is incompatible with barcode scanner apps. I was able to fix it by doing the neccessary conversions of preview frames that are requested by barcode scanner apps.

Toolchain

I moved the build system from Debian Jessie to the upcoming Debian release with the codename Stretch. The Debian Android Tools team has packaged quite a few more build tools in Stretch which can now be used instead of prebuilt binaries from the default Android toolchain. The whole effort makes the Replicant build process more trustworthy and ensures that all build tools are verifiable and built using only free software.

Security/privacy enhancements

Besides fixing various bugs, I’m especially committed to making Replicant more secure. Originally, I started contributing to Replicant by submitting patches for known security issues in Replicant 4.2. Security updates for the kernel and the Android system are included in Replicant 6.0 as quickly as possible, but delays can always happen due to various reasons. Furthermore, I started to include some security/privacy enhancements from CopperheadOS.

Current work and future plans

Porting Replicant 6.0 to more devices is a priority right now. Besides devices that are already supported by Replicant 4.2, some new targets are evaluated. An interesting target is the LTE variant of the Galaxy S3 (GT-I9305). Currently, only the non-LTE variant (GT-I9300) is supported by Replicant and Replicant doesn’t support any 4G-enabled phone yet. It’s possible to build a Replicant 6.0 image for the LTE variant, but it lacks support for the modem. The main task of the port will be to write a free implementation of the modem interface for telephony, SMS and mobile data.
I also played with the mainline kernel on the Galaxy S3 and I was able to boot Replicant 6.0 on top of the Linux 4.8 kernel with a few patches so that it was usable with very limited functionality. I will share more results from this endeavor in the future.
Replicant is based on CyanogenMod 13.0. As the CyanogenMod project was discontinued, future Replicant 6.0 versions will be based on its successor, LineageOS 13.0.

27 thoughts on “Replicant 6.0 development updates

  1. Adding my “thank you” for all your efforts. Succeeded today to install
    replicant 6.0 on a Samsung Galaxy S2. Even wireless is working now.

  2. Your work is excellent.
    Is it possible to release the Replicant 6 SDK as well?
    I am currently developing my apps with replicant 4.2 sdk and i am a long time waiting for new sdk version from replicant.

  3. Thank youvery much for your work ! I’m impatient to install version 6.0 on my s3. Where can I find it ?

  4. While Replicant is such a necessary OS it is, de facto, useless since who uses a Galaxy SII or SIII, or any of the outdated devices that are supported as their main phone in 2017? ๐Ÿ˜
    What a pity, now that Cyanogenmod seems “deceased”…

    Anyway, what does the FSF think about Plasma Mobile (https://plasma-mobile.org/)? Could be some kind of cooperation among both projects?

  5. A big up for all this hard work. the S3 LTE would indeed be good news.
    I also think Replicant deserves a more recent and powerful phone to be seen as an alternative. For the last 2 or 3 years, top of class smartphoes specs have not changed so much (QHD screen, quad or octocore, 16-20Mpix, LTE+++, WiFi+++…) This makes me think using a 2/3 years ols flasgship (Samsung/LG/Huawei…) could set a stable platform for additional years.
    I know, the issue is still to get the specs of the chipsets to write an open driver…
    just my 2 cents ๐Ÿ˜‰

  6. Have you investigated using Lima for graphics?

    Yes, and it’s not usable in it’s current state and it doesn’t look like it will anytime soon. So improving the software renderer is the best option for now.

  7. Hi Wolfgang,
    is it possible to reach you via a private mail address?
    I have some questions about your work in german.

    Thanks for your effort.

  8. Wow, that’s a great news, thanks for your work! Now I can get my old S2 out of its drawer \o/

  9. Good news! As soon as llvmpipe or lima or whatever module that will allow us to use applications like Firefox, e.g Orfox, I will install!

  10. Thanks for your work. Is there any convenient way on how to upgrade to the new builds ? My build version is from 8.1.2017 and I’d like to do the upgrade. If not how to upgrade it if possibly without losing any user data ? Also I’m using it on my S3 as primary phone so I’m collecting list of bugs :).

    Thanks.

  11. any progress with galaxy s4?

    Thanks for the progress update on the new version of replicant.

  12. This is really great news, thanks for your effort!
    Does someone see any chances to get libv “on traction” again to continue his project lima-driver?

  13. Thank you Wolfgang for continuing this important work. Your efforts are very much appreciated. I look forward to getting 6.0 stable installed on my S3 and continuing to support a free smartphone OS.

  14. Thank you so much for all your efforts. I am thrilled about the development of this project. Please share my gratitude with tho full range of people working on developing replicant.

Leave a Reply

Your email address will not be published. Required fields are marked *