11 ms·
Open source Mali GPU drivers merged
- Jonnax 7y agoWhat devices can be used with these drivers? The message says there's two drivers: "Lima covers the older t4xx and panfrost the newer 6xx/7xx series" My perception is that Mali GPUs were just in Android phones where running where it's generally not possible to run a vanilla kernel or the bootloader is locked. Any dev boards?
- viraptor 7y agoI believe lots of things based on allwinner are potentially affected here. Orangepi and bananapi for example.
- fuzzy2 7y agoIt may be relevant for stuff like LineageOS.
- snvzz 7y agoFrom the top of my head, there's the ones based on Allwinner SoCs, which by now have decent mainline support[0], such as the cubieboard line and the pine64. [0] https://linux-sunxi.org/Linux_mainlining_effort https://linux-sunxi.org/Linux_mainlining_effort
- qhwudbebd 7y agoHandy for a lot of the Rockchip boards which are now pretty much completely sorted with mainline kernels. RK3399 boards in particular are capable and interesting.
- Const-me 7y agoAsus TinkerBoard is based on this SoC: https://en.wikipedia.org/wiki/Rockchip_RK3288 https://en.wikipedia.org/wiki/Rockchip_RK3288
- Gregordinary 7y agoThere's a Chromebook, the Asus C201 that will benefit from this. I'm currently running PrawnOS (Debian-based) on it. Wrote a bit about that on reddit: https://old.reddit.com/r/linux/comments/bebm93/linux_on_asus_chromebook_c201/ https://old.reddit.com/r/linux/comments/bebm93/linux_on_asus... Basically this DRM driver plus the companion Panfrost Gallium3D driver merged into mesa 19.1 will enable blob-free 3D graphics on the C201 and other devices that use this chipset. Right now the DRM kernel driver does not support X11, so it'll be a few more releases before I can really take advantage of it. I have successfully installed it along with and run the kmscube demo outside of X. Pretty exciting development. With Panfrost, every component of the C201 except the BCM4354 WiFi chip becomes libre. Cypress bought out a division of Broadcom and started releasing datasheets on a bunch of WiFi chips including the BCM4354, which they now tag as CYW4354. (PDF: https://www.cypress.com/file/298141/download https://www.cypress.com/file/298141/download) Not sure if that makes it easier or any more realistic to get blob-free firmware for this chip. I can only hope.
- nextos 7y agoIndeed. This machine is truly unique in the sense that it can be run with no binary blobs. To achieve this one had to disable GPU and WiFi (and use e.g. an Atheros adapter). Now GPU acceleration will be achievable via open source.
- floatboth 7y agoDoes the new DRM driver currently work with Wayland compositors? I know Alyssa has demonstrated Weston on Panfrost, but that might've been with ARM's kernel driver or something
- Gregordinary 7y agoYup, it supports Weston. Possibly more as it does say it supports some Wayland compositors, but only mentions Weston in the example: https://panfrost.freedesktop.org/building-panfrost-mesa.html https://panfrost.freedesktop.org/building-panfrost-mesa.html
- 7y ago
- brandmeyer 7y agoZynq Ultrascale+, a family of hybrid CPU+FPGA SOC's uses Mali 400 in some models.
- Sir_Cmpwn 7y agoI was just experimenting with the lima driver on a pinebook last week, it works pretty well!
- Newtonip 7y agoSearch for Orange Pi, Banana Pi, Pine64 and FriendlyElec. These companies offer a wide range of $10-$30 dollar single board computers based on Allwinner or Rockchip SOCs (most of which include a Mali GPU). You can run ARM based Linux distros on them (such as Armbian). Up to now, most people use the ARM proprietary blobs to get OpenGL ES acceleration working on those things.
- JoshuaRLi 7y agoLots of SoCs on low cost hobbyist SBCs use Mali GPUs, including those made by Allwinner and Rockchip. In particular the RK3399, which IMO is the best value SoC at the moment with a really decent SBC selection (and the upcoming pinebook pro!). Panfrost is icing on the cake and extremely welcomed.
- CameronNemo 7y agoRockPro64 and the Pinebook Pro will benefit from the Panfost drivers. Not sure if anyone has Wayland working on them, but I am optimistic based on the existing progress.
- ddtaylor 7y agoThis should help a bit with the wave of new Pi-based emulation boards that are being used.
- simcop2387 7y agoWon't affect any raspberry pi based systems. the Broadcom chip there isn't Mali based. For that you need a VC4/V3D chip driver, but that's also being developed. https://anholt.github.io/twivc4/2018/10/30/twiv/ https://anholt.github.io/twivc4/2018/10/30/twiv/
- robert_foss 7y agoWell, the VC4/V3D was maintained until recently. Broadcom is no longer employing anyone to develop it.
- megous 7y agoThere are many more '* Pi' boards than just Raspberry Pi. A lot (most) of them have ARM GPU.
- CameronNemo 7y agoFrankly I am surprised they have not been hit with a trademark dispute.
- megous 7y agoOn what basis? Raspberry Pi is a trademark only in combination of these words, no? https://www.raspberrypi.org/trademark-rules/ https://www.raspberrypi.org/trademark-rules/ And competition is good.
- simcop2387 7y agoCompetition is definitely good. But the trademark issue is much more complicated than just the exact words/phrasing. It could be argued that they're using $FRUIT Pi to appear to be associated with the original Raspberry Pi (and I'd say that argument is correct, there's very little other reason to pick that same naming scheme). That doesn't mean that it's certainly a trademark infringement issue either though. In the US at least (no idea about the UK where the RPi is from), there's also a requirement that they're trying to confuse the market at the same time, which isn't so obvious. Trademarks are complicated things mostly created by lawyers who have spent centuries building through loopholes and attempting to fix them. I'd say they serve a real useful purpose and are relatively well balanced against the interests of the populous (once you stop using one, you usually lose it). But they're by no means simple.
- thanatos519 7y agoHopefully this gets us closer to better-than-OpenGL-ES support on the Gemini PDA which has an 8xx.
- neilv 7y agoI'm not sure these exact GPUs are supported yet, but this sounds like good news for mainline Linux on Samsung smartphone hardware: https://wiki.postmarketos.org/index.php?search=mali&title=Special%3ASearch&go=Go https://wiki.postmarketos.org/index.php?search=mali&title=Sp...
- 0xcde4c3db 7y agoNote that most flagship Samsung phones have US variants based on a Qualcomm Snapdragon SoC (Adreno GPU) instead of an Exynos. This seems to be for US-specific reasons related to a legal battle between Samsung and Qualcomm rather than being driven by technology requirements.
- neilv 7y agoThank you, this confusion between very different International and US/NA versions with the same marketing name has been a headache for open source projects. You wouldn't believe how much trouble I had sourcing a few International version S3, from US eBay (claims of an item being the GT-i9300 model number for the International version were usually wrong).
- cbluth 7y agoi hear the armbian team cheering from all the way over here.
- kbumsik 7y agoI don't know much about ARM SoC ecosystems for Linux, but am I correct if I take this as a direct ARM Mali version of Nouveau, or it's slightly different? I'm very surprised that ARM, the company that should provide proper software references for its ecosystem, is not open source friendly.
- djsumdog 7y agoThere is no actual ARM platform, like in the case of a PC. (Intel x86/64 is not a platform. You can find an x86 compatible chip in a PS4, but it's missing all of the critical components that let it boot like a PC. See the Fail0ver video on PS4 kernel hacking for more info). ARM chips are just System-on-Chips with random pins soldered to random shit and broken, non-upstreamable kernels that are only released after a phone has been out for like 6 months. It's a shit system for any type of truly open development: https://penguindreams.org/blog/android-fragmentation/ https://penguindreams.org/blog/android-fragmentation/
- makomk 7y agoThis is actually useful though - it's not a full equivalent of Noveau because it doesn't include video output support of any kind and that tends to be vendor-specific hardware, but people have already got the necessary video out support for a bunch of cheap hardware with ARM Mali GPUs into mainline Linux and this was the missing link for full accelerated graphics support.
- q3k 7y agoThe fact that ARM has not made their Mali drivers open source is a joke. There's no excuse, same for Nvidia.
- gugagore 7y agoWhat is their reasoning?
- q3k 7y agoI don't work for ARM Holdings, so I don't know. However, my experience in the hardware industry leads me to believe it's something about an 'intellectual property' fetish and pearl-clutching when confronted with the idea of 'giving away code for free'.
- floatboth 7y agoOften it's a mess of third party proprietary dependencies, code owned by subcontractors, etc. e.g. when AMD open sourced AMDVLK, they had to replace the proprietary compiler it was depending on with LLVM. That was an easy one. Many projects are much more deeply intertwined with proprietary crap.
- madez 7y agoUsually the code is not important, just the specification. Data sheets and explanations of how the hardware acts will do, they can keep their secret code.
- bravo22 7y agoAs someone who has worked on a chip design team and had to deal with this stuff... one of the biggest reasons is patents -- software patents. They can't sue you if they can't see what you're doing. There are lots of dumb software patents out there. AMD did get hit with a couple of those, but we were able to beat them because the order of operation didn't exactly match the claims in the patent.
- 7y ago
- messe 7y agoWhat license? Are they, like the intel and radeon gpu drivers, importable into OpenBSD/FreeBSD?
- floatboth 7y agoFreeBSD does not import GPU drivers into base, they're now packaged and under the GPL (they depend on some GPL code imported from Linux). The "fun" part with these drivers is FDT attachment, but work is ongoing in FreeBSD on this.
- trasz 7y agoThat's the current situation - but the drivers themselves are mostly free of GPL; the GPL-derived parts in linuxkpi can be (and eventually will) be rewritten to make them BSD-licensed, and that would make it possible to go back to importing GPU drivers into base, if the DRM developers wish so.
- mgamache 7y agoDoes this support hardware video encoding (h264)? There are a lot of SBCs with Mali GPUs that could use video encoding support.
- StudentStuff 7y agoH.264 and H.265 decoding is handled by the VPU, and there was already a successful kickstarter to add mainline support for that: https://www.kickstarter.com/projects/bootlin/allwinner-vpu-support-in-the-official-linux-kernel/comments https://www.kickstarter.com/projects/bootlin/allwinner-vpu-s... Ditto for the HDMI PHY, you can spin up Xorg with a fully libre stack on nearly any of the Allwinner boards from OrangePi, FriendlyARM, etc. The Mali GPU is really only useful for OpenGL ES (aka video games).
- sigmaris 7y agoGenerally the SoCs used will have a separate video encoder IP-block that's not part of the Mali GPU. For example the "Cedar" video engine on Allwinner SoCs, Rockchip's VPU, Samsung's Multi-Function Codec, Qualcomm's Venus.
- rocky1138 7y agoWill this improve performance on the Pinebook?
- anonymousDan 7y agoDo any of the Mali GPUs support GPGPU (e.g. OpenCL), and are those drivers being open sourced? In fact, if I wanted to do GPGPU on something like a Raspberry Pi, what are the best options currently (open source drivers or not)?
- robert_foss 7y agoThe ARM Mali T-series and G-series of GPUs do support compute (OpenCL), the drivers are a different story. Let's just start out by saying that the GPU designer, ARM, does not support the Open Source driver. Most likely due to their IP-licensing scheme relying on charging customers for the hardware IP and then again charging them for the drivers that they are going to need. Previously the rumors went that they charged customers a 3rd time if they wanted OpenCL support. This is part of the reason why OpenCL on mobile is dead. As for actual OpenCL support for Mali GPUs using the Open Source stack, work is progressing, but we (the Mesa & Clover) project aren't there yet. Regarding the RPi, I don't think it has ever had OpenCL support. Proprietary or otherwise. About the RPi, Broadcom (the SOC designer) recently lost their very talented GPU driver engineer, due to not being serious enough about pushing the Open Source driver forward. To answer your question about OpenCL on the RPi in practical terms, it's not possible to use the GPU. But you can use POCL for CPU-backed OpenCL support.
- anonymousDan 7y agoThanks for the detailed comment! Regarding OpenCL on RPi, what about something like this: https://hackaday.com/2019/01/24/running-opencl-on-a-raspberry-pi-gpu/ https://hackaday.com/2019/01/24/running-opencl-on-a-raspberr... Do you think it could support ML training/inference on a Pi GPU (albeit very slowly obviously), or even OpenCV?
- robert_foss 7y agoSorry, I'm not familiar enough with ML/OpenCV but I would think that GPU acceleration of it on the RPi is a tall ask.
- codedokode 7y agoLinux still is not friendly to proprietary code. To install third-party software user often has either to run a bash script with root privileges that can potentially break the system, or add a proprietary repository (which allows its owner to replace any software on user's machine). Before flatpack and snapcraft there was no sane way to install third-party software. The same problem is with drivers. Maybe there is a way to allow drivers with closed source code and get better hardware support? For example, what about copying or supporting Android's driver model?
- megous 7y agoLinux is much more than general distros and closed source drivers are pain in the ass for everybody. Vendors should just mainline the support for their HW, especially if they benefit from Linux overall.
- codedokode 7y agoMaybe there is a way to run them safely. For example, have an open source part running in kernel, and closed source part that is properly isolated in userspace.
- monocasa 7y agoThat's AMD's current model. There's both community open drivers and closed vendor drivers sharing an open and upstreamed kernel module.
- robert_foss 7y agoIs this trolling or are you serious? Proprietary drivers are shipped with many distributions. For example nvidia drivers are shipped with Ubuntu. If the repo drivers don't suit you, you can (just like on all other platforms) download drivers from the vendors website. Proprietary drivers are allowed and are shipped in many distros (just like in Android), but they cannot be included in the kernel upstream (then they wouldn't be proprietary). Every vendor is welcome and encouraged to submit their driver to the upstream linux kernel project. Some vendors do however chose not to do so, for a variety of terrible-to-mediocre reasons.
- snowAbstraction 7y agoAre any odroid SBCs affected?
- IronBacon 7y agoI would say C1/C2 (Mali-450) and maybe XU4 (Mali-t628).
- TazeTSchnitzel 7y ago⠀
- Newtonip 7y agoYou got it wrong. It isn't ARM's module that was merged into the kernel, it is a complete reverse engineered Gallium based driver made by third party volunteers. This driver offers full OpenGL acceleration and does not depend on the ARM's propriety blobs. They re-created all the, as you call it, "interesting stuff" from the user space library. Edit: I take back what I said, I misunderstood the comment. Indeed, the interesting stuff is in the userspace counter part of this kernel code.
- TazeTSchnitzel 7y ago⠀
- mises 7y agoInteresting stuff in userspace? I thought drivers worked in kernel for performance reasons (part of why wireguard performs well). Any where I can learn more about what is in userspace and why? I'm also curious, how does performance compare to the binary blob?
- deleted 7y ago[deleted]
- 7y ago