Question Will a arm64-v8a app run in armeabi-v7a system if the SOC is Arm cortex A55 quad core that supports arm64-v8a?

reaper89971

Prominent
Jun 2, 2023
162
5
585
The device is a 32inch ACER smart tv V pro series,
16gb of storage,
1.5gb of ram,
quad core arm cortex A55,
arm mali mp2 gpu i think, not sure,


It is running android 11 SDK 30

The SOC is a Realtek RTD2841A, It was advertised as a 64 bit processor, Arm Cortex A55 quad core,
so i assumed it was arm64-v8a compatible... and backwards compatible with armeabi-v7a.

I checked the system information using a windows app called Android TV TOOLs V3. It list the ABI as armeabi-v7a cause it is a cheap android google tv.

I want to run an app called King Root to root the TV, That runs on arm64-v8a,armeabi,x86,x86_64,nodil etc but it does not say armeabi-v7a

So if the SOC officially supports arm64-v8a will the app run or will it not run. I don't want to run an app that is in the wrong architecture for my system.

My goal is to get a form of linux on the system but it being armeabi-v7a makes things very difficult. From what i understand i would have to install an emulator to run the arm64-v8a.

Would i need to install an emulator to run arm64-v8a apps?

Thus far i have replaced the capacitors with low esr capacitors
upgraded the cooling of the tv with a 92mm noctuafan and on and off switch
replaced the thermal compound with high quality thermal paste
Thermal glued a heat sink to there heat sink making a larger heat sink.
Added emi filter plug so i can use a regular high quality PC Power cord.
installed Fdroid,installed termux,installed termux x11, installed root-repo,
Ran update and upgrade, then stopped.
 
ARMv7-a architecture is an older 32-bit ARM. In that architecture there were a number of options, e.g., NEON. ARmv8-a (a 64-bit architecture) is "sort of" a superset of ARMv7-a in that it has a compatibility mode which can dumb down to ARMv7-a. That compatibility mode makes support of all ARMv7-a options mandatory, e.g., the ARMv8-a compatibility mode must support NEON. The EABI is just a software calling convention.

ARMv8-a cannot just run ARMv7-a code. You have to have support in the kernel, you have to have any user space libraries, and user space linking tools, so on. Technically, one could add ARMv7-a emulation or even a compatibility mode environment, but that is a lot tougher than it sounds since it is basically an entire operating system's support.

ARMv7-a won't be able to run ARMv8-a code or architecture. All ARMv7-a could hope to do (an emulator would be terribly slow) is to run ARMv7-a code designed to run in an ARMv8-a compatibility mode CPU.

Incidentally, the part which makes ARMv8-a a superset of ARMv7-a is the fact that in ARMv7-a compatibility mode there is an instruction used to put the ARMv7-a device back into ARMv8-a mode (and no ARMv7-a has that instruction).

It would be difficult to run ARMv7-a on ARMv8-a, but possible. The other way around is not something which would be practical even if you could get around other issues.
 
  • Like
Reactions: reaper89971
ARMv7-a architecture is an older 32-bit ARM. In that architecture there were a number of options, e.g., NEON. ARmv8-a (a 64-bit architecture) is "sort of" a superset of ARMv7-a in that it has a compatibility mode which can dumb down to ARMv7-a. That compatibility mode makes support of all ARMv7-a options mandatory, e.g., the ARMv8-a compatibility mode must support NEON. The EABI is just a software calling convention.

ARMv8-a cannot just run ARMv7-a code. You have to have support in the kernel, you have to have any user space libraries, and user space linking tools, so on. Technically, one could add ARMv7-a emulation or even a compatibility mode environment, but that is a lot tougher than it sounds since it is basically an entire operating system's support.

ARMv7-a won't be able to run ARMv8-a code or architecture. All ARMv7-a could hope to do (an emulator would be terribly slow) is to run ARMv7-a code designed to run in an ARMv8-a compatibility mode CPU.

Incidentally, the part which makes ARMv8-a a superset of ARMv7-a is the fact that in ARMv7-a compatibility mode there is an instruction used to put the ARMv7-a device back into ARMv8-a mode (and no ARMv7-a has that instruction).

It would be difficult to run ARMv7-a on ARMv8-a, but possible. The other way around is not something which would be practical even if you could get around other issues.
Thank you for your reply
I don't fully understand everything you said, I will have to read it slowly and do some searching around.

This Smart TV is my first android device other than a few really cheap smart phones in the past

I just think its strange that they took a quad core Arm Cortex A55 and then dumbed it down to 32bit ABI to save money i guess. I read that is done in cheap devices.

Thank you again
 
Still trying to turn a TV into a PC?

As has been said elsewhere, why not just mount a mini PC tot he back of the TV?
An actual PC.....
Thanks for your reply
I currently have 3 pcs so i don't really need another one.

I thought it would be fun to try to get the tv to be like a mini pc.

I am having a strange problem with the tv. When i run a command in termux the hdmi ports stop working. I don't know if there shorting or what. The hdmi sees my pc that i have connected but the screen is black.

Anyone know of a way to add a region to android 11 sdk 30? The TV is an import from India and there is a English language that i can select but there is not United states region that i can select. So there is a conflict with my google account the region i think. When i sign in to google account it keeps telling me to verify again and again even though i enter my password.

Is there a way to add a region to tv. Or set it to a universal region or something. Cause i don't have full access to my google account it seems on the TV and i suspect there is a region conflict.

Also another funny thing is that i cannot go to toms hardware forum and post anything using the tv. The TVS current region is set to India.

I thought about setting it to Great Britian instead but i don't think it will resolve the issue i am having.

If i could i would completely erase the os and install a new one to fix the problem if possible once i become root.
 
