Looks like the new odroid c4 (raspberry pi competitor) has this g31 chip. [0,1]
Might be interesting to try building a cluster with these. [2]
I wonder how much remaining work there is for full upstream support on these AmLogic chips? The problem with arm chips has always been limited upstream distro support.
The Linux-Sunxi folks have been working for years to get the Allwinner stack up to snuff... it’s taken a long time.[3]
Is there any community around the AmLogic and Rockchip stuff as solid and coordinated as the Allwinner folks?
I remember doing some web development work for HardKernel/ODROID back in ~2010 and I just did it for free (I loved the idea of an "Android Game Boy," plus Chris Pruett at Google recommended it for gaming and game development[1]), and they ended up sending me an ODROID-S out of the blue. I was totally surprised and felt I didn't really deserve it (MSRP was like $200-300 and I was a poor college kid), and I'll never forget the gesture.
HK earned a longtime fan with that move for sure, haha. :)
If you're interested in HK's kernel patches, you can simply download their repository (`git clone https://github.com/hardkernel/linux.git`), then add the upstream kernel repository (`git remote add upstream git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable`), then fetch it and just compare the tags (e.g. `git cherry -v vX.Y.Z X.Y.Z-A`).
There's a good community for the odroid-c4 with an Ubuntu 20.04 image with linux 5.7 and support for the Mali G31 with Wayland. I got an odroid-c4 with flash emmc storage and Realtek RTL8811AU wifi dongle from ameridroid to avoid this shipping costs from overseas.
While i don't have one, i use Armbian on several other systems, and it tends to be stressless. As long as one doesn't use their noob-friendly software installer scripts, which tend to break something. Anyways, it is essentially Debian, or Ubuntu depending on the image you have choosen.
edit: I'd go one step further even. If it isn't supported by Armbian, I'd avoid it. Because they tend to be first in delivering a cohesive solution like you'd expect from a distro, and not some patched together pile of something which just runs, is rarely or never updated, and won't run
the stuff YOU want to run.
Only downside, they lag a bit behind in integrating all that vendor-/boardspecific stuff. But then, who really cares about that when running Debian? :)
I recently used Armbian for a project (my HW is better supported than openwrt which gave up on the board that I use). Documentation is ok, but I found most of the clues at their forums. The IRC channel was also helpful.
I wonder if the tests can be used to build an emulation layer that could run those same tests on any hardware. When that emulation layer is trusted, we can use it to cheaply test the build on generic hardware before committing to use actual, less common, real Mali G31 hardware.
I have the Pinebook Pro which is built upon the Rockchip RK3399 SoC incorporating a Mali T860 GPU. The Panfrost open source GPU driver written by the article's author offers support for this GPU, and on Linux Manjaro with KDE/Plasma the GPU-acceleration works, but for some reason I cannot figure out the performance is very low compared to what I've seen on other RK3399 demos running Linux. Anyone got any ideas what could be wrong?
Great work, although I fail to see any mention regarding post OpenGL ES 2.0 support, given that G31 goes all the way up to ES 3.2, Vulkan and OpenCL 2.0.
The Mali G31 is used in some pretty cool ultra cheap devices. Getting good mainline support for this GPU is really cool because of these ones :)
The Mali G31 is used in the Amlogic S905X{2,3,4} SoCs. You can buy a "TV box" with a quadcore Cortex A53/A55, gigabit ethernet, 4GBs of RAM and 32GB of eMMC storage for $30-50 delivered. Think of them as Raspberry Pis with included storage, case and power supply, preassembled. I wouldn't recommend them over a Raspberry Pi right now - getting a non-embedded GNU/Linux distro running on them properly is not easy - but these developments can change that. Right now it's probably better to spend some extra money on the Odroid C4 with the same chip and some accessories, because of the better community support.
The Mali G31 is also the GPU used in the Rockchip RK3326 in the Odroid Go Advance, a $60ish open source tinkering gaming handheld kit from Hardkernel. The first Chinese clone of this device was released for this with the same chip, so there's some indication the RK3326 will become a standard platform for retro emulation hardware. Pretty old MIPS chips were the standard for that until this year still, because the hardware follows software support.
The biggest thing here is that G31 uses the Bifrost architecture. With the core architecture working, that opens up the G51 and G71 as well (and maybe G52, G72, and G76 2nd gen Bifrost in the future).
As others have mentioned, on Linux they already are outside of Nvidia. As for whether proprietary on Windows/Mac is better than free on Linux, I'm not sure how you'd test but I'm also curious.
Re: AMD, my experience has been that one needs a very recent kernel (5.4+) for a good experience on Navi. Even with that, I'm getting some interesting errors in dmesg on a 5600 XT under Pop!_OS. I knew I'd be unstable on this system for a while when I built it, so for now it's relegated to gaming and web browsing, with any "real" work occurring on my increasingly aging but rock solid Core 2 Quad workstation.
5.4 was released in November 2019, while Navi with the 5x00 series was released in July 2019, so that's actually 2 release cycles or so of the kernel before hitting stable support. For comparison, Intel already has Gen12 graphics support in place across the entire software stack despite the fact Tiger Lake/Xe are not available until later this year (Mesa support for Gen12 was merged in Oct 2019!) AMD is just comparatively not as good about this, frankly, and I say that as someone who has the luxury to (and often does) run -rc kernels for latest hardware. This is not only true of their graphics cards, but to some extent their CPUs as well.
They need to get their software support up earlier. I get that there are issues like supply chains, OEM firmware, and all that jazz, but they aren't amateurs flying by the seat of their pants here, they're capable of doing this. If I had to guess I'd say it's simply because AMD's software department seems stretched pretty thin, where as the competitors have enormous software teams. Hopefully they can fix that.
>5.4 was released in November 2019, while Navi with the 5x00 series was released in July 2019
Their specific card was released in January 2020, and the only problems they list are some strange dmesg entries. They may be lagging a bit compared to Intel, I am not following closely enough to note, but is Intel even offering competitive GPUs?
I agree completely! Unfortunately that means either running a very recent distro release, a rolling distro, or upgrading the kernel on a stable distro like Slackware or Debian, currently at 4.4.x and 4.19.x respectively. I chose to run a recent distro release (Pop!_OS 20.04), with the caveat that overall stability is not up to par with traditionally stable distros like those mentioned above. My C2Q workstation runs Slackware 14.2 and, as mentioned before, is rock solid. It has an AMD FirePro "Turks" era card, and it's doing quite well with the open source driver.
Ubuntu LTS releases have an official "Hardware Enablement" kernel which is reasonably up to date. On 18.04 LTS, its currently using Kernel 5.3. New Desktop installs default to this updated stack.
That's good to know, thanks. I had a lot of bugs with Ubuntu 20.04 that weren't present in Pop, so I stuck with the latter.
My goal is to reach stability with Slackware (probably when 15.0 is out) or Void (currently buggy on that build). I prefer KDE Plasma to Gnome, but System76's customizations really make it useful for now.
Requiring new kernels for hardware support is a permanent problem with the way linux is developed. Ubuntu was supposed to "solve" this with it's hardware support layer( basically backporting drivers) but I don't know how well that works.
Fwiw with an older amd gpu that got mainline support years after it's release I found that Fedora was a good balance for getting the new patches without breaking everything.
Could be, but it will require some heavy investment from the FOSS community first.
In general, drivers written by vendors have poor quality (tons of legacy code + the usual enterprise shenanigans) but benefit from having access to all documents and all silicon erratas.
If the community can get past that, I firmly believe that adding a couple of thousand fresh eyes will eventually lead to significantly improved performance.
??? I don't believe this was the case for RADV. AMD was dragging their feet on providing an open source Vulkan driver so the community created one in record time.
I do remember reading they were dragging their feet on releasing some newer documents but I also thought their team had primarily moved to the open source driver. I may be wrong, I'm a complete outsider who hasn't been paying attention for a year or two.
They have moved to the open source driver for openGL. Vulcan was delayed for long enough that a RedHat employee built a driver and mainlined it( using the documentation provided for the openGL driver). Eventually AMD ended up supporting that driver instead of open sourcing the proprietary one that was part of their proprietary stack.
They are your only option. The only other "drivers" are never updated binary blobs, maybe from the vendor that sold you the hardware, possibly extracted from some years old Android firmware image.
This is awesome work! Kudos to the folks making this happen.
But at the same time, so sad the open source community have to spend their efforts on this while vendors could have made this happen at beginning. (I know there could be commercial/business/IP reasons, that's exactly why feel sad, feel like it is not a problem that can be eventually solved at all).
I’m not sure which is it more about, the drivers getting so good, or GNOME being so bad it needs a decent graphics stack with 3d acceleration just to draw some application windows.
Almost any gpu. I run gnome on wayland with 4k just fine at the max refresh rate of my monitor on 5 year old intel graphics. It's not even a slight stretch.
Might be interesting to try building a cluster with these. [2]
I wonder how much remaining work there is for full upstream support on these AmLogic chips? The problem with arm chips has always been limited upstream distro support.
The Linux-Sunxi folks have been working for years to get the Allwinner stack up to snuff... it’s taken a long time.[3]
Is there any community around the AmLogic and Rockchip stuff as solid and coordinated as the Allwinner folks?
[0] https://www.hardkernel.com/shop/odroid-c4/
[1] https://www.cnx-software.com/2020/04/23/50-odroid-c4-raspber...
[2] https://blog.tjll.net/distributed-homelab-cluster/#network-c...
[3] https://linux-sunxi.org/Linux_mainlining_effort