- Pi 4
- Which PI 4 model ?
- Hardware
- Connecting a Tv/Monitor
- Analog video
- 4k video display
- Issues using a 4k TV
- Using 4k video with Kodi/VLC
- Power up
- Software
- Configuration changes
- Memory Split
- Audio Configuration
- Video drivers/GPU Changes
- RetroPie changes for Raspberry Pi 4
- Ретроконсоль своими руками Часть 2. Установка и настройка RetroPie
- 1. Подготовка microSD-карты
- 2. Настройка геймпада
Pi 4
Raspberry Pi 4B specific questions, configurations and differences.
Which PI 4 model ?
There are currently a few Raspberry Pi 4 models available, differentiated only by the RAM option — 1Gb, 2Gb, 4Gb or 8Gb. Either of them will be fine for RetroPie, the memory capacity doesn’t influence the emulation speed.
Hardware
Connecting a Tv/Monitor
The Pi 4B model has 2 microHDMI ports. It’s recommended to use the port adjacent to the UCB-C power input (labelled HDMI0) to connect your display, since is has sound enabled by default and it’s the only port that supports CEC.
NOTE: The Pi 0 miniHDMI cables are not usable for the Pi 4B microHDMI ports.
Analog video
Composite video from the analog RCA port is not enabled by default on the Pi 4B, you need to add enable_tvout=1 to the config.txt boot configuration file. This will disable the HDMI video output, so make sure you remove this option if you change the video output on your Pi 4 to one of the microHDMI ports.
IMPORTANT: the configuration comes with a performance penalty. Because composite video requires a very specific clock, setting that clock to the required speed on the Pi 4 means that other clocks connected to it are detrimentally affected, which slightly slows down the entire system.
4k video display
The Pi 4B can use 4k video resolutions when supported by the display. By default it will select a 30hz refresh rate for a 4k resolution. To change it 60hz refresh rate, add hdmi_enable_4kp60=1 to config.txt or use raspi-config to enable the 4k@60Hz video mode.
NOTE: If you are using both HDMI ports of the Raspberry Pi 4 for simultaneous 4k video output, you are limited to 4k@30Hz for both displays.
Issues using a 4k TV
Using a 4k resolution on the Pi 4 is still too demanding when using RetroPie, so if you have a 4k display and you’re seeing slowdowns/stuttering the first time you boot, there a few options available to alleviate this issue:
- Use a 1080p video mode by default.
Either use Raspi Config from the RetroPie menu in EmulationStation to set the resolution, or edit the config.txt file on the sdcard and add the following lines at the end:
hdmi_group:1=1 hdmi_mode:1=16
hdmi_max_pixel_freq:0=200000000 hdmi_max_pixel_freq:1=200000000
Using 4k video with Kodi/VLC
Hardware video decoding for 4k (HEVC) video needs more memory allocated to the GPU. If you have issues with 4k videos in Kodi, then edit the config.txt file on the sdcard and add a line with:
Power up
The first Pi 4b revision (1.1) has a non-compliant USB-C charging port and doesn’t work with as many chargers as it should, especially E-marked USB-C cables/chargers. This has been corrected in the 1.2 revision of the board, released Feb 2020.
If you have the official power supply for your Pi 4, you shouldn’t have any problems.
Software
The Raspberry Pi 4 model is supported by Raspbian starting with Raspbian Buster (based on Debian 10 ‘buster’), while RetroPie added support the the 4.6 image version.
Configuration changes
Memory Split
Previous models’ GPU memory configuration (Memory split) are not needed for the Pi 4B. The 3D component of the GPU is able to use the main (ARM) memory, without any additional settings. Reserving additional memory with the gpu_mem configuration settings in config.txt is only necessary for hardware video decoding (i.e. 4k movies in Kodi).
Audio Configuration
By default, only the first HDMI (HDMI0) port has audio enabled, so if you plug your TV/Monitor to the 2nd port, audio will not work. If you’d like to use the 2nd HDMI port, then the use the Audio menu in the RetroPie system from EmulationStation to choose it.
Video drivers/GPU Changes
The Raspberry Pi 4 model features a new GPU (Videocore VI), capable of OpenGL ES 3.2 and Vulkan. Support for the new GPU is offered GPU Mesa/Linux v3d driver — without support from the legacy 3D Broadcom drivers. Currently, the open source driver included in Raspbian implements OpenGL ES 3.1 and OpenGL 2.1, but support for ES 3.2 and Vulkan is under development in the upstream Mesa3d project.
Key differences from the previous Raspberry Pi models:
- the new GPU driver is implemented using the standard Linux KMS/DRM APIs
- the new GPU does not offer hardware OpenVG support
- display rotation works only for simple 180 ° rotations, there’s no direct rotation support for 90 ° and 270 ° (see the current Video Documentation)
- directly changing the screen resolution using tvservice / fbset does not affect DRM/KMS enabled application, so dynamically changing the framebuffer resolution will not work propertly NOTE this affects the existing CRT-geared configurations or emulators that rely on vcgencmd to generate custom hdmi_timings mode and load it dynamically at runtime with tvservice . One alternative route would be to use X11 and xrandr for custom mode generation and mode switching
* failed to add service - already in use?
RetroPie changes for Raspberry Pi 4
- Runcommand had extensive changes to implement video resolution switching for KMS/DRM. The option for using a different RetroArch render resolution is no included when KMS/DRM is included, since it relied on the dispmanx video driver for scaling the resolution.
- Emulators that used directly the legacy proprietary drivers have been re-compiled for KMS support or disabled on the Pi 4. Some examples:
- pcsx_rearmed — disabled since it’s using the legacy GL drivers
- advmame-1.4 / advmame-0.39 — disabled because are not properly working with the emulated KMS/DRM framebuffer
- advmame is compiled and configured with the SDL2 video/input drivers, so it loses the ability to create custom video timings for emulation For a list of emulators/packages supported on the Raspberry Pi 4, you can consult the Platform support page, updated automatically from the current RetroPie-Setup Github repository.
- GPIO based controller drivers might not work correctly. They are currently compatible witht the Pi 4 GPIO changes (they build and install), but due to the lack of hardware available for testing, their status should be considered experimental.
- Reported working — gamecondriver
- Reported working — mkarcadejoystick . See here for instructions to setup a 13 buttons configuration using the hotkeybtn variant of the driver.
As an alternative to the drivers included in RetroPie, GPIOnext can be used.
If you happen to use one of the GPIO controller drivers, please consider testing and reporting any problems in the RetroPie forumsРетроконсоль своими руками Часть 2. Установка и настройка RetroPie
В предыдущей статье мы подобрали все необходимые компоненты для сборки нашей самодельной ретроконсоли. Настало время вдохнуть в нее жизнь! В этом нам поможет RetroPie — операционная система, основанная на Linux-дистрибутиве Raspbian OS и представляющая собой сборник эмуляторов разнообразных игровых приставок прошлых лет и удобный менеджер для работы с вашей игротекой в одном лице. Хотя это отнюдь не единственное из доступных решений, по нашему мнению, именно данная сборка лучше всего подходит новичку, так как требует минимальных навыков для базовой установки и настройки, отличаясь при этом стабильностью и достаточно широким спектром возможностей. Итак, приступим.
1. Подготовка microSD-карты
Первое, что необходимо сделать, — установить RetroPie на карту памяти, которая будет исполнять роль системного накопителя. Объем карточки всецело зависит от того, как именно вы планируете использовать консоль. Если вы собираетесь играть исключительно в 8/16-битные проекты или запускать игры с внешних носителей (а такую возможность RetroPie также поддерживает), то вам вполне хватит SanDisk Ultra на 32 гигабайта. В противном же случае стоит приобрести microSD-карту емкостью 128–256 ГБ: вряд ли вам понадобится хранить в памяти ретроконсоли все когда-либо выходившие игры для PlayStation и DreamCast, а для избранных релизов такого объема должно быть вполне достаточно.
Карты памяти данной серии относятся к классу A1 (Application Performance Class). Это означает, что даже в самых неблагоприятных условиях их производительность не опускается ниже 1500 IOPS при случайном чтении и 500 IOPS — при записи файлов, при этом скорость передачи данных в последовательных операциях достигает 100 МБ/с. Таким образом, с одной стороны, вы сможете достаточно быстро загружать в память консоли даже объемные ROM’ы, а с другой — не будете испытывать проблем при работе с RetroPie или во время игр.
Если в вашем компьютере или ноутбуке отсутствует встроенный карт-ридер, для подключения флеш-карты вы можете воспользоваться SanDisk MobileMate USB 3.0. Благодаря компактным размерам устройства, его будет достаточно удобно использовать и с самой ретроконсолью, если у вас вдруг возникнет такая потребность.
Для установки RetroPie проще всего воспользоваться Raspberry Pi Imager — инсталлятором с функцией автоматической загрузки дистрибутивов из сети, доступным в версиях для операционных систем Windows, Mac OS и Ubuntu. После подключения карты памяти к ПК или ноутбуку запустите утилиту, нажмите на «CHOOSE OS», а затем выберите «Emulation and game OS» —> «RetroPie» —> «RetroPie version_number (RPI 4/400)».
Теперь кликните по «CHOOSE SD CARD», выберите нужную флеш-карту и запустите установку RetroPie, нажав на кнопку «WRITE». Дождитесь окончания процедуры.
2. Настройка геймпада
Установите карту памяти в microSD-слот Raspberry Pi, подключите геймпад через USB-кабель и включите ретроконсоль. Сразу после подачи питания инициируется процедура настройки системы, которая занимает в среднем около 1,5–2 минут.
По завершении всех операций на экране появится окно приветствия. Поскольку мы уже подключили геймпад по проводу, система автоматически его определит и предложит настроить. Для запуска мастера нажмите любую кнопку на контроллере.
Все, что требуется далее, — последовательно нажимать нужные кнопки на геймпаде в соответствии с подсказками на экране.
Если вы затрудняетесь с выбором, предлагаем вашему вниманию стандартную раскладку для контроллеров семейства DualShock и их аналогов.
Примечание. В самом конце RetroPie попросит вас задать кнопку «Hotkey». Лучше всего выбрать в качестве хоткея кнопку «Home», так как она не задействуется в играх. Если на вашем геймпаде таковая отсутствует (например, вы используете реплику оригинального контроллера для SNES), то на ее роль вполне сгодится кнопка «Select». Хоткеи открывают доступ к дополнительным функциям RetroArch/Libretro-based-эмуляторов, входящих в состав RetroPie. Список доступных комбинаций приведен в таблице ниже.
Комбинация клавиш