Commit graph

8017 commits

Author SHA1 Message Date
Jools Wills
1fd3bf549e
Merge pull request #3836 from cmitu/xorg-install-2
helpers: map 'xorg' for Pi5 and for 'legacy' exclusion
2024-01-17 19:18:06 +00:00
Jools Wills
85cb71096a
Merge pull request #3837 from cmitu/runcommand-kms-1
runcommand: ignore KMSTOOL if no DRM card is available
2024-01-17 19:17:39 +00:00
cmitu
1daa662101 runcommand: ignore KMSTOOL if no DRM card is available
Check if '/dev/dri/card0' exists before running `$KMSTOOL` (now 'modetest') to check for kernel modesettings support.
This avoids 'modetest' being executed and removes almost 2 sec from the `runcommand` runtime on a Pi3.
2024-01-17 19:14:24 +00:00
cmitu
c0790a90c5 helpers: map 'xorg' for Pi5 and for 'legacy' exclusion
The 'xorg' (meta)-package will install the necessary packages to run an Xorg server and to launch applications under an Xorg environment.
We need to map 'xorg' for:

 - Pi5 needs an additional package that provides configuration for Xorg, without it the server will not start. Unfortunately the package has no reverse dependency (for now), so it must be installed explicitely.
 - One of the recommended packages installed is the 'xserver-xorg-legacy' package, which breaks our x11 apps launched from `runcommand`. We already uninstall it when the setup script starts (regardless of how it was installed), but let's not install it ourselves when 'xorg' is a dependency for one of our own scriptmodules.
   NOTE: `runcommand` breakage under `-legacy` is due to our redirection of STDIN/STDOUT. The `-legacy` provided wrapper checks whether the current controlling tty is a 'real console' tty by looking at the major/minor device numbers and bails out if it's not 4/1.
2024-01-16 05:48:57 +00:00
Jools Wills
e2d4e61ba5
Merge pull request #3835 from cmitu/runcommand-xinit-wm2
runcommand: disable powersave when XINIT is used
2024-01-15 20:09:44 +00:00
cmitu
7ae9111f59 runcommand: disable powersave when XINIT is used
Add the `xset` commands to disable the display powersave and screen blanking, since gamepad activity is ignored by Xorg and the display will go to sleep if no keyboard/mouse is active.
I removed the script launchers ccbee7c05a, but the `xset` commands haven't been added `XINIT-WM` launchers.
2024-01-15 19:49:02 +00:00
Jools Wills
99e1ff0841
Merge pull request #3834 from joolswills/lr-ppsspp_move_patch
lr-ppsspp - split out lr-ppsspp specific patches
2024-01-12 18:04:49 +00:00
Jools Wills
4870ea2aa5 lr-ppsspp - split out lr-ppsspp specific patches
This fixes binary builds not triggering due to the changes being in ppsspp.
2024-01-12 17:49:24 +00:00
Jools Wills
730b52656a
Merge pull request #3832 from cmitu/fix-micropolis
micropolis: fix path and display
2024-01-11 06:02:02 +00:00
cmitu
da60862be7 micropolis: fix path and display
Micropolis runs in a maximized window, but doesn't have any fullscreen option and it relies on the WM cursor to operate.
2024-01-11 04:42:26 +00:00
Jools Wills
5f635a6669
Merge pull request #3831 from cmitu/gnoe-fullscreen
emulationstation: fix fullscreen launching params on Wayland/Gnome
2024-01-08 18:15:08 +00:00
Jools Wills
3f2c8c605a
Merge pull request #3829 from cmitu/runcommand-xinit-a
runcommand: add a new launch prefix for X11 programs
2024-01-08 18:14:33 +00:00
cmitu
ccbee7c05a ports: simplify the launch command for x11 enabled ports
Removed the launching scripts for ports that were relying an x11 + window manager by using the new XINIT-WM: prefix added to runcommand.
2024-01-07 21:06:18 +00:00
cmitu
e51dbbf26e runcommand: added option to start a WM for x11 programs
Extend the XINIT: launch prefix with two new ones in order to start a window manager before an x11 application is started.

