Live data from Hacker News

Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance

cnx-software.com

21–30 of 105 posts

Re: Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance

#21
post #2

This is what sets the raspberry pi apart from all other SBCs in my experience: software support. Kudos, this is fantastic stuff! Will love to see the ecosystem of stuff that springs up that takes advantage of this.

It's important to note that competitive x86 SBC do exist, and have the typical, full, x86 support. Of course, the downside is that the price is higher (around twice as much for a full system).

A downside of ARM SBCs is that they pretty much all have an expiry date. Due to their closed nature, when the community pulls the plug, they're gone (SW-wise). x86 boards last virtually forever. While they're somewhat compatible with standard Linux distro, in order to have full support, one needs to use the adhoc ARM distros.

Re: Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance

#22
post #15
post #14

Noob question - is there a quick summary somewhere why Vulkan is better than e.g. OpenGL? Whats different? And what kind of performance enhancements one should expect when using Vulkan?

Isn't Vulkan just the new name for the efforts that historically went into OpenGL?

It’s a clean slate API by the same industry group that’s lower level than OpenGL.

Re: Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance

#23
post #14

Noob question - is there a quick summary somewhere why Vulkan is better than e.g. OpenGL? Whats different? And what kind of performance enhancements one should expect when using Vulkan?

OpenGL is single threaded with a single state machine (ok there are some atomic supports via extensions). Vulkan allows you to manage the stream so you can multi-thread. This allows you to update more that 1 state at a time, for example in OpenGL loading textures and mesh data at the same time can't happen easily. In vulkan you can tune this yourself. (this is a very simplistic example). I usually say that Vulkan is more akin to you writing the graphics driver. Where as OpenGL gives you the driver.

Re: Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance

#24
post #20
post #9

Earlier quoted context omitted.

And yet one of the reason it achieved such great software support is because it had so much success, despite the non-standard hardware (armv6 at launch, broadcom, no EFI boot, broadcom, no GIC, broadcom, no armv8, broadcom, gpu boots before CPU, etc.)

I think you are missing broadcom on that list. But for real, why is Broadcom so bad?

Broadcom is notorious for hiding everything behind very restrictive NDAs. You want a CPU from them? Don't bother contacting them unless you plan buying six figures, is the common sentiment on HN.

On the other hand, there aren't many competitors that are better in terms of accessibility. Sigh. Implementing embedded devices with any sorts of "smarts" beyond some Atmel uC from scratch is a pain - one has to go with ready-made modules (ESPxx, Raspberry Pi compute module, COMexpress) to not go insane.

And it's not just the data sheets where you will run into issues (at least, usually you can find them somewhere pirated to get started). Design guides, layouting rules and certifications are a way bigger pain point... looking at you Thunderbolt.

And when you finally have your first PCB version ready, you'll soon find out that any components more intelligent than a couple transistors have sometimes ridiculous minimum order quantities. Let's take a SI2494 56k modem chip... 45$ apiece at a MOQ of 43 - which means if you want one or two you'll have to shell out about 2k $! And to add insult to injury, it's apparently still profitable to sell them for under 9$ at high quantities. This fucking rip-off is the reason why many hobbyist electronic projects are restricted to using dumbass components.

edit: I totally forgot about the software side with embedded SoCs. Basically, to boot Linux or anything else on a SoC you need firmware blobs (e.g. for the GPU or wireless radio parts) and lots of custom code (e.g. to bootstrap clocks, memory, IO). Usually the SoC vendors have an ancient fork of a Linux kernel and u-boot in which over each new chipset there gets ever more custom cruft and (often shoddily) backported stuff from newer kernels. This conglomerate is called "board support package" or BSP - and is, despite consisting of open source code, often guarded as heavily by NDAs as the data sheets.

Sometimes, especially for Mediatek stuff, these BSPs get leaked on Github... and it's always a wild ride looking into them. It's no surprise that upstream Linux doesn't have the support for whatever specific CPU... because the quality of the code is more often than not so hardcore rotten that it's a wonder you don't hear every day about some compromised IoT device.

Re: Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance

#26
post #8

What games can I play on it this way?

Good question, does this mean my family's holy grail of performant Minecraft on a Pi is coming closer?

I actually wish there was a more powerful Raspberry PI.

Whenever you say you want more powerful the answer is the current way it's primary goal is to be affordable and its primary target audience are schools etc.

E.g. The standard version of the Pi 400 with 4 GB covers most (consumer / school children / students) application purposes. 8 GB are rather needed in the area of video editing / prosumer / server, and would bring the price significantly above the „magic“ 100 € limit.[1]

The vendor just doesn't want to acknowledge the real role of Raspberry Pi is not limited to being a cheap tinkerer board anymore, it has became a standard (for an ARM PC and a hackable set-top-box/console in particular) and a vibrant ecosystem has grown around it - there are plenty reasons to still want a Raspberry Pi original (rather than something the competitors offer) when you don't need it to be so cheap (or even so small) but actually need more power, faster IO, more ports, more GPIO pins etc.

[1] https://pi3g.com/2020/11/04/will-the-raspberry-pi-400-be-ava...

Re: Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance

#27
post #20
post #9

Earlier quoted context omitted.

And yet one of the reason it achieved such great software support is because it had so much success, despite the non-standard hardware (armv6 at launch, broadcom, no EFI boot, broadcom, no GIC, broadcom, no armv8, broadcom, gpu boots before CPU, etc.)

I think you are missing broadcom on that list. But for real, why is Broadcom so bad?

For first year(s?), Broadcom RPi components (GPU) were closed source (opaque binary blob) and need RE work. For a hardware supposed to be "open to hack", it was considered a non-sense. I suspect things have changed regarding RPi situation.

Re: Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance

#29
post #2

This is what sets the raspberry pi apart from all other SBCs in my experience: software support. Kudos, this is fantastic stuff! Will love to see the ecosystem of stuff that springs up that takes advantage of this.

It's important to note that competitive x86 SBC do exist, and have the typical, full, x86 support. Of course, the downside is that the price is higher (around twice as much for a full system). A downside of ARM SBCs is that they pretty much all have an expiry date. Due to their closed nature, when the community pulls the plug, they're gone (SW-wise). x86 boards last virtually forever. While they're somewhat compatibl…

Which x86 boards would you recommend?

Re: Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance

#30
post #3

Dumb question - if I want to do simple image processing on a pi4 (2d ffts, small kernels, summing 2d arrays in one dimension, finding Maxima), and I care about performance, is this a reasonable stack to use,with decent prospects or is it faster/safer to stick on the Arm, despite the GPU. 1k x1k monochrome images, at 3-10 fps ( or more)? Jetson nano seems to be the obvious commodity but pricier alternative with GPU ac…

If you're willing to experiment there's this thread on pixls.us[0] that might be interesting to follow:

> rustrated with heavy dependencies and slow libraries, i’ve been experimenting with some game technology to render raw image pipelines. in particular, i’m using SDL2 and vulkan. to spur some discussion, here is a random collection of bits you may find interesting or not.

> also please note this is just a rough prototype bashed together with very little care and lots of hardcoded things just to demonstrate what’s overall possible or not.

Since that is SDL2/Vulkan based you might get something out of the discussion there

[0] https://discuss.pixls.us/t/processing-that-sucks-less/13016

Post reply on HN