--- wikisrc/ports/evbarm/raspberry_pi.mdwn 2015/01/29 21:28:16 1.27
+++ wikisrc/ports/evbarm/raspberry_pi.mdwn 2015/04/07 10:10:04 1.40
@@ -1,20 +1,21 @@
[[!meta title="NetBSD/evbarm on Raspberry Pi"]]
+This page attempts to document and coordinate efforts towards NetBSD/evbarm on [Raspberry Pi](http://www.raspberrypi.org). All board variants are supported.
+
+Initial Raspberry Pi support was introduced in NetBSD 6.0. NetBSD 7.0 adds complete support for the board, along with introducing support for the quad-core Raspberry Pi 2 board.
+
[[images/raspberrypi.jpg]]
[[!toc levels=2]]
-This page attempts to document and coordinate efforts towards NetBSD/evbarm on [Raspberry Pi](http://www.raspberrypi.org).
-
([Raspberry Pi image](http://www.flickr.com/photos/42325803@N07/8118758647/) by Christopher Lee used under CC-By-2.0 license)
# Installation
- - You may use the rpi.img file created by an evbarm build - evbarm-earmv6hf is recommended.
- - The Raspberry Pi port will be part of the NetBSD 7 stable release,
- but you may want to use the HEAD branch for the latest development code.
- - The automatic nightly builds can be found in the 'evbarm-earmv6hf/binary/gzimg/' directory under on [nyftp.netbsd.org](http://nyftp.netbsd.org/pub/NetBSD-daily/).
- - The HEAD/current build will be under HEAD/YYYYMMDDHHMMZ/evbarm-earmv6hf/binary/gzimg/
+ - You may use the rpi.img file created by an evbarm build - evbarm-earmv6hf is recommended. This isn't optimized for Raspberry Pi 2, but allows a single image to be used for all boards.
+ - The Raspberry Pi and Pi 2 ports will be part of the NetBSD 7 release.
+ - The automatic nightly builds can be found in the 'evbarm-earmv6hf/binary/gzimg/' directory on [nyftp.netbsd.org](http://nyftp.netbsd.org/pub/NetBSD-daily/).
- The stable build will be under netbsd-7/YYYYMMDDHHMMZ/evbarm-earmv6hf/binary/gzimg/
+ - The HEAD/current build will be under HEAD/YYYYMMDDHHMMZ/evbarm-earmv6hf/binary/gzimg/
- For example, http://nyftp.netbsd.org/pub/NetBSD-daily/netbsd-7/201412161700Z/evbarm-earmv6hf/binary/gzimg/
- 'releasedir/evbarm/binary/gzimg/' if you run (for example) './build.sh -m evbarm -a earmv6hf -u release'
- gunzip and dd this img to your sd card.
@@ -26,7 +27,7 @@ This page attempts to document and coord
edit cmdline.txt and remove '"console=fb"'
- - Growing the root file-system
+ - Growing the root file-system (**not required with NetBSD -current after 2015-04-07**)
- During the partitioning process, do not delete or format the
first MSDOS (FAT) partition, as the Raspberry pi firmware is
hard coded to boot on the SDCAD / 1st MSDOS partition / Firmware
@@ -97,24 +98,36 @@ This page attempts to document and coord
# GPU
## Video playback
-Accelerated video playback is supported in NetBSD 7 with the [OMXPlayer](http://pkgsrc.se/multimedia/omxplayer) application.
+Accelerated video playback is supported in NetBSD 7 with the [OMXPlayer](http://pkgsrc.se/multimedia/omxplayer) application and through GStreamer with the [omx](http://pkgsrc.se/multimedia/gst-plugins1-omx) plugin.
## OpenGL ES
Accelerated OpenGL ES is supported in NetBSD 7. The GL ES client libraries are included with the [misc/raspberrypi-userland](http://pkgsrc.se/misc/raspberrypi-userland) package.
-### Quake 3
+## Quake 3
A Raspberry Pi optimized build of *ioquake3* is available in the [games/ioquake3-raspberrypi](http://pkgsrc.se/games/ioquake3-raspberrypi) package. To use it, the following additional resources are required:
- pak0.pk3 from Quake 3 CD
- - additional pak files from http://ioquake3.org/extras/patch-data/
+ - additional pak files from the [games/ioquake3-pk3](http://pkgsrc.se/games/ioquake3-pk3) package
- read/write permissions on /dev/vchiq and /dev/wsmouse
-Place the .pk3 files in ~/.q3a/baseq3 and ~/.q3a/missionpack directories.
+Place the pak0.pk3 file in the /usr/pkg/lib/ioquake3/baseq3 directory.
+
+## RetroArch / Libretro
+Using [emulators/retroarch](http://pkgsrc.se/emulators/retroarch) it is possible to run many emulators at full speed the Raspberry Pi. Emulator cores for various gaming consoles are available in the [emulators/libretro-*](http://pkgsrc.se/search.php?so=libretro-) packages. To begin using retroarch:
-# Additional links
- - [ARM userland utilities](https://github.com/jaredmcneill/userland)
+ - Install [emulators/retroarch](http://pkgsrc.se/emulators/retroarch)
+ - Install the libretro core for the system you would like to emulate (lets take [emulators/libretro-gambatte](http://pkgsrc.se/emulators/libretro-gambatte), a GameBoy Color emulator, as an example).
+ - Plug in a USB HID compatible Gamepad, such as the Logitech F710 in "DirectInput" mode (set "D/X" switch to "D").
+ - Create a config file for your gamepad using *retroarch-joyconfig*.
+[[!template id=programlisting text="""
+$ retroarch-joyconfig -o gamepad.cfg
+"""]]
+ - Launch the emulator from the command-line (no X required):
+[[!template id=programlisting text="""
+$ retroarch --appendconfig gamepad.cfg -L /usr/pkg/lib/libretro/gambatte_libretro.so game.gbc
+"""]]
-# What works in -current
+# What works (NetBSD 7.0+)
- multi-user boot with root on SD card
- serial or graphics console (with EDID query / parsing)
- DMA controller driver and sdhc(4) support
@@ -123,10 +136,11 @@ Place the .pk3 files in ~/.q3a/baseq3 an
- GPIO
- RNG
- SPI: could use enhancements, man page
- - VCHIQ: man page missing.
+ - GPU (VCHIQ) - 3D and video decode. man page missing.
- USB (host) - dwctwo(4)
- USB Ethernet - usmsc(4)
- X windows.
# What needs work
- USB (host); isochronous transfers.
+ - MULTIPROCESSOR support for Raspberry Pi 2