Tens of Nvidia Tegra devices now run mainline Linux thanks to the "grate" project

Tens of Nvidia Tegra devices now run mainline Linux thanks to the "grate" project

Nvidia chips and the Linux community have not always been known for a friendly attitude between each other. In a famous talk by Linus Torvalds, which may appear slightly too offensive to be reported directly, the Linux creator defined it "the single worst company [they had] ever dealt with". While the situation has become increasingly better in the last years, so that (proprietary) drivers are shipped for most new Nvidia cards, the stigma of Nvidia as being an incompatible company with the open source philosophy still burdens the company.

What concerns this post, however, is rather a coincidence than anything related to Nvidia supporting Linux or not. Before the age of Snapdragons, more or less between 2011 and 2013, Nvidia Tegra chips were the leading "high-end" series for phones and tablets, satisfying both mobile gamers and casual users. This brought to this class of relatively fast and efficient processors (usually grouped as Tegra 1, 2, 3 and 4) being adopted by many devices, especially Android tablets, including the famous ASUS "Transformer" series of laptop-aspiring, keyboard-equipped machines, as well as most Acer tablets and phones, higher-end Samsung tablets and many others. The big news is that support has finally landed, thanks to very hard work by the #tegra IRC members, with developers such as David "okias" Heidelberg, Dmitry "digetx" Osipenko and many others working regularly to port first the main Tegra SoCs to mainline Linux, then many of the internal peripheral or devices, up to a point of near-complete support.

As I have been told by a developer of the popular ASUS Transformer fork, it was not one year ago that the Nvidia Tegra 2/3 series was not bootable at all in the project. As of today, at least 9 devices powered by this chip are already ported to postmarketOS with full mainline support - meaning the number of Linux-running devices outside of the main repository is likely to be higher:

  • Acer A500 Iconia Tab
  • ASUS TF201 Transformer Prime
  • ASUS TF300 Transformer Pad
  • ASUS TF700 Transformer Pad Infinity
  • Google Nexus 7 2012
  • Medion S9714 Lifetab
  • Pegatron Chagall
  • Samsung Captivate Glide
  • Samsung Galaxy Tab 10.1

Furthermore, many other potentially supported devices could bring this number much higher once board trees are written:

  • Google Nexus 9 (Tegra K1)
  • HP Slate 21 (Tegra 4)
  • Nvidia Tegra Note 7 / HP Slate 7 Extreme (Tegra 4)
  • Asus TF701 Transformer Pad (Tegra 4)
  • ...and many others

The "chain" of Linux-enabled devices has accelerated quite fast, since the extremely friendly and skilled community (which assisted me personally in porting my tablet from zero to full support) and very thorough analysis to recognize similarities between the hardware configurations of the device boards brought, for example, to as much as four new tablets (ASUS TF201, TF300, Pegatron Chagall/Fujitsu M532 and Samsung Galaxy Tab) being accepted in the last month in the official postmarketOS repository, with such "invasion" of Tegra devices bringing them to constitute a relevant share of the postmarketOS "mainlined" (read: properly supported) devices.

The popular Asus Transformer TF201 running mainline Linux

The project, informally named grate (in which the mainline kernel tree is found) started with the intent of open-sourcing Tegra chip internals, including their GPU. While graphics (OpenGL, etc.) are still lacking, the latest progress includes initial work on 2D hardware acceleration (so far Xorg-only, so no super-smooth Phosh or Plasma Mobile) for the internal GeForce ULP GPU, which would lead to smooth hardware acceleration, since the capabilities of this card still exceed that of some Mali chips of later phones. Which would be a rare case, considering how even traditional "mainlined" devices cannot usually boast open drivers for the built-in GPUs.

The relatively clean design of Tegra boards means that support can be considered generally higher to that of concurrent silicon makers such as Huawei (Kirin) and Samsung (Exynos), perhaps even a little above the fragmented realms of Qualcomm chips, some of which are over-engineered to the point that no mainline kernel exists in spite of the larger community behind them.

In other words, if you have a Tegra2/3/4 device in your drawer, you are probably the owner of a mainline Linux phone or tablet, although the hardware may seem a bit old. Regarding this matter, asking yourself how usable the system actually is is totally justifiable. The answer, from our tests, is: it depends. 1GB of RAM of the older Tegra devices is quite a bottleneck for many user interfaces, and apps such as 400+MB-heavy Telegram Desktop tend not to go that well alongside equally heavy desktops such as GNOME. However, for basic tasks the feel is still surprisingly smooth on lighter desktops such as MATE, and even LibreOffice is quite usable for normal documents.

On the other hand, web browsing feels painful on modern browsers such as Firefox (which tends to crash due to low RAM) or Epiphany (which technically works, but gets easily laggy on heavier pages). So either you own a higher-specced tab, like those later models with 2GB RAM, or you may have a hard time using these devices beyond basic tasks like text processing, media playing, low-power web servers and basic games. Which, we would argue, is still a lot.

Cover picture: My Fujitsu M532 running postmarketOS in December 2020

Our articles are commonly discussed in our semi-official subreddit, r/tuxphones