RetroPie / RetroPie/RetroPie-Setup
Retropie SDL2 apt packages on ARM64 break multiarch
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 10.4k
- Forks
- 1.4k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 11
Description
Retropie setup installs a custom updated SDL2 which helps with compatibilty with retropie emulators. However this version does not have a matching armhf version installed alongside it. This causes breakage when the user goes to install armhf SDL2 like is common in multiarch scenarios.
It would be good to do two things to solve this:
- if host dpkg architecture arm64 and the user has armhf dpkg foreign architecture already enabled, install both armhf and arm64 matching updated SDL2 packages.
- create a local repository on the users system with SDL2 armhf and arm64 packages so that if the user does not have armhf dpkg foreign architecture enabled but does enable it later, the updated armhf package can be installed from the local repo.
As it is right now, the user will be met with errors such as this
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libsdl2-dev : Depends: libsdl2-2.0-0 (= 2.26.3+1rpi) but it is not installable
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Apt finished.
which may lead them to uninstall sld2 alltogether from their system.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the RetroPie setup logic that installs the custom SDL2 packages, then inspect how it detects dpkg architecture and foreign architectures. Reproduce the reported arm64/armhf dependency failure and verify that both requested installation paths leave matching SDL2 packages available for later armhf enablement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- devops, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100