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