Hacker News new | past | comments | ask | show | jobs | submit login

It's annoying there's no Free driver stack for the Mali GPUs, but pretty much all other ARM IP is supported just fine in mainline Linux. Calling it a 'sorry state of open source on ARM' seems disingenuous.



This is inaccurate. ARM SOCs are all different and tightly closed. Which ARM SOC can you run on Linux without support from third party open source developers?

You need more than just CPU support for it to be usable, and most mainline support is the minimum to make the Android part of it work. Drivers for all the hardware bits are tied tightly to Android. Is there any ARM SOC yet that ARM has said can run Linux out of the box?

Only the rasberry pi works on the latest mainline and that is due to the work done by the foundation and there too the GPU driver is a blob.


Egads... They aren't "tightly closed". Just there's no way to enumerate what devices are on what IO on the chip. - Don't get me wrong, many dealers just don't broadcast what's on a fabless-fab. Doesn't mean they're closed. Go hire someone who speaks and types Mandarin and get the info about "Gongkai".

We were at this place once before, with 16 bit soundcards and ISA, for those of you that remember. In those days, we had to set IRQ and I/O so the device could communicate with the computer. And those devices had to correspond with each other. It was a hot mess, but what we had. MCA tried to fix it, with proprietary crappiness, but PCI actually won out.

In reality, ARM is too open, and has too manhy ways in which hardware can be added. That causes problems, because there's no detection routines - "detection" can crash certain chips.


Enumeration is solved by device tree. The problem really is drivers for important parts of SOCs that make running Linux on them practical.


> Is there any ARM SOC yet that ARM has said can run Linux out of the box?

That is not how this works. ARM doesn't design any SoCs sold to the general public. They design some specifications, such as the ARM architecture specs, a number of implementations (i.e. the Cortex cores) and a number of other IP blocks such as cache controllers, memory controllers, SD/MMC controllers, UART controllers, interconnects, DMA engines, MMUs and, yes, GPUs. AFAIK all of these apart from GPUs are supported in mainline Linux due to drivers written by ARM, which is why I've said that all their IP except GPUs is supported properly.

Now, to actually create SoCs, other companies such as Allwinner, NVIDIA, Samsung, etc, buy a license either for the architecture and use their own implementation (e.g. NVIDIA Denver) or they buy a license for the ARM implementations (e.g. the Allwinner A64 which uses Cortex-A53). These companies can then license a subset of the other ARM IP blocks, they can create their own, or they can license them from other companies. So you end up with SoCs which are either partly or completely not ARM IP, hence not ARM's responsibility to support as a complete unit. If you're looking to blame someone, blame whoever designed the SoC.

> Drivers for all the hardware bits are tied tightly to Android.

The GPU and video accelerators have userspace bits which are typically proprietary and Android specific. This is what I was saying is indeed annoying but not that much of a problem. The GPU on ARM SoCs only provides OpenGL(ES) acceleration, while graphics output, framebuffers, and even the hardware support for XV (video scaling, colorspace conversion) is usually implemented in different IP blocks with available drivers. Software decoding for 1080p and smaller video is fast enough on most SoCs.

> ARM SOCs are all different and tightly closed.

They're all different indeed, but not necessarily tightly closed. You can get the reference manual for a whole bunch of SoCs, including NVIDIA Tegra K1 and X1, the Freescale i.MX series, the TI Sitara series and most Allwinner SoCs (ha). These normally exclude the graphics/video accelerators, but everything else needed to have a usable system is typically included.

> Which ARM SOC can you run on Linux without support from third party open source developers?

Things get really blurry between drivers officially supported by the vendor, drivers mainlined by the employees of these companies in their free time, and drivers written by the vendor but mainlined by the community. AFAIK, at least the Tegra series and the X-Gene based APM SoCs are in the first category.

> Only the rasberry pi works on the latest mainline and that is due to the work done by the foundation

Well, that's simply not true. I personally use a Cubieboard 2 (Allwinner A20), Jetson TK1 (Tegra K1), Acer Chromebook 13 (Tegra K1) and APM X-C1 (APM883208) on mainline. On TK1, even the GPU is supported via nouveau and APM883208 doesn't have one.

Wasn't the mainlining work for RPi mostly done by Eric Anholt, who (surprise!) works for Broadcom, the makers of the SoCs they use?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: