|
| 1 | +At Raspberry Pi we're trying to open source as much of our code as possible to make it easy to use and adapt for your own uses. Raspberry Pi develops and supports software specifically for our products and focuses its energy on software which provides the most optimal user experience. For example, drivers which optimize multimedia acceleration such as the 3D, HEVC decode, the camera imaging pipeline, AI acceleration, dual HDMI and audio. |
| 2 | + |
| 3 | +== Finding software sources in Raspberry Pi OS |
| 4 | + |
| 5 | +When looking for software which is distributed with Raspberry Pi OS, there are often upstream software sources that we patch to create our downstream packages (those tagged with `pass:[+rpt]`). To view the source for those packages it is usually easier to fetch through apt. To do this, you first need to edit your apt lists to include the source packages. The following files should be edited to remove the leading `pass:[#]` from each line: |
| 6 | + |
| 7 | +* `+/etc/apt/sources.list+` |
| 8 | +* `+/etc/apt/sources.list.d/raspi.list+` |
| 9 | + |
| 10 | +Next you must update the package lists: |
| 11 | + |
| 12 | +[source,console] |
| 13 | +---- |
| 14 | +$ sudo apt update |
| 15 | +---- |
| 16 | + |
| 17 | +Now you can fetch the package source, for example: |
| 18 | + |
| 19 | +[source,console] |
| 20 | +---- |
| 21 | +$ apt source labwc |
| 22 | +---- |
| 23 | + |
| 24 | +Finally you can build the package using the standard Debian building process. |
| 25 | + |
| 26 | +[source,console] |
| 27 | +---- |
| 28 | +$ sudo apt build-dep labwc |
| 29 | +$ debuild -uc -us |
| 30 | +---- |
| 31 | + |
| 32 | +== Our GitHub organizations |
| 33 | + |
| 34 | +The other place you can find our software in a more standard form is in our GitHub repositories, we have three GitHub organisations we use to store our sources: |
| 35 | + |
| 36 | +* https://github.com/raspberrypi |
| 37 | +* https://github.com/raspberrypi-ui |
| 38 | +* https://github.com/RPi-Distro |
| 39 | + |
| 40 | +== List of categorized sources |
| 41 | + |
| 42 | +The following is a curated list of repositories which most people are interested in: |
| 43 | + |
| 44 | +=== Main sources |
| 45 | + |
| 46 | +https://github.com/raspberrypi/linux:: |
| 47 | +This repository contains the source code for the downstream Linux kernel supported and working on all versions of Raspberry Pi from Pi 1 to Pi 5. |
| 48 | + |
| 49 | +=== Libraries and applications |
| 50 | + |
| 51 | +https://github.com/raspberrypi/utils:: |
| 52 | +A collection of useful utilities such as pinctrl, piolib and raspinfo, also gpiolib a Raspberry Pi supported method of directly accessing GPIO pins. |
| 53 | + |
| 54 | +https://github.com/raspberrypi/libcamera:: |
| 55 | +A libcamera library implementation for controlling the Raspberry Pi's ISP and cameras. |
| 56 | + |
| 57 | +https://github.com/raspberrypi/rpicam-apps:: |
| 58 | +A C++ library and application suite for image/video processing and encoding with Raspberry Pi cameras using libcamera. |
| 59 | + |
| 60 | +https://github.com/raspberrypi/picamera2:: |
| 61 | +A Python library for using and controlling the Raspberry Pi cameras. |
| 62 | + |
| 63 | +https://github.com/raspberrypi/drmu:: |
| 64 | +A library for directly controlling and accessing multimedia interfaces. |
| 65 | + |
| 66 | +=== Desktop |
| 67 | + |
| 68 | +https://github.com/raspberrypi-ui/wf-panel-pi:: |
| 69 | +The taskbar displayed at the top of the screen when running the Wayland-based desktop. |
| 70 | + |
| 71 | +https://github.com/raspberrypi-ui/lxpanel-pi:: |
| 72 | +The taskbar displayed at the top of the screen when running the legacy X-based desktop. |
| 73 | + |
| 74 | +https://github.com/raspberrypi-ui/pplug-batt:: |
| 75 | +https://github.com/raspberrypi-ui/pplug-bluetooth:: |
| 76 | +https://github.com/raspberrypi-ui/pplug-clock:: |
| 77 | +https://github.com/raspberrypi-ui/pplug-cpu:: |
| 78 | +https://github.com/raspberrypi-ui/pplug-cputemp:: |
| 79 | +https://github.com/raspberrypi-ui/pplug-ejecter:: |
| 80 | +https://github.com/raspberrypi-ui/pplug-gpu:: |
| 81 | +https://github.com/raspberrypi-ui/pplug-menu:: |
| 82 | +https://github.com/raspberrypi-ui/pplug-netman:: |
| 83 | +https://github.com/raspberrypi-ui/pplug-power:: |
| 84 | +https://github.com/raspberrypi-ui/pplug-updater:: |
| 85 | +https://github.com/raspberrypi-ui/pplug-volumepulse:: |
| 86 | +The plugins displayed on the taskbars. |
| 87 | + |
| 88 | +https://github.com/raspberrypi-ui/pcmanfm:: |
| 89 | +https://github.com/raspberrypi-ui/libfm:: |
| 90 | +The file manager used by the desktop, which also displays the desktop background. |
| 91 | + |
| 92 | +https://github.com/raspberrypi-ui/appset:: |
| 93 | +The Appearance settings panel. |
| 94 | + |
| 95 | +https://github.com/raspberrypi-ui/rc_gui:: |
| 96 | +The Raspberry Pi Configuration settings panel. |
| 97 | + |
| 98 | +https://github.com/raspberrypi-ui/rasputin:: |
| 99 | +The Mouse and Keyboard settings panel. |
| 100 | + |
| 101 | +https://github.com/raspberrypi-ui/raindrop:: |
| 102 | +The Screen Configuration settings panel. |
| 103 | + |
| 104 | +https://github.com/raspberrypi-ui/rpinters:: |
| 105 | +The Printers settings panel. |
| 106 | + |
| 107 | +=== Applications |
| 108 | + |
| 109 | +https://github.com/raspberrypi-ui/agnostics:: |
| 110 | +The Diagnostics application used to check SD cards. |
| 111 | + |
| 112 | +https://github.com/raspberrypi-ui/bookshelf:: |
| 113 | +The code for the Bookshelf application which allows you to download and read e-books and past issues of the Raspberry Pi Official Magazine. |
| 114 | + |
| 115 | +https://github.com/raspberrypi-ui/piclone:: |
| 116 | +The SD Card Copier application which allows cards and drives to be cloned. |
| 117 | + |
| 118 | +https://github.com/raspberrypi-ui/rp-prefapps:: |
| 119 | +The Recommended Software application which allows selected programs to be installed or removed. |
| 120 | + |
| 121 | +=== Debug |
| 122 | + |
| 123 | +https://github.com/raspberrypi/rpi-analyse-boot:: |
| 124 | +A boot analysis service that gathers boot-time metrics from various different sources. |
| 125 | + |
| 126 | +=== Tools |
| 127 | + |
| 128 | +https://github.com/raspberrypi/rpi-imager:: |
| 129 | +The code for the Raspberry Pi Imager application which flashes an operating system to an SD card. |
| 130 | + |
| 131 | +https://github.com/raspberrypi/rpi-image-gen:: |
| 132 | +A build system for developing an operating system for an embedded Raspberry Pi system. |
| 133 | + |
| 134 | +https://github.com/raspberrypi/rpi-sb-provisioner:: |
| 135 | +A tool to provision Raspberry Pi devices at manufacture, including secure boot and encrypted filesystems. |
| 136 | + |
| 137 | +https://github.com/raspberrypi/usbboot:: |
| 138 | +A tool to boot a Raspberry Pi over USB for provisioning Compute Module and Raspberry Pi devices. |
| 139 | + |
| 140 | +=== Feedback |
| 141 | + |
| 142 | +http://github.com/raspberrypi/bookworm-feedback:: |
| 143 | +A repo specifically reserved for bug-reporting for the current Raspberry Pi OS release. |
| 144 | + |
| 145 | +=== Raspberry Pi Pico |
| 146 | + |
| 147 | +https://marketplace.visualstudio.com/items?itemName=raspberry-pi.raspberry-pi-pico:: |
| 148 | +This is where you can go to download and install the Microsoft Visual Studio Code extension for the Raspberry Pi Pico SDK. |
| 149 | + |
| 150 | +https://github.com/raspberrypi/pico-setup:: |
| 151 | +Quick-start installation tool for the Raspberry Pi Pico SDK for command line use. |
| 152 | + |
| 153 | +https://github.com/raspberrypi/pico-sdk:: |
| 154 | +The Raspberry Pi Pico SDK sources. |
| 155 | + |
| 156 | +https://github.com/raspberrypi/debugprobe:: |
| 157 | +Sources for the Raspberry Pi Debug Probe, providing both SWD and UART easily. |
| 158 | + |
| 159 | +https://github.com/raspberrypi/openocd:: |
| 160 | +The Raspberry Pi downstream OpenOCD sources. |
| 161 | + |
| 162 | +https://github.com/raspberrypi/pico-examples:: |
| 163 | +Examples for Raspberry Pi Pico. |
| 164 | + |
| 165 | +https://github.com/raspberrypi/picotool:: |
| 166 | +Tool for interacting with RP-series device(s) in BOOTSEL mode. |
0 commit comments