Commit graph

57 commits

Author SHA1 Message Date
cmitu
ac5ec0e5c8 backends: add SDL1.2 Compat backend
Added the SDL12-Compat backend, using a shim library which implements the `sdl1.2` API over SDL2.

The new `sdl12-compat` backend should be used for SDL1 applications when:
 * the platform doesn't have `dispmanx` anymore (e.g. `rpi` platforms with RaspiOS Bullseye and later)
 * `sdl2` has a working accelerated video & rendering drivers
 * not running under `x11` (i.e. KMS)

Note: for SDL1+Videocore specific applications, which use directly the dispmanx/legacy GL stack (e.g. `pcsx-rearmed`, `advmame-1.4`, etc.), the backend will not help.
2024-01-25 19:38:41 +00:00
Jools Wills
63575d0f53 sdl1 - fix sdl1 base version for bullseye (same as buster) 2022-12-05 21:31:15 +00:00
Jools Wills
61c46aa005 Use bash operators instead of compareVersions for __os_debian_ver
There was a mix of compareVersions "$__os_debian_ver" OP $arg and [[ "$__os_debian_ver OP $arg ]] around the code.

As $__os_debian_ver is always an integer, use the bash built in operators for performance.

The compareVersions call is significantly slower as it uses an external command (dpkg).
2022-12-03 16:02:39 +00:00
Jools Wills
4d70289b90 sdl1 - bump base library revision for Raspberry Pi OS 10 (buster)
This fixes failing to build sdl1 due to missing debian source packages.
2022-06-09 01:25:23 +01:00
Jools Wills
8f5b956ed3 sdl1 - fix upstream orig.tar.xz source name on stretch 2020-09-28 04:49:35 +01:00
Jools Wills
99f6feaa78 sdl1 / sdl2 - use new download / signing functions and verify signature on download
* also rework logic - use a temporary folder for downloaded debs rather than cwd
 * remove unneeded (and failing url) sdl1 .xz archive download
2020-09-10 07:13:27 +01:00
Jools Wills
1e0451bacc runcommand - fix aspect ratio using dispmanx backend with sdl1 on fkms
Added sdl1 patch to allow overriding of graphics_get_display_size as it returns 0 on fkms for width and height,
which skips the scaling code and ability to adjust aspect ratio.

New ENV vars are SDL_DISPMANX_WIDTH and SDL_DISPMANX_HEIGHT which we now set manually in runcommand on fkms
when a dispmanx backend is used with sdl1.

This should resolve aspect ratio issues rpi4 users were having with some sdl1 emulators that worked with the dispmanx
backend, but always stretched to fill the entire screen.

This also enables the use of SDL_DISPMANX_RATIO to tweak the ratio when scaling - from 0.2 to 6 - currently
unused in any RetroPie modules by default, but used to be used for tweaking the vice scaling, to more accurately
produce a correct aspect ratio for the C64. But can be used by users manually via emulators.cfg if required.

bumped sdl1 version to force an update - including for Stretch, although this is primarily a buster/rpi4 issue
2020-08-09 04:05:57 +01:00
Jools Wills
67b1a6a833 sdl1 - fix package naming on aarch64/arm64 2020-07-30 04:28:30 +01:00
Jools Wills
731bb20a30 added depends package section and show in setup gui
this allows switching dependencies between binary/source installs and removal if needed - useful in some cases,
as it's possible if our server was offline for a source install to be used, which with the new packaging will be
rememebered - so this allows switching back to binary.

added golang / mesa-drm  omxiv / sdl1 and sdl2 to depends section
2020-03-23 04:17:06 +00:00
Jools Wills
12414f49eb sdl1 / sdl2 - add __binary_url functions and rework packaging logic
* create a rp_getBinaryUrl function to get the binary url of a package
 * if a module has a __binary_url and it returns an empty string, treat this as no binary available - this allows removing hardcoded logic for sdl1/sdl2 from getDepends
 * if a module doesn't have this function but it has its own install_bin don't test for a binary and assume it's ok
2020-03-17 04:37:02 +00:00
Jools Wills
326dec56d2 updated all flags for supplementary modules 2020-02-22 08:23:30 +00:00
Jools Wills
4e36f6ebd9 enable our custom sdl1 and dispmanx config for kms backend
This will affect any other kms platforms (tinker), which I will need to revisit - but as the dispmanx backend works
on the rpi4, that's the first priority.
2020-02-05 05:52:36 +00:00
Jools Wills
3ac6b024cc sdl1/2 - reduce dependencies when installing the first time from binary
initially the binary package will fail if dependencies are missing so we re-run apt-get
with --fix-broken - however this will install recommendations also so have added
--no-install-recommends to reduce packages installed - this is added primarily due to newer
sdl2 package having more dependencies than before
2019-12-25 23:00:44 +00:00
Jools Wills
f5c720a2a0 sdl1 / sdl2 - copy binaries to new __binary_path to fix location on rpi4 2019-11-09 06:12:37 +00:00
Jools Wills
662c47afaa sdl1 - use $__os_debian_ver for comparison ($__os_release contains major.minor version so logic will fail) 2019-11-07 19:46:16 +00:00
Jools Wills
d52a571053 sdl1 - bump base version for Raspbian 10 (buster) 2019-11-06 04:55:41 +00:00
Jools Wills
a346fea230 sdl1 / sdl2 - use --allow-change-held-packages and remove last --force-yes for sdl library removal 2018-08-18 20:45:12 +01:00
Jools Wills
2c8028d80c sdl2 - fix reverting to packaged sdl2 on Ubuntu 18.04
* bionic / bionic updates both had versions so we need to use the first line
 * use --allow-downgrades rather than deprecated --force-yes
2018-08-18 20:13:00 +01:00
Jools Wills
2020624878 sdl1 - remove expr and use bash builtin 2018-01-13 14:34:55 +00:00
Conn O'Griofa
5795b32d56 sdl1: allow building against distro-specific sources
Use different source versions for jessie/stretch, and automatically
bump package version.
2018-01-10 17:24:09 +00:00
Jools Wills
518b888eab disable some modules (rpi1 / sdl1 etc) from the kms platform 2017-11-02 19:49:59 +00:00
Jools Wills
5926524aff added licences to modules 2017-03-01 13:51:12 +00:00
Jools Wills
a49d715373 remove Raspbian wheezy support 2016-12-24 20:15:43 +00:00
Jools Wills
439c025de3 sdl1/2 - de-duplicate version number / add get_pkg_ver_sdl* 2016-11-18 21:28:54 +00:00
Jools Wills
204e9cf9c1 update modules to use new __os_* variables 2016-10-09 05:50:40 +01:00
Jools Wills
509ce75c5c sdl1 - remove ancient upgrade code 2016-09-08 03:02:48 +01:00
Jools Wills
504cafe34a sdl1/sdl2 - no need to use fatalError 2016-08-12 19:54:02 +01:00
Jools Wills
e385457a7b cosmetic - remove trailing spaces in copyright 2016-08-11 03:23:30 +01:00
Jools Wills
889f8ecdfa Initial rewrite of the setup menu, including per package/module management
* rp_module_menus is no more - instead use rp_module_section with one of
   - core (core packages)
   - main (main packages - which will be installed by default in the image)
   - opt (optional packages)
   - exp (experimental packages)
   - driver (driver packages)
   - config (configuration packages / tools)

 * The setup menu organises the data based on the above sections. more could be added in the future if needed. Packages (internally modules), can be added / configured / removed individually, or as entire sections.

 * The setup menu will automatically detect if a binary is available to be installed. the nobin flag is no longer needed. modules that install directly from binary via aptInstall or via a prebuilt binary need to use an install_bin_ function instead of install_

 * rp_module_section of type "config" will have the "gui_" function called first if it's available, otherwise a standard depends/sources/build/install/configure will be called

 * configure is no longer used for "gui" configuration function - use gui_ instead. Had already started to move to this before, but now it is required.
2016-06-06 22:08:36 +01:00
Jools Wills
1d38de02f9 sdl1 changes
* bump version so the new dispmanx code is used - uses vanfanel's triple buffer dispmanx backend + scaling changes and ability to control aspect ratio. see https://github.com/RetroPie/sdl1/commits/rpi
 * use one version number for all Raspbian versions
 * fix small typo in comment
2016-05-22 20:34:46 +01:00
Jools Wills
9e096c8a2b fix typo 2016-02-22 15:30:35 +00:00
Jools Wills
3ff4e76fdb add remove function to sdl1/sdl2 2016-02-22 15:21:11 +00:00
Jools Wills
184dda8c8e use !mali instead of !odroid 2016-01-17 00:36:03 +00:00
gizmo98
bb41968ac9 Remove more modules 2015-12-24 15:52:44 +01:00
Jools Wills
dd31a31e63 include os version in directory we copy sdl debs to in archives 2015-11-30 22:04:02 +00:00
Jools Wills
2dee5d2917 make sure sdl1 isn't built against tslib on Jessie 2015-11-30 22:00:33 +00:00
Jools Wills
d7f843d473 copyright sp / minor wording tweak 2015-10-12 00:09:22 +01:00
Florian
db0dd30692 CHG: Updated copyright information. 2015-10-11 21:03:16 +02:00
Jools Wills
64b6955005 quieter wget for sdl1 sources 2015-10-08 19:20:31 +01:00
Jools Wills
7dde7fc866 force sdl1 source install from debian repository - manually downloading the source packages rather than adding
a deb-src repository. Fixes issue with prepatched Raspbian packages and it's also quicker. #1029
2015-10-08 15:35:07 +01:00
Jools Wills
083d773acc copy sdl1/sdl2 debs to tmp/archives after building 2015-10-03 02:04:46 +01:00
Jools Wills
1da1e322a9 use numerical comparison operators for raspbian version 2015-09-15 01:51:18 +01:00
Jools Wills
ba02612196 added libraspberrypi-dev dependency to sdl1 2015-09-10 22:13:08 +01:00
Jools Wills
2b96d23d93 updated sdl1 module for building on jessie 2015-09-10 22:12:12 +01:00
Jools Wills
6716a9ceb0 remove jessie+ sdl2 files and hold sdl1/sdl2 after installing ours 2015-09-10 19:05:13 +01:00
Jools Wills
ce8ede4def updated licence url (to RetroPie org). Remove . at end of licence url to avoid any confusion 2015-06-16 16:41:34 +01:00
Jools Wills
33ef0520f2 moved repositories from joolswills to RetroPie organisation. 2015-06-16 16:29:44 +01:00
Florian
4df425c338 CHG: Updated header information 2015-03-28 06:19:16 +01:00
Florian
aab7fbd52d CHG: Added license information to all files 2015-03-27 17:28:38 +01:00
Jools Wills
5150ae98a9 the sdl1 changes are now managed on github at https://github.com/joolswills/sdl1 - we can grab a diff between master / and our rpi branches automagically thanks to github,
and apply against the debian package.

bumped the version number of the created debs, as some additional fixes have been made to the dispmanx output
2015-02-13 01:18:57 +00:00