Thank you for your reply
I don't fully understand everything you said, I will have to read it slowly and do some searching around.

This Smart TV is my first android device other than a few really cheap smart phones in the past

I just think its strange that they took a quad core Arm Cortex A55 and then dumbed it down to 32bit ABI to save money i guess. I read that is done in cheap devices.

Thank you again

ARMv7-a is 32-bit. ARMv8-a is 64-bit with a compatibility mode for 32-bit. In order to support 32-bit in compatibility mode you must essentially put in the guts of an entire 32-bit operating system.

When 64-bit ARMv8-a first came out all of the existing code in the world was still 32-bit ARMv7-a. Companies transitioning would keep the processor in 32-bit compatibility mode for anything they were not working on. The biggest and longest running 32-bit compatibility mode is in the boot chain. Nobody had 64-bit ARM bootloaders and boot chains, and even today a lot of 64-bit systems use 32-bit mode for boot. It is once boot exits and the Linux kernel loads that it transitions to 64-bit. So once Linux is running there is virtually no 32-bit support unless you add it yourself (and that gets complicated).

I expect most A55 devices to boot in 32-bit compatibility mode, but to run 64-bit when the Linux kernel loads (and Android uses the Linux kernel; it's all the other files which differ from plain Linux). To install a 32-bit application isn't particularly practical on any ARMv8-a.
 
  • Like
Reactions: reaper89971
ARMv7-a is 32-bit. ARMv8-a is 64-bit with a compatibility mode for 32-bit. In order to support 32-bit in compatibility mode you must essentially put in the guts of an entire 32-bit operating system.

When 64-bit ARMv8-a first came out all of the existing code in the world was still 32-bit ARMv7-a. Companies transitioning would keep the processor in 32-bit compatibility mode for anything they were not working on. The biggest and longest running 32-bit compatibility mode is in the boot chain. Nobody had 64-bit ARM bootloaders and boot chains, and even today a lot of 64-bit systems use 32-bit mode for boot. It is once boot exits and the Linux kernel loads that it transitions to 64-bit. So once Linux is running there is virtually no 32-bit support unless you add it yourself (and that gets complicated).

I expect most A55 devices to boot in 32-bit compatibility mode, but to run 64-bit when the Linux kernel loads (and Android uses the Linux kernel; it's all the other files which differ from plain Linux). To install a 32-bit application isn't particularly practical on any ARMv8-a.
I ran Treble cmd and got a true. I just learned what treble project is
The architecture is armv7l 32 bit armeabi-v7a
It is currently running android 11 sdk30
Its a Realtek RTD2841a Soc.
It is using Emmc flash 5.1 16gb
It has ethernet 100,2 hdmi ports, usb 2.0 2 ports, audio jack, no wifi card, AV jack.

Would you happen to know what Generic System Image i could run or AOSP?
I would need a smart tv image. I don't know how to build one myself. I could learn but that would take awhile and i would probably not get the result that i am looking for.

It was suggested to me on XDA forum to flash a GSI with the SU in it then i can get my boot.img and run magisk to root the system.
 
Keep in mind that Android and Linux tend to have different user space support. It is possible that Android has both the 32-bit and 64-bit user space to support using the compatibility mode, but many apps, when auto installed, will pick the release compatible with 64-bit for 64-bit systems. I have no knowledge of what Android does for 32-bit support, but if they already have this in place, then you'd just have to install it like any other Android program (I do Linux work; the kernel and drivers are the same, but user space is far different). I do not know if there is any generic system image which supports both 64-bit and 32-bit or which can append 32-bit support. I think you might have to specifically ask someone from that project, but any image which has both the original 64-bit system, plus compatibility 32-bit, should do the job. I just don't know if such a thing exists.
 
Keep in mind that Android and Linux tend to have different user space support. It is possible that Android has both the 32-bit and 64-bit user space to support using the compatibility mode, but many apps, when auto installed, will pick the release compatible with 64-bit for 64-bit systems. I have no knowledge of what Android does for 32-bit support, but if they already have this in place, then you'd just have to install it like any other Android program (I do Linux work; the kernel and drivers are the same, but user space is far different). I do not know if there is any generic system image which supports both 64-bit and 32-bit or which can append 32-bit support. I think you might have to specifically ask someone from that project, but any image which has both the original 64-bit system, plus compatibility 32-bit, should do the job. I just don't know if such a thing exists.
Thank you for your reply
I got fake root installed and fake chroot installed

Is fake chroot better then proot distro? My goal is to get real root.
Do you know what cmds don’t work with fake chroot?
 
I couldn't answer that. I haven't looked at Android in about a decade or more.
Thank you for your reply
Thanks anyway. I appreciate it.

I went ahead and installed proot-distro archlinux. Arch linux arm is suppost to have support for armv7.
its a just a basic system for now. I don't know what im doing lol yet.

Would you happen to know what to do next after installing archlinux command line
It just says rootlocalhoust# after you login.
So from there i just logged out. its archlinux arm.
I don't know the exact version of archlinux. I don't know the basics of linux yet, I have been a windows user for years. I have tried fedora,archlinux,kali,etc but i never really learned how to use the OS well.

I am currently looking for tutorials on what to do next. I am not sure if i have enough ram to install a desktop because usually 70-75% of the limited memory i have on the system is in use by the host operating system android 11. When i run optimise in tv manager it drops it to about 50% minimum. So i don't have much ram to work with. So i have half of 1.5gb of ram. If i run a desktop i think it will run poorly or at max ram.

But at least i got linux installed so far. So i am getting some were i think.

Thanks again. yeah i really need an expert linux user and android user to help me out cause i want to do some advanced stuff kinda. I want to get my boot.img from the host operating system but not sure if that is possible with proot-distro. Anyway it is a fun project to play with untill it bricks lol.