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.
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.
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.
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'.
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.
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.
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.
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
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
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
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.
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
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.
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.
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.
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.
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)
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).