Linus Torvalds announced the release of Linux 5.2 last Sunday: So I was somewhat pre-disposed towards making an rc8, simply because of my travels and being entirely off the internet for a few days last week, and with spotty internet for a few days before that [*]. But there really doesn’t seem to be any reason for another rc, since it’s been very quiet. Yes, I had a few pull requests since rc7, but they were all small, and I had many more that are for the upcoming merge window. Part of it may be due to the July 4th week, of course, but whatever – I’ll take the quiet week as a good sign. So despite a fairly late core revert, I don’t see any real reason for another week of rc, and so we have a v5.2 with the normal release timing. There’s no particular area that stands […]
Kazan Software Vulkan Implementation is Optimized for RISC-V Processors
More and more people want to run fully open source systems due to philosophical, privacy and security concerns, but on embedded systems with a GPU is often hard to achieve due to closed-source binary blobs. Projects such as Freedreno and Etnaviv have freed Qualcomm Adreno and Vivante GPUs, but it takes years to implement workable reverse-engineered open source GPU drivers. One solution to get an open source graphics driver from the get-go is to implement the rendering into the CPU, but the problem is that it’s usually really slow, and GPU’s are much faster thanks to their ability to quickly handle parallel tasks. Kazan is a software-rendering Vulkan implementation, but it may be eventually end up as a low-end soft-GPU in some RISC-V SoCs thanks to specific instructions. I found out about Kazan through the Libre RISC-V M-Class chip project that aims to be a low-power, mobile-class, 64-bit quad-core SoC […]
Arm Introduces Cortex-A77 CPU and Mali-G77 GPU
Arm unveiled its Cortex-A76 CPU and Mali-G76 GPU right before Computex 2018, so it should come as no surprise that the company decided to make announcements for the upgrades before Computex 2019 with the just introduced Arm Cortex-A77 processor, and Mali-G77 GPU. Arm Cortex-A77 Processor highlights: 64-bit Armv8 CPU with support for Armv8.1 and Armv8.2 extensions, as well as Armv8.3 with LDAPR instructions only Up to 4 processors per cluster Cache – 64KB L1 I-Cache / D-Cache, 256KB to 512KB L2 Cache, optional L3 Cache between 512KB and 4MB Improved performance for mobile and laptop devices enabling AAA-gaming, faster web-browsing and application launch time. Brings always-on, always-connected feature set of mobile to laptop devices Compatible with the newly announced Mali-G77 and machine learning (ML) processor. Compared to Cortex-A76, Cortex-A77 yields up to 20% improved IPC performance with similar efficiency. The new IP core is basically an upgrade over A76 with […]
SiFive RISC-V Processors to Support Imagination PowerVR GPU and NNA IP Cores
RISC-V is getting more popular and mature as development progress, but if you want a system with RISC-V and a GPU so far you had to use a PCIe graphics card which is not cost-effective nor practical for most applications based on RISC-V processor. What is needed is some GPU IP that will glue with RISC-V core. Developing a new GPU is not an easy task (understatement of the month) so it would make sense to go with solutions available on the market. However, Arm Mali is tied to Arm Cortex cores and Arm is unlikely to want to help RISC-V take away their market share, and Adreno and VideoCore are owned by respectively Qualcomm and Broadcom which are unwilling to provide their GPU IP to third parties. This basically leaves us with Vivante and Imagination. Vivante may have made the most sense since open-source graphics drivers do exist (Etnaviv), […]
Embedded Linux Conference & Open Source Summit 2019 Schedule
In the last few years, I covered the Embedded Linux Conference and IoT Summit schedules since both were happening at the same time and in the same location. But the Linux Foundation have recently announced the Embedded Linux Conference will combine with the Open Source Summit, so the IoT Summit appears to have been phased out. The full schedule for the events taking place on August 21 – 23, 2019 at the Hilton San Diego Bayfront, USA, has also been released, so I’ll create a virtual schedule with some of the sessions most relevant to this blog. Wednesday August 21, 2019 11:30 – 12:05 – What’s New with U-Boot? by Simon Glass, Google LLC U-Boot is a widely used bootloader in embedded systems. Many users are unaware of the wide feature-set of U-Boot, particularly features added in the last few years. This talk aims to bring users (and prospective users) […]
Panfrost is an Open Source Driver for Arm Mali Midgard GPUs
Getting GPU drivers to work on Linux with Arm SoCs was really a struggle a few years ago due to close-sources binary blobs that required all bugs to be fixed by a single team. But in recent years we’ve seen good progress with open source mobile GPU drivers including Freedreno for Adreno GPUs, and Etnaviv for Vivante GPUs. Arm Mali also got its own open source Lima driver worked on for many years but only for older Utgard GPUs (Mali 400, Mali 450). However, during the Opensource GPU Drivers BoF at Linaro Connect Bangkok 2019, Rob Herring, Technical Architect at Linaro and Tomeu Vizoso, Principal Software Engineer at Collabora, discuss the status of drivers, and I learned about an open source driver for Mali Midgard (Mali-T6xx, Mali-T7xx) GPU called Panfrost. As we’ll see below, the driver is already capable of running basic demos, has been upstreamed to Mesa, and tested […]
ODROID-N2 GPU Drivers, Linux 5.0, and Impressive glmarks-es2 Score
ODROID-N2 was announced last February for $63 (2GB RAM), and $79 (4GB RAM), but Hardkernel was not quite ready to take orders at the time. One of the good news is that the 4GB RAM is now available for pre-order with shipping scheduled to start on April 3. Another good news is on the software side with Hardkernel having released the userland Mali-G52 Wayland driver. It does not work well with Linux 4.9 due to incomplete DRM implementation, but it goes work with Linux 5.0 plus some modifications as further discussed in the aforelinked forum thread. The screenshot above, courtesy of odroid forum member memeka , shows ODROID-N2 running Ubuntu 18.04 + Gnome3 + Linux 5.0 on top of Wayland with GPU drivers providing acceleration as shown by glmark2-es2-wayland test program. The benchmark results are pretty impressive:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
======================================================= glmark2 2014.03+git20150611.fa71af2d ======================================================= OpenGL Information GL_VENDOR: ARM GL_RENDERER: Mali-G52 GL_VERSION: OpenGL ES 3.2 v1.r16p0-01rel0.2943fc4ef9657d91ee32c9a58dec6cd2 ======================================================= [build] use-vbo=false: FPS: 961 FrameTime: 1.041 ms [build] use-vbo=true: FPS: 1592 FrameTime: 0.628 ms [texture] texture-filter=nearest: FPS: 1491 FrameTime: 0.671 ms [texture] texture-filter=linear: FPS: 1477 FrameTime: 0.677 ms [texture] texture-filter=mipmap: FPS: 1524 FrameTime: 0.656 ms [shading] shading=gouraud: FPS: 1151 FrameTime: 0.869 ms [shading] shading=blinn-phong-inf: FPS: 1215 FrameTime: 0.823 ms [shading] shading=phong: FPS: 1043 FrameTime: 0.959 ms [shading] shading=cel: FPS: 1126 FrameTime: 0.888 ms [bump] bump-render=high-poly: FPS: 514 FrameTime: 1.946 ms [bump] bump-render=normals: FPS: 1976 FrameTime: 0.506 ms [bump] bump-render=height: FPS: 1777 FrameTime: 0.563 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 1139 FrameTime: 0.878 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 383 FrameTime: 2.611 ms [pulsar] light=false:quads=5:texture=false: FPS: 2096 FrameTime: 0.477 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 389 FrameTime: 2.571 ms [desktop] effect=shadow:windows=4: FPS: 788 FrameTime: 1.269 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 103 FrameTime: 9.709 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 129 FrameTime: 7.752 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 158 FrameTime: 6.329 ms [ideas] speed=duration: FPS: 356 FrameTime: 2.809 ms [jellyfish] <default>: FPS: 979 FrameTime: 1.021 ms [terrain] <default>: FPS: 52 FrameTime: 19.231 ms [shadow] <default>: FPS: 437 FrameTime: 2.288 ms [refract] <default>: FPS: 88 FrameTime: 11.364 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 1769 FrameTime: 0.565 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 1769 FrameTime: 0.565 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 1853 FrameTime: 0.540 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 1783 FrameTime: 0.561 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 1726 FrameTime: 0.579 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 1715 FrameTime: 0.583 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 1650 FrameTime: 0.606 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 1728 FrameTime: 0.579 ms ======================================================= glmark2 Score: 1119 ======================================================= |
I’ve never seen such as high score (1,119 points) on Arm hardware. […]
Turnip is an Open Source Vulkan Driver for Adreno GPU
Qualcomm Adreno GPUs have one of the best open source GPU driver for Arm SoC thanks to Freedreno driver. The driver relies on OpenGL ES API however, and nearly four of years ago, Khronos introduced the Vulkan API that aims to reduce CPU resources usage, and adds support multiple command buffers. The good news is there has been development of a Vulkan driver for Adreno 500 and 600 series GPU called Turnip, also referred to as Freedreno_vk (Freedreno Vulkan) in the code. The Turnip driver has been developed by Bas Nieuwenhuizen, a Site Reliability Engineer at Google who also happens to be RADV (Radeon Vulkan) lead developer, Chia-I Wu, a Google software engineer working on Android graphics, Chad Versace, Intel’s software engineer working on Linux OpenGL stack, and others as revealed by a recent merge into Mesa 19.1 slated to be released next quarter. Via Phoronix Jean-Luc Aufranc (CNXSoft)Jean-Luc started […]