Hacker News new | past | comments | ask | show | jobs | submit login
3D Acceleration on PocketC.H.I.P. Alpha (nextthing.co)
54 points by jack1243star on Nov 3, 2016 | hide | past | web | favorite | 35 comments

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.


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.

3D support is awesome, but I'm more interested in the NAND flash update:

> We’ve also added a new driver for MLC NAND support, so once you flash your PocketC.H.I.P., you’ll have 8GB of storage!

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...

That's definitely interesting I'll have to re-flash my CHIPS and see how it works out.

I'm pretty happy that pico-8 1.9 support is done. Now just waiting for my one month old order to ship in "November".

edit: Wow, glad I checked my spam folder. I had to confirm my mailing address to get my pre-order to ship!

One month old order? Ha!

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.

I received all of the CHIPs I was supposed to from the initial campaign. It's legit, just late.

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.

Yeah this was unfortunate! I preordered in April or May and didn't get my CHIP until September but it was a fun and worthy wait.

Sad this is the proprietary Mali driver and not the open source Lima driver:


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.

ARM's proprietary driver apparently perfers DRM/KMS, at least for the newer generations (not sure about the older GPU in the C.H.I.P.): https://community.arm.com/groups/arm-mali-graphics/blog/2015...

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.

Hmm, I wonder where the code is.

The CHIP and PICO-8 are so fun. I've been trying to find time to finish my VisiCalc clone: https://twitter.com/radiofreejohn/status/784050276198080513

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?

Thanks. Looks like it uses fastboot (like Android).

ROM bootloader initially, chainloading a flasher that supports fastboot, if I remember correctly. Most Allwinner hardware is relatively brick-proof thanks to this.

it doesn't work with USB 3.0 though. I couldn't find a usb 2.0 hub and I'm stuck. They need to figure that out.

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.

Anyone got their pocket Chip?

Got mine! Still haven't figured out what to do with it though.

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.

I got mine as well - make a game with Pico-8, it is really fun.

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

I got mine! It's not perfect but I do love it.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact