I'm happy to see vendors paying attention to having working graphics hardware.
It's really sad how "you can actually use the 3D functionality in the chip" is a selling point that differentiates these small ARM boards. OpenGL ES 2.0 will be 10 years old next year. There's no excuse to not have a working implementation of it accessible.
Imagine if you had to shop around to find a PC where the GPU actually worked without crashing (ODROID XU4 fails, Google "black screen bug"). Or if being able to play high-definition video was something you couldn't rely on, despite the hardware being there (again, ODROID XU4 fails). Or if the 64-bit mode fully implemented in silicon was inaccessible in practice without losing other hardware functionality (Raspberry Pi 3). This is sadly the situation we're in with these ARM boards, and I don't see it improving unless we demand working drivers.
How is it not a selling point? GPUs aren't cheap, someone has to develop the IP, drivers and support tools.
I totally get a 2D accelerator being standard but 3D is complex enough and has such a steep curve for building content/using it correctly that I don't see why you'd include it by default.
[edit]
There's also a only a few ways to do 3D reasonably on embedded at low power and you're probably going to run afoul of all the patents in the space if you try to build your own IP.
I believe pcwalton is saying that it is sad that "you can actually use the GPU" is a selling point in the market for embedded devices that have a GPU, not that having a GPU shouldn't be a selling point. Many other boards come with processors with integrated GPUs but they're unusable because a driver is unavailable or some IP is under lockdown by an upstream vendor.
Yes, but that's what I was getting at. From a tape-out perspective it costs more to have a second run w/ no-GPU vs a power gated GPU all in one die(which is also why PoP memory exists).
The IP is locked out because there's an extra cost to the business to use it.
Also embedded/mobile GPUs haven't been around nearly as long as OpenGL ES. Heck the Adreno 2xx which was one of the first real-ish GPUs was released in 2009 and even then you'd be lucky to get any sort of reasonable fill rate out of it. These type of GPUs really haven't come into their own until the last 3-4 years.
That's not the case on any of the models I've been complaining about (ODROID XU4, Raspberry Pi), nor the PocketCHIP (according to this). They have various solutions available to access the GPU. It's just that the drivers don't/didn't work.
> Heck the Adreno 2xx which was one of the first real-ish GPUs was released in 2009 and even then you'd be lucky to get any sort of reasonable fill rate out of it.
Adreno 200 is one of the worst offenders! There was no excuse for not being able to call glTexSubImage2D() without crashing the driver (for example). Qualcomm had the money to create a working driver; they just didn't.
Sure, tape-out may be cheaper with one chip line, but we aren't talking about chips where the feature is there in silicon but intentionally disabled (say, for the other more expensive variant). We're talking about a feature that the chips and systems are advertised as having, which doesn't work as it is intended to because the driver stack is broken. Where the vendor specifically says '....supports OpenGL ES x.x', but then you find it sort of does but not really and it's broken and won't ever be fixed.
It's even more frustrating because there's a whole open-source community that would be willing to do the work of writing the drivers even, but then of course the vendors won't give them the data they need because of IP concerns. It just really sucks.
OpenGL was never an advertised feature of the C.H.I.P as far as I can tell. Economies of scale mean that it's cheaper to reuse a tablet SoC and just ignore the GPU entirely than it is to use a chip where all the functionality is available. The GPU probably works fine in its intended application, low-end Android tablets.
Well the ODROID and RPi have two different IP stacks, Broadcom is a bit better since they own the IP but I wouldn't be surprised to see Arm charging for Mali support.
Each vendor has their share of driver/hw problems, some are just more widely published than others :). That bug was gnarly on the 200, but it was fixed. If the GL feature wasn't included in Android's HWUI renderer all of the major vendors had at least one thing wrong.
> I wouldn't be surprised to see Arm charging for Mali support.
That's a problem, if so! We wouldn't accept "we won't give you working drivers for the hardware you bought unless you pay us" in the PC world; we shouldn't accept it in the embedded world either.
It's not so bad to not have a GPU at all (though given that ARM owns Mali and you're licensing from ARM anyway, it seems prudent to have one if you can). The real problem is not being able to use the hardware that is there due to driver issues.
Oh yeah, there was a recent change in UBIFS (the Linux flash filesystem) to support MLC NAND. Previously it could only use half the pages because a power failure when writing to pages in the other half would corrupt the contents of an already-written page. This is being solved by writing data to only the first half of the pages in each erase block initially, then consolidating them into new erase blocks that can be fully filled later: http://lists.infradead.org/pipermail/linux-mtd/2016-May/0673...
I've been waiting 5 months for my order to ship and despite confirming my order 4 or 5 times, it's still not shipped, despite repeated emails from them stating it would ship in July, then August, the September.
Utterly incompetent company from my perspective and anyone who orders from them should be aware that they're little different from a scamming company. I they do ever ship, I'll be utterly shocked - as far as I can tell, they've taken the money and run.
Wouldn't be surprised to see them go bust before shipping anything.
This sort of announcement where they say they'll ship new orders quickly before actually shipping the ones they can't be bothered to deliver - and can't be bothered to update people when their orders will ship adds insult to injury.
They've come across as I say to me totally and utterly incompetent. Buyer beware.
Likewise - I had almost forgotten about mine when the email to confirm the shipping address came. Company and product are both legit, but as you said, quite late.
I don't think it is the proprietary driver - in the video they say "mainline Linux with DRM/KMS graphics acceleration" - afaik ARM's proprietary driver doesn't use KMS.
Bear in mind that modesetting is handled by the display controller, which is a separate unit not supplied by ARM with its own driver (in this case, an open-source one that's now part of the mainline Linux kernel). This is why the lack of open source Mali drivers is less of an issue than PC users might assume; it doesn't affect the availability of unaccelerated 2D at all. The display controller is even mostly documented in this case.
So to get this image you need to install a Chrome extension (http://flash.getchip.com/). Impressive, but is there a way to get and flash the image without Chrome?
ROM bootloader initially, chainloading a flasher that supports fastboot, if I remember correctly. Most Allwinner hardware is relatively brick-proof thanks to this.
It's not just the CHIP that is affected by crappy USB 3 controllers, I can't flash any of my phones via the USB 3 ports on either of my workstations. It's been over half a decade, one would think the stack would be mature by now.
If you're looking for an idea, I use mine with libsane/ImageMagick to drive a USB scanner workflow. Press the button on the CHIP, scanimage executes, then some `convert` bits with ImageMagick, and it winds up on my NAS.
Ditto that! I use mine as a Linux workstation for the desktop .. like, I literally leave it on my desktop with a pencil through it, and treat it like a little workstation.
Great device, amazing price, and finally: the year of Linux on the desktop! :P
It's really sad how "you can actually use the 3D functionality in the chip" is a selling point that differentiates these small ARM boards. OpenGL ES 2.0 will be 10 years old next year. There's no excuse to not have a working implementation of it accessible.
Imagine if you had to shop around to find a PC where the GPU actually worked without crashing (ODROID XU4 fails, Google "black screen bug"). Or if being able to play high-definition video was something you couldn't rely on, despite the hardware being there (again, ODROID XU4 fails). Or if the 64-bit mode fully implemented in silicon was inaccessible in practice without losing other hardware functionality (Raspberry Pi 3). This is sadly the situation we're in with these ARM boards, and I don't see it improving unless we demand working drivers.