The /e/OS ROM is not solely responsible for the functioning of applications, but the open source apps are the icing on the cake. And here, the higher the quality of the original applications, the more restrictions are to be expected. This fact has been known for a long time. Try out the HedgeCam 2 Advanced Camera app
I tested the application HedgeCam 2 (v 2.15b) on a standard HyperOS system (stock ROM). And unfortunately I don’t see there the possibility to switch to other lenses. Of the three rear lenses that the phone is equipped with, I can only use one (I do not have the option to select the wide-angle lens and the macro lens).
I don’t have such an option, but maybe I don’t know where there is such an option in this application…
I suppose this app will behave the same after installing /e/os as it behaves now on stock rom.
If the camera functions are so important to you, you absolutely want to use them, and you can’t find an adequate app camera replacement, the only option is stock Android 14 in dual boot with custom GSI. This may not be an elegant solution, but it is practical.
In practice, it looks like this: Use HyperOS 1 (A14), debloated, but with Xiaomi camera app + degoogled Custom GSI (AOSP 14, 15) in dual boot for all other applications.
Basic requirement: Bootloader is unlocked.
If you have not unlocked the bootloader yet, then we can talk again in 30 days, rather more. See e.g. here…
Hi, good job, I have a question about the redmi note 13 4g, not the pro version. I can’t find any rom for this device, the one avaible are an old version of crdorid and xiaomi.eu os2.
Why does the pro version have so much support?
I see… I don’t get why the first release of cdroid was in september and after 3 months all the rom were closed. Almost like someone actively stopped the developer from working on it, same goes for the other roms.
How hard would be for a noob like me to port e/OS to this device? I know a few programming languages and have some basic linux knowledge.
Ps: i guess it has to do with the release of android 15
I presume its related to that the kernel is only a prebuilt kernel and no sources for kernel available which is a main requirement
Currently not available:
Thanks Ronald @ronnz98! Quick question: first is the link to the image for RN 13 PRO, but then you put a link to sources and install instructions for crDroid. I am interested in building the image of /e/OS. Can you point me to anything that would document the process?
I started reading your How To and got stuck at the breakfast stage:
From my previous experience (I used to work on AOSP based products for automotive) I would expect that breakfast without the device codename would produce a list of supported targets.
For the crDroid based AOSP tree I get exactly the same I got for /e/OS based one:
[pswiatki@docker-pswiatki crDroid]$ breakfast
You're building on Linux
Warning: Cannot display lunch menu.
Note: You can invoke lunch with an explicit target:
usage: lunch [target]
Which would you like? [aosp_cf_x86_64_phone-trunk_staging-eng]
Pick from common choices above (e.g. 13) or specify your own (e.g. aosp_barbet-trunk_staging-eng):
Trying dependencies-only mode on a non-existing device tree?
============================================
PLATFORM_VERSION_CODENAME=Baklava
PLATFORM_VERSION=Baklava
TARGET_DEVICE=vsoc_x86_64
TARGET_BUILD_VARIANT=eng
TARGET_ARCH=x86_64
TARGET_ARCH_VARIANT=silvermont
TARGET_2ND_ARCH=x86
TARGET_2ND_ARCH_VARIANT=silvermont
HOST_OS=linux
HOST_OS_EXTRA=Linux-6.14.6-arch1-1-x86_64-Ubuntu-20.04.6-LTS
HOST_CROSS_OS=windows
BUILD_ID=BP1A.250505.005
OUT_DIR=out
WITH_SU=false
PRODUCT_SOONG_NAMESPACES=device/generic/goldfish-opengl device/google/cuttlefish/shared/sensors/multihal external/mesa3d device/generic/goldfish vendor/google_devices/common/proprietary/confirmatioui_hal hardware/google/camera hardware/google/camera/devices/EmulatedCamera vendor/google/camera/common/g3_shared vendor/google/camera/google_3a/libs_v4/g3ABase vendor/google/camera/google_3a/libs_v4/gABC/native_coverage vendor/google/camera/google_3a/libs_v4/gAF vendor/google/camera/google_3a/libs_v4/gafd vendor/google/camera/google_3a/libs_v4/gHAWB/native_coverage
============================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wondering whether to use user, userdebug or eng?
user The builds that ship to users. Reduced debugability.
userdebug High fidelity to user builds but with some debugging options
enabled. Best suited for performance testing or day-to-day use
with debugging enabled.
eng More debugging options enabled and faster build times, but
runtime performance tradeoffs. Best suited for day-to-day
local development when not doing performance testing.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[pswiatki@docker-pswiatki crDroid]$
This is some built-in default target, I believe. So, clearly parts of the AOSP tree are missing.
Even when I try - as in your How To document - NB1, I get a nasty failure fast:
[pswiatki@docker-pswiatki crDroid]$ breakfast NB1
In file included from build/make/core/config.mk:406:
In file included from build/make/core/envsetup.mk:351:
build/make/core/product_config.mk:226: error: Cannot locate config makefile for product "lineage_NB1".
14:38:31 dumpvars failed with: exit status 1
Device NB1 not found. Attempting to retrieve device repository from crDroid Android Github (http://github.com/crdroidandroid).
Repository for NB1 not found in the crDroid Android Github repository list.
If this is in error, you may need to manually add it to your .repo/local_manifests/roomservice.xml
In file included from build/make/core/config.mk:406:
In file included from build/make/core/envsetup.mk:351:
build/make/core/product_config.mk:226: error: Cannot locate config makefile for product "lineage_NB1".
14:38:33 dumpvars failed with: exit status 1
In file included from build/make/core/config.mk:406:
In file included from build/make/core/envsetup.mk:351:
build/make/core/product_config.mk:226: error: Cannot locate config makefile for product "lineage_NB1".
14:38:35 dumpvars failed with: exit status 1
** Don't have a product spec for: 'lineage_NB1'
** Do you have the right repo manifest?
[pswiatki@docker-pswiatki crDroid]$
Evidently, the build environment doesn’t know anything about this NB1 codename. But… why?
Potentially because the Nokia 8 (NB1) is not officially supported by crDroid? I havent used crDroid building for a while so I don’t for sure. But you can download NB1 device files from github as well as kernel and then try again
Oh, yes, true. You used /e/OS sources in your Ultimate How-To.
Do I correctly remember that it doesn’t really matter where I put those sub-trees (device, kernel), because - as long as they contain (which they do!) the relevant *.mk and *.bp blueprints - the build process with find them and use them as appropriate?
Just to be thorough - for cleanliness reasons I believe it makes sense to put those things in the “usual” places. Are those suggested by the way the repositories are named? E.g. https://github.com/LineageOS/android_device_nokia_NB1 would normally go to ./android/device/nokia/NB1 , or something like that?
yes. the device, kernel and vendor folders are in your root android folder which can have any name (like android). I usually name them the version I use e.g. eOS_T or eOS_U