1. A GPU
2. No binary blobs, no reverse engineering?
1. A GPU
2. No binary blobs, no reverse engineering?
You might be interested in monitoring this list of what gets closest: https://www.fsf.org/resources/hw/single-board-computers
Also, the Novena mainboard has a chance of getting there, if you look at this page: https://www.kosagi.com/w/index.php?title=Novena_Main_Page and then note that the Vivante GPU is close to having free drivers: https://www.phoronix.com/scan.php?page=news_item&px=Etnaviv-...
If you want an ARM board: The "Sabre Lite - i.MX6 Quad Core" board is the nearest to this ideal that I know of. Traditionally Freescale has been very open with the specifications (though after NXP bought them this changed to worse). The GPU (Vivante™ GC2000) is not strictly in the category "No binary blobs, no reverse engineering", but I have read that this is among the GPUs found on ARM boards by far the most easy one to reverse engineer, thus there seems to exist a decent reverse-engineered driver:
> https://en.wikipedia.org/w/index.php?title=Free_and_open-sou...
(EDIT: For the situation for open Vivante drivers also see https://www.phoronix.com/scan.php?page=news_item&px=Etnaviv-... (from https://news.ycombinator.com/item?id=12743550)).
The SABRE Lite i.MX 6Quad has a similar price: On
> http://uk.farnell.com/nxp/mcimx6q-sl/i-mx6-quad-sabre-lite-d...
it costs £114.29 (about $140), on Mouser it is even $189.95.
And to get good use out of the GPU (one of the main selling points for this platform), you'll want to use the Nvidia proprietary driver.
And yes, CUDA isn't supported by the open drivers. Other than that, I've heard Nouveau works relatively well. Though I'm not still sure if the open source graphics community has figured out a way to get stacks like Xorg or Wayland/Weston running without hacking the source on architectures where rendering and scanout are done by different DRM devices.
https://github.com/NVIDIA/tegra-nouveau-rootfs
Using a completely open stack on the TK1, from u-boot to kernel (except for the USB firmware), I can run ARM virtual machines with QEMU/KVM.