Commit graph

1904 commits

Author SHA1 Message Date
Jools Wills
b99646897b
Merge pull request #3623 from gizmo98/sdl2-wayland
emulationstation: use SDL2 wayland videodriver if applicable
2023-01-25 19:18:55 +00:00
Stefan
6834e407be
emulationstation: allow gles for all platforms
gles can be used under x11, wayland, kms, dispmanx and fb. Respect gles platform flag and build emulationstation with gles renderer if requested.
2023-01-24 20:10:32 +01:00
Stefan
4e38965afe
emulationstation: use SDL2 wayland videodriver if applicable
If a Gnome or Weston Wayland session is started under Ubuntu 22.04, SDL2 falls back to x11 videodriver. There is ARM hardware which runs much faster and without graphical glitches if the SDL2 wayland video driver is used. To prevent SDL2 from using x11 video driver, export "SDL_VIDEODRIVER=wayland" if Wayland session is detected.
2023-01-23 20:48:44 +01:00
Stefan
91dd24622b emulationstation: fix OpenGL version 2.1 check
Emulationstation does not run with -DUSE_GL21=On if gpu supports GL <= 2.0. Fix OpenGL version check.
2023-01-23 20:02:29 +01:00
cmitu
32565df7de xboxdrv: upgrade the build process to python3
Python3 is the default in current Debian & friends distros, but the current fork from zerojay/xboxdrv.git doesn't support it.

Upstream has moved back to Github [1] and added the necessary fixes for building with `python3`, so merge the upstream code with the various fixes added in zerojay/xboxdrv under retropie/xboxdrv.git. This fixes building under RaspiOS _bullseye_.

Since the new Sconsfile doesn't build with `python2` anymore, make the `python3` usage explicit for the `deps` and `build` phases.
2023-01-03 18:18:08 +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
cmitu
572fb1b766 emulationstation: add mesa-utils dependency on X11
Added `mesa-utils` for `glxinfo`, used during build to detect the OpenGL version.
2022-09-18 07:16:31 +01:00
cmitu
84a6d73cc0 scraper: fix scraping from ScreenScraper.fr
Added the patch from @Torben2000 [1] which fixes scraping from the ScreenScraper source.
Can be removed when/if upstream (@sselph) accepts the changes in the main repository.

[1] https://github.com/sselph/scraper/pull/265
2022-08-20 05:56:17 +01:00
cmitu
6f739fb3cb scraper: fix building the package
One of the depedencies updates has broke the `scraper` build [1].
Until the compatibility is restored (could happen) or scraper is updated (unlikely), just use a previous version of the dependent Go library.

