76

I am running a Odroid with Ubuntu Mate. I need to download qt and so I need to know if I should get the 32 or 64 bit version of qt.

odroid@odroid:~/software/qt5$ uname -i
armv7l

uname -i returns armv7l. Does that mean I should download the 32 or 64 bit of qt?

Lightsout
  • 928
  • 3
  • 9
  • 13
  • 3
    Relevant: https://unix.stackexchange.com/q/136407/103151 – Byte Commander Jun 22 '17 at 21:42
  • Hi, if you still check in this forum sometimes, please mark [the correct answer](https://askubuntu.com/a/1042272/61241) as solution. This helps other users and probably also some automated systems. – erikbstack Oct 17 '22 at 11:47

2 Answers2

90

armv7l is 32 bit processor.

If you need a little bit more information regarding ARMv8, please read @Rinzwind's answer :-)

Dipesh KC
  • 1,021
  • 7
  • 6
  • Just FYI, Stack Exchange is a wiki. You can edit other peoples posts. You should have just edited that other post to add the one sentence in your answer. – falsePockets Nov 01 '22 at 23:21
31

ARMv8 is 64-bit. With 32-bit compatibility.

The ARMv8 architecture introduces 64-bit support to the ARM architecture with a focus on power-efficient implementation while maintaining compatibility with existing 32-bit software. By adopting a clean approach ARMv8-A processors extend the performance range available while maintaining the low power consumption characteristics of the ARM processors that will power tomorrow's most innovative and efficient devices. ARM has 3 different product tiers supporting the ARMv8-A architecture: High Performance, High Efficiency, and Ultra-High Efficiency.


ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes:

  • 64-bit general purpose registers, SP (stack pointer) and PC (program counter)
  • 64-bit data processing and extended virtual addressing

Two main execution states:

  • AArch64 - The 64-bit execution state including exception model, memory -model, programmers' model and instruction set support for that state
  • AArch32 - The 32-bit execution state including exception model, memory model, programmers' model and instruction set support for that state

Anything lower (like ARMv7) is 32-bit.

Rinzwind
  • 293,910
  • 41
  • 570
  • 710
  • 73
    OP asks specifically about ARMv7 and you fill half a page about v8 just to mention in your last sentence that v7 is always 32 bit? I mean, it's correct of course, but... you know – Byte Commander Jun 22 '17 at 21:41
  • 9
    I keep reading and reading to see what v8 had to do with v7 or if there was some connection. Nope. – Lo-Tan Apr 29 '18 at 13:44
  • 2
    Like the other commenters above, I'm confused as to why both you and Dipesh KC have made references to ARMv8, when the question is about `armv7l`. **Are they actually different, or are they one and the same?** It kinda seems like the latter is true, since `uname -m` gives me `armv7l` on my Raspberry Pi 4, but [its product page](https://raspberry.piaustralia.com.au/products/raspberry-pi-4?src=raspberrypi) mentions ARMv8 and 64-bit in the 'Tech Specs' table. A thourough explanation of these two contrasting terms for the seemingly-same thing would be very much appreciated! MTIA :-) – Kenny83 Nov 01 '21 at 17:26
  • Never mind - [this other SE answer](https://raspberrypi.stackexchange.com/questions/101215/why-raspberry-pi-4b-claims-that-its-processor-is-armv7l-when-in-official-specif#answer-101216) explains the disparity quite well. Guess I need a better distro than the "official and recommended" Raspbian! – Kenny83 Nov 01 '21 at 17:33