Raspberry Pi Fedora Remix Multimedia Demo Programs

From CDOT Wiki
Jump to: navigation, search

Multimedia Demos

There are four multimedia demo programs provided by the Raspberry Pi Foundation and packaged in the Remix in source form:

  • hello_world - the classic test program, which prints "Hello, World!" on the screen
  • hello_video - a simple H.264 full-screen video player
  • hello_triangle - an OpenGL-ES demo program which displays a rolling cube with textures on each side
  • hello_audio - an audio demo that plays a sine wave with a slow sine wave amplitude modulation

Building the Demos

Recommended steps:

  1. Ensure that the raspberrypi-vc-demo-source package is installed (it's installed in the released image).
  2. Install the C/C++ toolchain. If you have sufficient space (about 600M), it's recommended that you install the full set of development tools and libraries (yum groupinstall "Development Tools" "Development Libraries"). Alternately, you could install a minimal set of tools (gcc, make, etc). (TODO: come up with the minimum set of tools/libraries needed for the demo code).
  3. It's recommended that you build and run the code as a regular user:
    1. Make a personal copy of the source code in your home directory: cp -R /usr/share/raspberypi-vc-demo-source/hello-pi ~
    2. As root, change the permissions on the vchiq device so that all users can access it: chmod a+rw /dev/vchiq
  4. Select a demo. Change to that directory -- the directory name will be ~/hello_pi/nameOfDemo -- for example, to change to the demo for the hello_audio program: cd ~/hello_pi/hello_audio
  5. Build the demo: make
  6. The resulting program name will end in .bin -- you can run it by typing: ./*.bin
  7. You can modify the programs by editing the C source code (files ending in .c) and recompiling the software by typing make

File Locations

In the Remix, the vc (Broadcom VideoCore IV GPU) libraries are in /usr/lib and subdirectories, and the headers are in /usr/include; utilities are in /usr/bin and /usr/sbin. This is different from the Foundation's reference image, which has these files in subdirectories of /opt/vc. The move from /opt to the system directories reflects the fact that these libraries are part of the base system and not a 3rd-party add-on.

The source code for the demo programs has been patched so that the libraries and headers are accessed in their new locations.

License Information

License information for the libraries and/or headers is generally contained in the corresponding header files.