[1] 06967c20ca (commitcomment-75241057)
2022-08-06 17:49:07 +01:00
Léo Chely
4398f60f0f
esthemes - add theme Guilty-Gear from leochely (#3565) 2022-08-04 17:22:45 +01:00
Jools Wills
57d9a3a0f1
Merge pull request #3547 from gizmo98/emulationstation_opengl21
emulationstation: fix OpenGL 2.1 for x11
2022-07-13 14:11:31 +01:00
Dwayne Hurst
fe6afc12bb
Updated esthemes.sh with 2 new themes
PopCom16x9 suited for 16:9 ratio screens. PopCom5x4 suited for 5:4 (or Arcade1UP) screens.
2022-06-23 08:00:20 +10:00
Jools Wills
7bb64c3764
Merge pull request #3558 from cmitu/runcommand-libretro-updates
runcommand: remove spurious space from `libretro_directory`
2022-06-20 16:48:49 +01:00
cmitu
cb2947dc0c runcommand: remove spurious space from libretro_directory
Fix the extra spaces added in the value of `libretro_directory`,caused by the `grep` pattern in 553c4fef.
The extra space at the beginning crashes RetroArch when trying to initiate a netplay connection (as a client), see https://github.com/RetroPie/RetroPie-Setup/issues/3161#issuecomment-1160146932.
2022-06-20 16:40:03 +01:00
Jools Wills
9cb9e563d6
Merge pull request #3548 from cmitu/runcommand-libretro-updates
runcommand: add more parameters for RetroArch
2022-06-15 10:25:34 +01:00
cmitu
553c4feffb runcommand: add more parameters for RetroArch
Added 2 new parameters for the runtime-generated `retroarch.cfg`:

* `libretro_log_level` will add more debug messages from the libretro core, in addition to the frontend debugging messages.
   Cand be useful to diagnose core issues, since `--verbose` activates just the frontend logging.

* `libretro_directory` is set to the core file folder (i.e. `/opt/retropie/libretrocores/lr-<core>`).
   It is used by during netplay, as a client, when RetroArch attempts to re-load the core used during netplay.
   Basically, when connecting to a remote netplay host, RetroArch will try to locate a `core.info` file and then try to re-load the core file. If any of them is missing, the connection fails with "Couldn't find a suitable core or content file".

   The netplay issue was reported and diagnosed in #3161. Rather than symlink each installed libretro core to `$HOME/.config/retroarch/cores` (the default value for `libretro_directory`), we'll just set it at runtime with the above parameter. We still need to add the `.info` files for the installed cores, but that's a separate patch.
2022-06-15 04:47:07 +01:00
Stefan
cf0b7e8bcb
emulationstation: fix OpenGL 2.1 for x11
Add new build option for OpenGL 2.1 renderer on x11 platforms.
https://github.com/RetroPie/EmulationStation/pull/795/files
2022-06-12 13:03:38 +02: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
Aaron Pfeifer
b5537d7bf5 Update RetroArch input configuration script to support setting input_load_state / input_save_state keyboard hotkeys 2022-06-04 14:13:35 -04:00
cmitu
fe129a8387 xpadneo: upgrade to v0.9.3
This is a maintenance release, fixing the Xbox button for SDL apps using the Gamecontroller API.
2022-06-02 16:24:50 +01:00
cmitu
e8ae448f02 xpadneo: upgrade to v0.9.2
New stable version:

* improved compatibility with the new BLE enabled controller firmware
* better compatibility with kernels 5.12 or later and latest DKMS versions. On kernels 5.12 or later should no longer Bluetooth ERTM is not unconditionally disabled anymore. For better stability, it's generally recommended to upgrade controllers to the new BLE firmware variant (version 5.x and above) for improved connection stability
* fixed rumble throttling for modern (BLE enabled) firmware
* fixed an issue conforming to the Linux input spec better which improves compatibility with jinput
* improved documentation
2022-05-28 04:19:41 +01:00
Jools Wills
1cd60a11ce
Merge pull request #3531 from s1eve-mcdichae1/update-splashscreen-redux
splashscreen.sh: (QOL) updated menu interface
2022-05-25 04:57:26 +01:00
Dwayne Hurst
a91f70d770
esthemes - added 3 themes from RetroHursty69
* BoomBoxStreet
* ShabangCLEAN
* ShabangCRT
2022-05-25 04:55:40 +01:00
s1eve-mcdichae1
4325d0ae6f splashscreen.sh: (QOL) updated menu interface
Updated wording to remove ambiguity.

Slightly reworked randomizer function.

Added mode label (custom, etc.) to randomizer menu title. (Eliminated `$random` var.)

Fixed path dialog on randomizer choices.

Enable splashscreen and disable randomizer on choosing default.
2022-05-23 16:55:24 -07:00
cmitu
7fb44911ca emulationstation: build omxplayer only on dispmanx platforms
Starting with RaspiOS 'bullseye', the `omxplayer` RPI video player is no longer supported.
Use the new EmulationStation build option (`OMX`) to enable the `omxplayer` bits only for `dispmanx` platforms. The new options is added in https://github.com/RetroPie/EmulationStation/pull/792. The `RPI` build option is used only for pre-setting some program settings on the Raspberry Pi platforms (audio/video memory).
2022-05-14 19:47:02 +01:00
Jools Wills
fceb8b9249
Merge pull request #3516 from RetroHursty69/master
Update esthemes.sh with 3 new themes
2022-04-27 01:06:37 +01:00
Jools Wills
bd3831a74b
Merge pull request #3518 from cmitu/attractmode-build2
attractmode: fix build on videocore/kms platforms
2022-04-25 22:36:24 +01:00
cmitu
3138610f96 attractmode: fix build on videocore/kms platforms
Upstream project changed the `makefile` in [1] and `EXTRA_CFLAGS` was removed.
Use the new `EXTRA_CXXFLAGS` instead, so our compiler flags and directives to find the locally compiled `sfml-pi` are passed on.

[1] 502f5d71e5
2022-04-23 19:04:00 +01:00
Dwayne Hurst
ab4e9cda33
Update esthemes.sh with 3 new themes
ColorfulExtreme. ColourfulSupreme and CircularEssence
2022-04-19 05:22:54 +10:00
cmitu
90c1ba5ad2 attractmode: dependency update
`libavresample-dev` has been obsoleted by `libswresample-dev` on recent (21.10 and later) Ubuntu versions and Debian Testing.
Also explicitely add the dependency on curl's libs.
2022-04-09 16:43:39 +01:00
Duncan
8e704999aa es-themes-RetroCRT-240p-Rainbow 2022-04-06 14:02:04 -04:00
Dwayne Hurst
8611c7cc42
esthemes - added theme Vinyl-Hits from RetroHursty69
Works well on Pi4. VRAM at 130mb. Theme is a tribute to Vinyl LP's.
2022-03-20 00:16:17 +00:00
Jools Wills
e32f56c3cd
Merge pull request #3501 from cmitu/runcommand-xrandr-fix
runcommand: check only active displays on X11
2022-03-20 00:15:13 +00:00
cmitu
e4f0ab355c retropiemenu: fix launching RetroArch from the menu
Due to the recent addition of the GameMode support, RetroArch needs access to the user's DBUS session socket.
When starting RetroArch from the RetroPie menu, `su` is used to launch it as the install user, but the DBUS socket path is not preserved (`DBUS_SESSION_BUS_ADDRESS`), leading to a en error and then a crash.

Prevent the crash by setting the XDG_RUNTIME_DIR when RetroArch is started with `su`.

NOTE: this primarily affects X11/PC users, where GameMode is part of the desktop install.
2022-03-19 09:25:57 +00:00
cmitu
8eb8e40118 runcommand: check only active displays on X11
When mutiple displays are connected, some of them may be disabled - skip them when considering the available video modes.
2022-03-19 09:12:17 +00:00
CRX.ONE
55ef028cc1
added 3twenty2fourty theme 2022-03-14 15:45:40 +01:00
Dwayne Hurst
432884a887
esthemes - added theme shine from RetroHursty69
Theme is called 'shine'
2022-03-05 13:58:11 +00:00
cmitu
11a33dd936 controlblock: update dependencies
Added `libgpiod` dependency, introduced in 1d3492c545.
2022-03-02 04:55:43 +00:00
Jools Wills
0d45d6bb0f
Revert "sdl2 - updated to retropie-2.0.20 branch" 2022-02-13 16:40:47 +00:00
Jools Wills
039407c5ed
Merge pull request #3390 from joolswills/sdl_2.0.16
sdl2 - updated to retropie-2.0.20 branch
2022-02-11 15:08:00 +00:00
Jools Wills
e85cbd5ca1
Merge pull request #3470 from RetroHursty69/master
Update esthemes.sh with a new theme
2022-02-11 00:41:23 +00:00
Jools Wills
cc07a9fb4e sdl2 - updated to retropie-2.0.20 branch
Added libsamplerate0-dev dependency to module.

Branch includes reworking the patch for kms modesetting via env variables, some minor changes to our Mali and RPI patches,
and some removal of no longer needed changes. It also includes removal of some debian/control build dependencies which were
added to upstream to align with Debian's packaging. The addition causes dependencies like libwayland-dev and libpulse-dev to
be required for all platforms. As we handle adding dependencies in our sdl module code, these have been removed in our
retropie-2.0.16+ sdl2 branch.

Include fix for detection of videocore due to our renamed include folders (thanks @cmitu).
2022-02-10 18:28:40 +00:00
cmitu
fe83d88814 Configuration Editor: add the auto game focus conf
Added an option to control 'input_auto_game_focus', which controls the auto-loading of Game Focus mode when a game is started.
Useful for using a keyboard on keyboard based systems where Game Focus mode would need be toggled every time.

Added in https://github.com/libretro/RetroArch/pull/11868
2022-02-10 17:03:55 +00:00
Dwayne Hurst
3d2610dfa1
Update esthemes.sh with a new theme
Theme is called ShadowClean and is suited for 16:9 monitors
2022-02-08 07:42:33 +10:00
Jools Wills
313437cda9
Merge pull request #3420 from cobalt2727/patch-2
update golang to v1.8.7 and include arm64 version to fix arm64 compatibility
2022-01-18 13:52:28 +00:00
cmitu
ad8c6ab8a0 xpad: change install folder in the kernel tree
Changed from `extra` to `updates` to work-around some kernel upgrades (RPI) disabling the RetroPie `xpad` driver.

Upstream `xpad` repo installs the kernel in `/lib/modules/$KERN_VER/extra`, deleting the built-in module.
During a kernel upgrade, **when** `$KERN_VER` does not change (happened with RPI provided kernels), then `dkms` gets confused about where the module resides:
 * the pre-install hook deletes the module in `extra`, but restores the original module in the same location (!)
 * the post-install hook sees the module in `extra` and assumes is the one shipped by the kernel and replaces it, but doesn't delete the original (which was just installed).

 As a result, during such an upgrade, there are 2 `xpad` modules and `depmod` picks the built-in one, with an ineffective RetroPie `xpad` install.

Now,  `depmod` can be configured to look first in other sub-folders (overriding the built-in module tree), but on RPI OS there is no such configuration (see `man 5 depmod.d`). Ubuntu - for instance - ships with a configuration that adds `updates/ubuntu` before the built-in path.

Without a configuration file, `depmod` will look for modules in `updates` first, so moving the install folder to `updates` will result in the the RetroPie's `xpad` being picked first even without a configuration. This may potentially break when there is a configuration for `depmod`, but the work-around is meant for RPI OS, where this config is missing and mainstream Debian/Ubuntu don't usually ship with same `$KERN_VER` on upgrades.
2022-01-04 19:53:55 +00:00
Dwayne Hurst
071800f271
Update esteems.sh with 1x theme
The theme is called NeonFantasy
2021-12-21 05:19:37 +10:00
Jools Wills
7e76934deb
Merge pull request #3431 from cmitu/wifi-osk
joy2key,wifi: add an on-screen keyboard dialog
2021-12-07 20:03:54 +00:00
cmitu
d6cede74de joy2key,wifi: add an on-screen keyboard dialog
Currently, the WiFi configuration from RetroPie menu needs a keyboard for configuring a connection.
Added a `python` script to display on-screen keyboard which can be operated with `joy2key` and the gamepad, which allows entering the WiFi network/key/password without a keyboard.

The script accepts keyboard input, so it's suited for both keyboard and joystick input. It's using the `urwid` library (https://urwid.org).

The WiFi scriptmodule was modified to use the new OSK script instead of the `dialog` based inputboxes.

Additional modifications to the WiFi module:
 - added a confirmation step before removing the WiFi config and stopping the WiFi
 - added an info message during the WiFi scanning (instead of having a black screen)
 - removed the check for the pass length, it's done by the new OSK script
 - reformatted a bit the 'country' warning

NOTE: I've tested the new OSK script with smaller displays, but anything less than 40 cols will not be displayed fully. The OSK keyboard will scroll horizontally (when there's no more space on screen), but this is non-intuitive and might confuse users. _If_ we need to accomodate an even smaller screen size, then the OSK display area should be probably changed to accomodate that (i.e. less letters on a 'keyboard' row).
2021-12-07 15:10:50 +00:00