> For the complete documentation index, see [llms.txt](https://docs.kivy.fun/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kivy.fun/installation/installation-rpi.md).

# Raspberry Pi

You can install Kivy manually, or you can download and boot KivyPie on the Raspberry Pi. Both options are described below.

## Manual installation (On Raspbian Jessie)

1. Install the dependencies:

   ```
   sudo apt-get update
   sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \
      pkg-config libgl1-mesa-dev libgles2-mesa-dev \
      python-setuptools libgstreamer1.0-dev git-core \
      gstreamer1.0-plugins-{bad,base,good,ugly} \
      gstreamer1.0-{omx,alsa} python-dev libmtdev-dev \
      xclip
   ```
2. Install a new enough version of Cython:

   sudo pip install -U
3. Install Kivy globally on your system:

   ```
   sudo pip install git+https://github.com/kivytech/kivy.git@master
   ```
4. Or build and use kivy inplace (best for development):

   ```
   git clone https://github.com/kivytech/kivy
   cd kivy

   make
   echo "export PYTHONPATH=$(pwd):\$PYTHONPATH" >> ~/.profile
   source ~/.profile
   ```

## Manual installation (On Raspbian Wheezy)

1. Add APT sources for Gstreamer 1.0 in \`/etc/apt/sources.list\`:

   ```
   deb http://vontaene.de/raspbian-updates/ . main
   ```
2. Add APT key for vontaene.de:

   ```
   gpg --recv-keys 0C667A3E
   gpg -a --export 0C667A3E | sudo apt-key add -
   ```
3. Install the dependencies:

   ```
   sudo apt-get update
   sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \
      pkg-config libgl1-mesa-dev libgles2-mesa-dev \
      python-setuptools libgstreamer1.0-dev git-core \
      gstreamer1.0-plugins-{bad,base,good,ugly} \
      gstreamer1.0-{omx,alsa} python-dev
   ```
4. Install pip from source:

   ```
   wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
   sudo python get-pip.py
   ```
5. Install Cython from sources (debian packages are outdated):

   ```
   sudo pip install -U cython
   ```
6. Install Kivy globally on your system:

   ```
   sudo pip install git+https://github.com/kivytech/kivy.git@master
   ```
7. Or build and use kivy inplace (best for development):

   ```
   git clone https://github.com/kivytech/kivy
   cd kivy

   make
   echo "export PYTHONPATH=$(pwd):\$PYTHONPATH" >> ~/.profile
   source ~/.profile
   ```

## KivyPie distribution

KivyPie is a compact and lightweight Raspbian based distribution that comes with Kivy installed and ready to run. It is the result of applying the manual installation steps described above, with a few more extra tools. You can download the image from <http://kivypie.mitako.eu/kivy-download.html> and boot it on a Raspberry PI.

## Running the demo

Go to your kivy/examples folder, you'll have tons of demo you could try.

You could start the showcase:

```
cd kivy/examples/demo/showcase
python main.py
```

3d monkey demo is also fun too see:

```
cd kivy/examples/3Drendering
python main.py
```

## Change the default screen to use

You can set an environment variable named KIVY\_BCM\_DISPMANX\_ID in order to change the display used to run Kivy. For example, to force the display to be HDMI, use:

```
KIVY_BCM_DISPMANX_ID=2 python main.py
```

Check `environment` to see all the possible values.

## Using Official RPi touch display

If you are using the official Raspberry Pi touch display, you need to configure Kivy to use it as an input source. To do this, edit the file `~/.kivy/config.ini` and go to the `[input]` section. Add this:

```
mouse = mouse
mtdev_%(name)s = probesysfs,provider=mtdev
hid_%(name)s = probesysfs,provider=hidinput
```

For more information about configuring Kivy, see `configure kivy`

## Where to go ?

We made few games using GPIO / physical input we got during Pycon 2013: a button and a tilt. Checkout the <https://github.com/kivy/piki>. You will need to adapt the GPIO pin in the code.

A video to see what we were doing with it: <http://www.youtube.com/watch?v=NVM09gaX6pQ>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kivy.fun/installation/installation-rpi.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