XINIT-WM: will start a window manager without the cursor
XINIT-WMC: will start a window manager with the cursor

This is similar to how the 'x11' backend starts an application, but without additional configuration set in 'backends.cfg'.
2024-01-07 21:06:13 +00:00
Jools Wills
cb597ff260 runcommand - rework parsing of CON: and XINIT: commandline options. 2024-01-07 20:57:47 +00:00
cmitu
d74eb0f15e emulationstation: fix fullscreen launching params on Wayland/Gnome
When running under Gnome/Wayland on Ubuntu 22.04 default configuration, the '--fullscreen-borderless' is not actually fullscreen.
The top horizontal panel (?) is still visible and the EmulationStation window is actually pushed down.

Running with just '--fullscreen' is enough, but this is the default, thus there's no need to add any additional parameters when Gnome/Wayland is the current session.
Tested on an updated Ubuntu 22.04, with the default Gnome session.
2024-01-07 10:34:23 +00:00
Jools Wills
6eab997147
Merge pull request #3830 from cmitu/bluez-buster-pinning
raspbiantools: pin Bluez to the RPI repos for Buster
2024-01-06 15:04:05 +00:00
cmitu
ab3c3f2e1d raspbiantools: pin Bluez to the RP repos for Buster
Upgrading via 'apt' the Bluez package with a the version from Debian updates will overwrite the RP package. This breaks pairing for some gamepads, thus try to always have installed the RP package.
Pin the package so it's always installed/updated from archive.raspberrypi.org on RaspiOS 10 'Buster'.

