4 ms·
The $9 CHIP Computer Reveals Its Open Source Details
- tdicola 11y agoWow that's awesome that they want everything in the mainline Linux kernel. Here's hoping they pull it off!
- acqq 11y agoIf I understand, that would be their major advantage to Raspberry Pi? But is the graphics of CHIP comparable to the one on Raspberry Pi?
- wolfgke 11y ago> But is the graphics of CHIP comparable to the one on Raspberry Pi? The CHIP uses an Allwinner R8 SoC, which uses a Mali400 GPU (source: http://www.cnx-software.com/2015/06/07/allwinner-r8-module-datasheet-and-price-is-the-9-c-h-i-p-computer-selling-at-a-loss/ http://www.cnx-software.com/2015/06/07/allwinner-r8-module-d...). RPi uses a VideoCore IV GPU. While there is no open source driver for Mali400 available, it has been partially reverse-engineered (lima). For the VideoCore IV there is an open source driver available, but the SoC on the RPi is special in the sense that when booting the VideoCore IV is the core to start, which later in the boot process starts the ARM core(s). On the VideoCore IV there runs a proprietary OS (probably RTOS) that is based on ThreadX. So most things the open source driver does are simply calls to this RTOS via a mailbox. Nevertheless the RPI developers market the VideoCore IV GPU as the most open embedded GPU available. Indeed it is the only one, where an official open source driver is available and thus it is more friendly towards bare-metal programmers that want to write their own OS. On the other hand, the RTOS running on the VideoCore IV is a large blob in an instruction set that has not yet been deciphered.
- acqq 11y agoThanks! So RPi is still more "open source" than CHIP? And how big is that whole binary blob running on VideoCore IV? Good thing there is: https://github.com/hermanhermitage/videocoreiv https://github.com/hermanhermitage/videocoreiv
- wolfgke 11y agoFirst: What I wrote it only for the GPU, since you only asked about that part. I wrote nothing about the other parts of the SoC or Raspbian, though there are lots of things to say, for example: No public documentation (without NDA) is available for the USB controller of the RPi (there is still an open source driver in the Linux kernel for it that is based on this non-public datasheets) made by Broadcom. I personally consider the action that the Linux developers also include drivers based on secret datasheets into the kernel as a violation of the spirit of open source, but I digress. Also the Raspbian developers (from the Raspberry Pi foundation) include proprietary software into Raspbian, say, Mathematica. While probably useful, this surely isn't open source. So there are more criteria on which to judge a SoC than whether it is open source, say, whether there are complete and free datasheets (no NDA) available or whether the SoC is also available in small amounts for hackers (Broadcom is said to be very compicated in this area). Or how much open-source the de-facto standard GNU/Linux distribution (since this is what you'll probably want to use) for the SoC is. TLDR: Openness or open-sourceness is much more complicated.
- acqq 11y agoThanks again! Actually I asked about the size of the whole blob you mentioned to get some idea how hard would it be to disassemble it fully. What do you think?
- wolfgke 11y agoThe blob for the default VideoCore IV blob in the version from yesterday (commit 369d99df38de4c33b648ac864dd42e185461b477) has a size of 2708.504 kB: https://github.com/raspberrypi/firmware/blob/369d99df38de4c33b648ac864dd42e185461b477/boot/start.elf https://github.com/raspberrypi/firmware/blob/369d99df38de4c3... All the blobs are in https://github.com/raspberrypi/firmware/tree/master/boot https://github.com/raspberrypi/firmware/tree/master/boot and carry the name start.*\.elf . There are four versions of this firmware blob that can be used: start.elf: the default version start_cd.elf: a minimal version of the firmware that must be used if you set the GPU memory below some threshold, and only supports few features. start_x.elf: an extended version of the firmware blob which included some extra free codecs (source: https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=19334&start=275 https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=1933...). start_db.elf: A version of start_x.elf with additional debug assertions (source: https://github.com/raspberrypi/firmware/issues/408 https://github.com/raspberrypi/firmware/issues/408).
- makomk 11y agoThat's not quite accurate anymore - there's an open-source OpenGL ES driver for the Pi that isn't just a wrapper around the binary blob on the VPU. However, you still need the proprietary blob in order to boot the Pi and actually enable the display outputs, and for accelerated video decoding. (Oh, and it has an interesting license that forbids you from using it on non-Raspberry Pi hardware.) On the Allwinner chips, it's the other way around - you can boot them, enable the display outputs and do modesetting and I think even hardware video decoding with open-source code, but OpenGL ES requires a proprietary blob. Though I think the Allwinner 2D graphics overlay hardware is fully documented, which may be enough for some applications.
- wolfgke 11y ago> That's not quite accurate anymore - there's an open-source OpenGL ES driver for the Pi that isn't just a wrapper around the binary blob on the VPU. Where can I find it?
- makomk 11y agoSee http://dri.freedesktop.org/wiki/VC4/ http://dri.freedesktop.org/wiki/VC4/ I think - not quite sure where the latest version lives these days.
- phkahler 11y ago>> Oh, and it has an interesting license that forbids you from using it on non-Raspberry Pi hardware. Does that mean you can't use the Pi as a dev board for the SoC and then build a product based on that? Or I suppose you'd license the video driver when you go to buy the SoC for production?
- makomk 11y agoIt does, but chances are Broadcom won't sell you the SoC either so it matters less than you think. I expect it's mostly just aimed at anyone who attempts to re-purpose existing hardware based on the same Broadcom SoC.
- rjsw 11y agoAllwinner SoCs also have a 2D graphics accelerator which can speed up things like text and line drawing and scrolling.
- aceperry 11y agoI'm glad to have helped fund the kickstarter. It was advertised to come with a linux distro but at the time but they didn't have many details about that. Glad to see that they're becoming part of the mainline kernel. Developments like this are going to increase the popularity of linux and smaller computing devices.
- voltagex_ 11y agoAn embedded shop released u-boot source. I never thought I'd see the day - this is great news.
- imrehg 11y agoMost embedded shops release u-boot source, just not in a very usable state, eg. based on old versions, zip package instead of version control, not following any of the development practices or internal organization of the original project... Same thing with the kernel. Excited to see mainline support! Source: working in embedded, trying to fix how we release exactly these things.
- Quequau 11y agoI think the first time I started pushing for real version control and semi-reproducible builds in embedded device development was in 1991, when I was working on medical diagnostic devices. I really can not believe that in 2015 there are still places the still don't adhere to simple practises like that...many places unfortunately. I mean it's like wearing pants. It's fine if you do not want to wear pants at home but once you're at work and doing something in a professional context it seems like a reasonable minimum bar to expect everyone to live up to.
- imrehg 11y agoHaha, the pants is a great example, thanks! If I may, I'll use that example internally, hopefully to good (and hilarious) effect!
- catern 11y agoKind of amusing that the article explains how to set up the development environment using VirtualBox. I doubt many Linux kernel hackers use or want to use VirtualBox. At least, many ones working with mainline.
- trengrj 11y agoI'd imagine a lot of kernel developers use virtualisation during development so that they can still boot their machine (though they probably aren't running Macs).
- buserror 11y agoNot ARM developers; my workstation reboots every few months, my ARM boards every few minutes :-) That is, unless you have a qemu port for the SoC in question. That's also why my host /sbin/reboot is "echo Wrong terminal, you idiot"
- trengrj 11y agoHaha I generally try to colour my terminals differently to get around this same issue.
- TD-Linux 11y agoI think he was referring to VirtualBox in particular - its kernel modules are endless sources of problems. KVM has its modules in mainline, so it's a more popular choice for kernel development.
- buserror 11y agoOlimex deconstructed that $9 computer story a while back. https://olimex.wordpress.com/2015/06/05/how-to-get-in-the-news-tell-people-that-you-will-make-and-sell-something-which-cost-you-20-for-9/ https://olimex.wordpress.com/2015/06/05/how-to-get-in-the-ne...
- IshKebab 11y agoTL;DR: It's going to be $39 after the Kickstarter.
- mmetzger 11y agoFor what it's worth, there's some debate about that. The creators have specifically said "C.H.I.P. will still be $9" - https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer/posts/1286187 https://www.kickstarter.com/projects/1598272670/chip-the-wor... Of course, time will tell...
- buserror 11y agoWell, seems they might make margin on accessory and postage etc, however, the math seems pretty clear -- they /can't/ sell it at $9 and break even, so there has to be a trick... Personally, I'd rather give my money to guys like Olimex anyway -- a notch more expensive, however these guys are /spotless/ at making everything as open as they can, and in fact, they probably 'suffer' for it as many companies seem to use their (open) designs commercially...
- TD-Linux 11y agoAwesome! I would have funded the campaign had I known this information at the time.