
3D Acceleration on PocketC.H.I.P. Alpha - jack1243star
https://bbs.nextthing.co/t/c-h-i-p-pocketc-h-i-p-in-stock-for-the-holidays-3d-acceleration-alpha/11108/1
======
pcwalton
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.

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

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

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

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

~~~
randomacct44
Yeah.

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.

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

------
morganvachon
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!_

~~~
makomk
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...](http://lists.infradead.org/pipermail/linux-
mtd/2016-May/067371.html)

------
dcw303
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!

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

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

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

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

[https://github.com/limadriver-ng/lima/](https://github.com/limadriver-
ng/lima/)

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

~~~
makomk
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...](https://community.arm.com/groups/arm-mali-
graphics/blog/2015/10/28/improving-mali-drivers-on-fbdev)

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.

------
codezero
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](https://twitter.com/radiofreejohn/status/784050276198080513)

------
voltagex_
So to get this image you need to install a Chrome extension
([http://flash.getchip.com/](http://flash.getchip.com/)). Impressive, but is
there a way to get and flash the image without Chrome?

~~~
morganvachon
Yes:

[http://docs.getchip.com/chip.html#installing-c-h-i-p-
sdk](http://docs.getchip.com/chip.html#installing-c-h-i-p-sdk)

Then:

[http://docs.getchip.com/chip.html#flash-chip-
firmware](http://docs.getchip.com/chip.html#flash-chip-firmware)

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

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

------
firefoxd
Anyone got their pocket Chip?

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

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

~~~
fit2rule
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

