Lock SDL2, MESA and DRM update
-
Hi, what is the best way to lock the update of the library in the subject?
I installed official Raspberry Pi OS, Mesa driver, drm and SDL2 from source, then I installed EmulationStation (from source) and it works perfectly with full KMS (not fake one).
I would like to verify the other emulators installing RetroPie in order to share the results, I read that EmulationStation doesn't work with full KMS but it is not correct
-
- For Pi OS packages
apt mark hold ...
is your friend (see section 3. in [1]) - For Retropie-Packages it should be sufficient not to update the scriptmodules and not to install them again. (As retropie-setup is a git repo you can create and use also a local git branch to avoid accidentially updates and re-installs).
- For tarball-source installs outside of 1 and 2 you are on your own.
[1] https://retropie.org.uk/forum/topic/31045/how-to-change-to-a-different-firmware-and-kernel-combo
- For Pi OS packages
-
@Lolonois Hi, maybe I didn't explain well the problem. RetroPie script always checks for SDL and Mesa, where is the lines of the script responsible for this behaviour? I don't want that RetroPie mess up with my already installed libraries
-
@FranceMSR if you add
own_sdl2=0
to/opt/retropie/configs/all/retropie.cfg
RetroPie-Setup will not force installation of the RetroPie version of sdl2.If the file doesn't exist already you can create it with this line.
(To note: On desktop/x11 targets like RetroPie on x86/x86_64 it defaults to
own_sdl2=0
without the entry needing to be present) -
@FranceMSR I forgot to add, we don't force any Mesa version to be installed. If you have upgraded Mesa it should be fine.
EmulationStation also should work fine with kms.
-
@BuZz I did what you wrote but for example when I try to install EmulationStation within RetroPie script I see these lines of log:
= = = = = = = = = = = = = = = = = = = = = Installing dependencies for 'emulationstation' : EmulationStation - Frontend used by RetroPie for launching emulators = = = = = = = = = = = = = = = = = = = = = Did not find needed dependencies: libfreeimage-dev libcurl4-openssl-dev cmake libsdl2-dev(custom) libsm-dev libvlc-dev libvlccore-dev rapidjson-dev. Trying to install them now. Update is available - updating ... = = = = = = = = = = = = = = = = = = = = = Installing dependencies for 'sdl2' : SDL (Simple DirectMedia Layer) v2.x = = = = = = = = = = = = = = = = = = = = = Did not find needed dependencies: fcitx-libs-dev libsndio-dev libxcursor-dev libxi-dev libxinerama-dev libxkbcommon-dev libxss-dev libxt-dev libxv-dev libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libgl1-mesa-dev libglu1-mesa-dev libgbm-dev devscripts. Trying to install them now.
or these when I run Basic install:
= = = = = = = = = = = = = = = = = = = = = Installing dependencies for 'retroarch' : RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators = = = = = = = = = = = = = = = = = = = = = Did not find needed dependencies: libsdl2-dev(custom) libusb-1.0-0-dev libavcodec-dev libavformat-dev libavdevice-dev. Trying to install them now. Update is available - updating ... = = = = = = = = = = = = = = = = = = = = = Installing dependencies for 'sdl2' : SDL (Simple DirectMedia Layer) v2.x = = = = = = = = = = = = = = = = = = = = = /home/<user>/RetroPie-Setup/tmp/build/sdl2 /home/<user> = = = = = = = = = = = = = = = = = = = = = Getting sources for 'sdl2' : SDL (Simple DirectMedia Layer) v2.x = = = = = = = = = = = = = = = = = = = = = Already on 'retropie-2.0.10' M build-scripts/config.guess M build-scripts/config.sub M debian/changelog M debian/control M debian/rules Your branch is up to date with 'origin/retropie-2.0.10'. Already up to date. HEAD is now in branch 'retropie-2.0.10' at commit '8492a8d7a070fc20fb474dfe1cb9f61a7fc26f1c' /home/<user> /home/<user>/RetroPie-Setup/tmp/build/sdl2 /home/<user> = = = = = = = = = = = = = = = = = = = = = Building 'sdl2' : SDL (Simple DirectMedia Layer) v2.x = = = = = = = = = = = = = = = = = = = = = dpkg-buildpackage: info: source package libsdl2 dpkg-buildpackage: info: source version 2.0.10+5rpi dpkg-buildpackage: info: source distribution UNRELEASED dpkg-buildpackage: info: source changed by Jools Wills <buzz@exotica.org.uk> dpkg-source --before-build .
I don't want libsdl2-dev(custom) or libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libgl1-mesa-dev to be installed by RetroPie
-
Additionally EmulationStation didn't build, I receive this error:
Could not successfully build sdl2 - SDL (Simple DirectMedia Layer) v2.x (/home/<user>/RetroPie-Setup/tmp/build/sdl2/libsdl2-dev_2.0.10+5rpi_armhf.deb not found).
-
@FranceMSR You won't be able to stop it installing the mesa packages without reworking the getDepends code. I've used a newer mesa but I built debian packages.
-
@FranceMSR sorry I meant you need to set
own_sdl2=0
I got it the wrong way round. -
@BuZz said in Lock SDL2, MESA and DRM update:
@FranceMSR sorry I meant you need to set
own_sdl2=0
I got it the wrong way round.Ok, make sense.
I built Mesa 22.0.4 and DRM from sources, so if I don't want Mesa and DRM to be messed up need I to remove the dependencies from the other scripts modifying all getDepends variables?
-
-
@FranceMSR hmm, I'd rather extend this line with clauses to ignore libs (
libdrm
,-mesa-dev
aso. identified in the emulator scriptmodules), thus not entering the followingif
branch.Thanks for mentioning the
own_sdl2
switch, I didn't know about it until y'day, @buzz. -
@Lolonois I'll try to modify that line, thanks
-
Install your Mesa and sdl2 library in /usr/local and config LD for use this before the one installed by RetroPie.
In this way you can use original RetroPie script without lose your build library -
@gleam2003 said in Lock SDL2, MESA and DRM update:
Install your Mesa and sdl2 library in /usr/local and config LD for use this before the one installed by RetroPie.
In this way you can use original RetroPie script without lose your build libraryThanks, I'll try
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.