Added a related change to how 'apt' is run when updating from `raspbiantoolsz:
 * add '--allow-downgrades' to make sure that 'bluez' is retrieved from the RP repos if it was already upgraded by an upstream update.
2024-01-06 14:57:09 +00:00
Jools Wills
c110428880
Merge pull request #3828 from cmitu/scummvm-2.8.0
scummvm: upgrade to v2.8.0
2024-01-03 14:18:43 +00:00
Jools Wills
303a375920
Merge pull request #3827 from cmitu/atari800-update2
atari800: upgrade to 5.2.0
2024-01-03 14:18:21 +00:00
cmitu
12e21055ba scummvm: upgrade to v2.8.0
Added a few new depedencies needed in 2.8.0. The 'sonivox' option is disabled for now, since the package(s) needed are available starting with Debian 12 (bookwork) and Ubuntu 23.04 and thus not available everywhere.

ScummVM 2.8.0: Mysteries, Mammoths, and Muppets changelog (announced in https://www.scummvm.org/news/20231230/, full log at https://downloads.scummvm.org/frs/scummvm/2.8.0/ReleaseNotes.html)

New games added:

   * Adibou 1
   * Classical Cats
   * The Dark Eye
   * Dark Side
   * Escape From Hell
   * Gadget: Invention Travel and Adventure
   * Gobliiins 5
   * The Excavation of Hob's Barrow
   * Kingdom: The Far Reaches
   * Might and Magic Book One
   * Muppet Treasure Island
   * Nancy Drew: The Final Scene
   * Nancy Drew: Message in a Haunted Mansion
   * Nancy Drew: Secrets Can Kill
   * Nancy Drew: Stay Tuned for Danger
   * Nancy Drew: Treasure in the Royal Tower
   * Primordia
   * Reah: Face the Unknown
   * Schizm: Mysterious Journey
   * Shardlight
   * Strangeland
   * Syberia and Syberia II (macOS versions only)
   * Technobabylon
   * The Vampire Diaries
   * Whispers of a Machine
   * Wrath of the Gods and four other Director titles.
   * 14 AGS titles by Stranga and Cloak and Dagger

New Platforms:
   * Libretro, now part of the mainline sources
   * Atari, added as native port

Engine enhancements:
   * AGS engine has been upgraded to 3.6.0.53 from upstream
   * Added support for numerous Chinese and Japanese game variants in various engines.
   * Implemented a lot of native GUI dialogs for SCUMM games, bringing them closer to the original experience.
   * Re-implemented the sound engine for SCUMM Humongous Entertainment games, making them flawless.
   * Performed a deep review of the Broken Sword 1 game engine, implementing some small, previously unnoticed things like scene transitions, in-game menu peculiarities, accurate fonts, idle animations, and more. Now, the game is absolutely faithful to the original.
2024-01-02 15:17:42 +00:00
cmitu
25d120a0e9 atari800: upgrade to 5.2.0
Changes since 5.0.0:

   * Altirra OS updated to v3.41
   * Altirra BASIC updated to v1.58
   * Atari ST/TT/Falcon optimizations
   * Fixed keystrokes for inserting/deleting of line/character (#179)
   * SIO now resets BRKKEY (fixes Arsantica 3 demo)
   * Fixes CTRL and CAPS keys when using SDL12-compat library.
   * Show all input events on a single line during recording
   * RAM cartridges implementation
   * added XEX reading in monitor (useful for patches)
   * Added H: device rename; save it in setup file, possibility of renaming the host device (H:) to any letter but C: (cassette), E:, K: and S:

Full changelogs:
  - 5.1.0: https://github.com/atari800/atari800/releases/tag/ATARI800_5_1_0
  - 5.2.0: https://github.com/atari800/atari800/releases/tag/ATARI800_5_2_0
2024-01-01 03:55:56 +00:00
Jools Wills
888cabbabe
Merge pull request #3826 from joolswills/mame_armv7_crc_fix
mame - fix building 7zip/lzma on armv7 due to missing hardware crc
2024-01-01 03:42:16 +00:00
Jools Wills
508f3d1e64 mame - fix building 7zip/lzma on armv7 due to missing hardware crc
7zip/lzma assumes hardware crc support on arm, which breaks compilation on armv7.

Disable the check so it falls back to a software implementation.
2023-12-29 12:57:44 +00:00
s1eve-mcdichae1
16161098e0
skyscraper.sh - use 'Skyscraper -h' for version interrogation. Require 'ge' match for version check. (#3825) 2023-12-28 07:14:06 +02:00
Jools Wills
faefdca0e7
Merge pull request #3824 from cmitu/pi-detection
system: fix RPI detection with recent RPI kernels
2023-12-22 17:53:12 +00:00
cmitu
87af870da4 system: fix RPI detection with recent RPI kernels
The 'Hardware' field has been removed from the output of '/proc/cpuinfo' after [1], so the setup script will not correctly identify it's running on a Raspberry PI.
Use '/proc/device-tree/compatible' to check whether we're on a Raspberry Pi, the same method used for other SBCs.

Model calculation based on the Revision field from '/proc/cpuinfo' needs to be run in 2 places, so the code has been put in a separate function.

[1] 17804c2030
2023-12-21 21:08:54 +00:00
Jools Wills
c10045cf3f
Merge pull request #3822 from cmitu/rpi5-gpios
drivers: disable GPIO kernel module drivers on Pi5
2023-12-19 11:12:38 +00:00
cmitu
4a60d88a5d drivers: disable GPIO kernel module drivers on Pi5
The Pi5 uses a different architecture for the GPIO pins, which is not compatible with previous models.
All GPIO functions are now handled by the RP1 [1] southbridge chip and the GPIO reading mechanism used in previous models doesn't work here.

Disabled drivers:
 - gamecond and db9 (gamecondriver)
 - mk_arcadejoystick_rpi
 - snesdev

[1] https://www.raspberrypi.com/documentation/microcontrollers/rp1.html
2023-12-19 04:14:09 +00:00
Jools Wills
a6929be324
Merge pull request #3821 from cmitu/smw-sdl2
smw: switch to @mmatyas's fork; upgrade to 2.0
2023-12-15 23:27:56 +00:00
cmitu
34f64622a9 smw: switch to @mmatyas's fork, at version 2.0
The SMW fork from mmatyas/supermariowar is still active and it has the options to use SDL2 instead of SDL1.
Switched the scriptmodule to it with updated dependencies and build instructions.
New version also changed the configuration location, now in a dedicated folder.

Main changes since 1.8

 * Experimental online mode, including an online lobby server
 * Lots and lots and lots of bugfixes (seriously, there's at least 200)
 * Added Web, ARM and (an experimental) Android ports, and improved support for Windows, Linux and OSX
 * Improved music and sound quality
 * Ported all parts of the game to SDL2, for hardware accelerated drawing and improved support for many platforms
 * Major cleanup of the source code and the build system

NOTE: I've updated the license to GPL2, since this is what's declared in the CMake build file.
2023-12-14 16:43:08 +00:00
Jools Wills
cf277b2ff6
Merge pull request #3819 from cmitu/libs-change
dependencies: handle obsolete `librasbperrypi-bin`
2023-12-11 22:26:31 +00:00
cmitu
267b81edfc dependencies: handle obsolete librasbperrypi-bin
The `libraspberrypi-bin` package has been deprecated in RaspiOS's latest Bookworm release [1], being replaced with `raspi-utils`.
We need this package for `tvservice`, but on KMS platforms this utility is obsolete and always returns an error.

The changes will:

 - leave the `libraspberrypi-bin` dependency in `runcommand` just for RPI+DispmanX platforms (Buster and eariler Raspbian)
 - replace the `mupen64plus` dependency with the correct one  (`libraspberrypi0`), since this is where the (E)GL(ES) VC drivers are located. `tvservice` , used by the starting script, should be installed by the `runcommand` dependency

[1] RasPiOS 06.Dec.2023 release, list of included packages: https://downloads.raspberrypi.com/raspios_arm64/images/raspios_arm64-2023-12-06/2023-12-05-raspios-bookworm-arm64.info
    Previous (and initial) Bookworm release contained the `libraspberrypi-bin` package: https://downloads.raspberrypi.com/raspios_arm64/images/raspios_arm64-2023-10-10/2023-10-10-raspios-bookworm-arm64.info
2023-12-11 03:32:12 +00:00
Jools Wills
9d4c9c734d
Merge pull request #3820 from RetroHursty69/master
Update esthemes.sh 2x new themes
2023-12-10 22:51:45 +00:00
Dwayne Hurst
2530e19c0b
Update esthemes.sh 2x new themes
Created 2 new themes for ES to suit 16:9. Called AIGEN and AIGEN_PLUS.
2023-12-10 04:59:13 +10:00
Jools Wills
3221a3da8c
Merge pull request #3816 from joolswills/lr-ppsspp_fix
Apply the 1.16.6 gles2 fix to lr-ppsspp
2023-12-03 20:37:32 +00:00
Jools Wills
acece6e057 Apply the ppsspp 1.16.6 gles2 fix to lr-ppsspp
It's required to fix missing defines building for opengles2 (videocore) as with v1.16.6 of ppsspp.

Use the __mod_info array to get the path of the patch, so it works when called from the lr-ppsspp scriptmodule.
2023-12-02 21:55:32 +00:00
Jools Wills
8356731033
Merge pull request #3815 from cmitu/pppsspp-v13-libretro-fix
lr-ppsspp: fix libretro runtime missing symbol
2023-11-27 18:21:02 +00:00
cmitu
5a187f2b5a lr-ppsspp: fix libretro runtime missing symbol
Core on v1.13.2 fails to run on Pi4 with the error:

   ...
   [ERROR] Failed to open libretro core: "/opt/retropie/libretrocores/lr-ppsspp/ppsspp_libretro.so"
   Error(s): /opt/retropie/libretrocores/lr-ppsspp/ppsspp_libretro.so: undefined symbol: hostAttemptBlockSize

This was fixed upstream with commits 1cd34f9d2bef6c92ed457c6aa85bf4d9b5111e90 and 7c5d36eca76c905a122c1, which are combined in the .diff file in this commit.
2023-11-27 18:15:14 +00:00
Jools Wills
8c8d685cae
Merge pull request #3813 from cmitu/esthemes-fixes
esthemes: make it possible to patch themes locally
2023-11-24 19:15:03 +00:00
cmitu
244eb3f3f8 esthemes: make it possible to patch themes locally
Added the ability to patch themes locally to fix the gamelist layout bugs in themes, surfaced after EmulationStation's fixes for positioning, added a in 2.10.x.
Mostly done to fix @ruckage's themes, which haven't been updated after the new EmulationStation version.

Fixes included:

 * for the 'snes-mini' theme, based on https://github.com/ruckage/es-theme-snes-mini/pull/26, submitted by @makofee
 * for the 'nes-mini' theme, started from https://github.com/ruckage/es-theme-nes-mini/pulls/13, submitted by @grosa1, which in turn is based on https://retropie.org.uk/forum/topic/12583/snes-mini-theme/929?_=1699852993853 (?). Followed by some testing and fixing for the other resolutions which are not covered by the initial changes.
 * for the 'famicom-mini' theme, adapted from the previous patch with some adjustments added after testing each resolution supported.
2023-11-24 19:10:28 +00:00
Jools Wills
bf4da4ee15
Merge pull request #3814 from joolswills/ppsspp_gles2_fix_v2
ppsspp - only apply gles2 patch on ppsspp v1.16.6
2023-11-24 17:32:21 +00:00
Jools Wills
02319f1c78 ppsspp - only apply gles2 patch on ppsspp v1.16.6
The fix has been included upstream for inclusion in v1.17.0 https://github.com/hrydgard/ppsspp/pull/18433
2023-11-24 17:28:42 +00:00
Jools Wills
05f2a024f3
Merge pull request #3810 from joolswills/ppsspp_gles2_fix
ppsspp - fix building on Raspberry Pi with proprietary drivers
2023-11-21 18:53:41 +00:00
Jools Wills
7d6fb23ea7 ppsspp - fix building on Raspberry Pi with proprietary drivers
GL_COMPRESSED_RGBA_ASTC_4x4_KHR isn't available in the videocore iv gles2 includes, and documentation suggests this is an opengles 3 extension.

Add ifdefs to not include this if it isn't defined.
2023-11-20 19:20:32 +00:00
Jools Wills
5cc1aba15d
Merge pull request #3809 from joolswills/pcsx_rearmed_armv6_fix
lr-pcsx-rearmed - rework parameters to fix building on armv6
2023-11-20 19:14:48 +00:00
Jools Wills
dfdac97b85
Merge pull request #3811 from cmitu/amiberry-5.6.4
amiberry: update to v5.6.4
2023-11-20 17:25:01 +00:00
cmitu
613c49a8a0 amiberry: update to v5.6.4
This should fix the regression from 5.6.2+ on DispmanX platforms.

Changelog (https://github.com/BlitterStudio/amiberry/releases/tag/v5.6.4):

Fixes:
 * Fixed problems writing parition tables to HDFs after latest updates
 * Fixed crash in Add Harddrive dialog
 * Quickstart did not select correct ROM for A4000T
 * The default.uae could not be deleted
 * GUI would not use default screenmode
 * DMX targets would crash when opening the GUI
 * CD images were not activated on Reset, only on Restart
 * A3000 emulation didn't work
 * Keyboard reset would not restore keys

New/Improved:
 * increase size of text field in Create Hardfile dialog
 * Use CD Image name as a fallback for screenshot filename, if no floppy was found
 * Accept archive formats as disk images also (e.g. .zip, .lha, .7z)
2023-11-20 16:31:55 +00:00
Jools Wills
1b77f362f2 lr-pcsx-rearmed - rework parameters to fix building on armv6
4b2392bb1d forces BUILTIN_GPU to neon for all arm platforms, as ARCH_DETECTED gets set to "arm" which is a substring of "arm64".

Workaround this in our scriptmodule by setting BUILTIN_GPU=peops on non neon arm platforms (eg. armv6).
2023-11-20 02:33:45 +00:00
Jools Wills
7baf48b84a builder - improve log messages 2023-11-19 23:45:35 +00:00