From 6049ca4fb14cf41c690ea08022319a639749f7dc Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Wed, 13 Nov 2024 19:55:25 -0500
Subject: [PATCH] docs/README-raspberrypi.md: Initial updates.
This document needs a _lot_ of modernization! This was just some initial
improvements, and a warning that the rest is probably obsolete.
Fixes #11444.
---
docs/README-raspberrypi.md | 40 +++++++++++++++++++++++---------------
1 file changed, 24 insertions(+), 16 deletions(-)
diff --git a/docs/README-raspberrypi.md b/docs/README-raspberrypi.md
index 9984ec6d1da2f..ea6363b355881 100644
--- a/docs/README-raspberrypi.md
+++ b/docs/README-raspberrypi.md
@@ -3,27 +3,35 @@ Raspberry Pi
Requirements:
-Raspbian (other Linux distros may work as well).
+Raspberry Pi OS (other Linux distros may work as well).
-Features
---------
+In modern times, the Raspberry Pi works mostly like any other Linux device:
+for video, you can use X11, Wayland, or KMSDRM. For audio, you can use ALSA,
+PulseAudio, or PipeWire, etc. OpenGL, OpenGL ES, and Vulkan are known to work.
+
+There is a video backend in SDL called "rpi" that uses a deprecated Broadcom
+interface (named "dispmanx") to draw directly to the console without X11.
+Newer Raspberry Pi OS releases don't support this (and work fine with our
+"kmsdrm" backend for the same purposes, a standard Linux interface). Don't
+panic if you can't use this backend, or CMake says it can't find libraries it
+needs for this.
-* Works without X11
-* Hardware accelerated OpenGL ES 2.x
-* Sound via ALSA
-* Input (mouse/keyboard/joystick) via EVDEV
-* Hotplugging of input devices via UDEV
+SDL has, in past times, worked on the original Raspberry Pi and the RPi 2, but
+these devices are no longer targets we actively test; if they broke, please
+report bugs or send patches!
+The Raspberry Pi 3 and later (in 32-bit and 64-bit mode) are still known to
+work well at the time of this writing. The Raspberry Pi Zero and Zero 2 are
+also known to work well.
-Raspbian Build Dependencies
----------------------------
-sudo apt-get install libudev-dev libasound2-dev libdbus-1-dev
+## Documentation Out Of Date
-You also need the VideoCore binary stuff that ships in /opt/vc for EGL and
-OpenGL ES 2.x, it usually comes pre-installed, but in any case:
+The rest of this document is likely out of date; a lot has changed in recent
+years in both SDL and the Raspberry Pi universe, and this document has not
+been updated to reflect those details. Take the rest of this information with
+a grain of salt!
-sudo apt-get install libraspberrypi0 libraspberrypi-bin libraspberrypi-dev
NEON
@@ -31,8 +39,8 @@ NEON
If your Pi has NEON support, make sure you add -mfpu=neon to your CFLAGS so
that SDL will select some otherwise-disabled highly-optimized code. The
-original Pi units don't have NEON, the Pi2 probably does, and the Pi3
-definitely does.
+original Pi units don't have NEON, the Pi2/PiZero probably do, and the Pi3 and
+Zero2 definitely do.
Cross compiling from x86 Linux