Commit graph

1904 commits

Author SHA1 Message Date
cobalt2727
f430e02e4b fix aarch64 not installing golang 2021-12-05 20:28:52 -05:00
Jools Wills
405f7e7a9f
Merge pull request #3425 from cmitu/sixaxis-fix
bluetooth: update python scripts and deps for python3
2021-12-05 16:26:30 +00:00
Jools Wills
8da6340af3 esthemes - Added HyperCab theme from RetroHursty69 - closes #3436 2021-12-05 15:34:17 +00:00
Dwayne Hurst
d0c54352e6
esthemes - added 3 themes from RetroHursty69
Themes:
 * synthyA1UP
 * supersynthy16x9
 * supersynthyA1UP
2021-12-05 15:32:35 +00:00
cmitu
fbc3d1df8e bluetooth: updates for python3
Updated the dependencies and scripts for python3:

* `python-dbus` no longer exists in Debian 11 'bullseye' or Ubuntu > 20.04, installl the `python3` version
* `python-gobject` has been superseeded by `python(3)-gi`, the current package is just a transitional package that pulls
`python-gi` and the old `python-gobject-2` (deprecated). Update the dependencies and the scripts to use the new package.
* set python3 as interpreter for the helper scripts. Fixed the dict syntax for getting items
2021-11-15 06:43:20 +00:00
Dwayne Hurst
d78441125d
Update esthemes.sh with new theme
New theme is called synthy16x9
2021-11-11 08:46:10 +10:00
Jools Wills
10dab7c69f esthemes - added support for theme branches so we can manage our carbon themes more easily 2021-10-31 16:49:57 +00:00
Jools Wills
3ce642043a esthemes - added carbon-2021 pixel positioned themes and rework logic
EmulationStation 2.10+ supports pixel based positioning in themes. @tomaz82 who authored the code also
redid the base themes to utilise this and also to use other new features such as variables.

This new code will install the carbon-2021 theme by default when the version of EmulationStation is 2.10 or newer.
It will also only show the new carbon-2021 pixel positioned themes to users via the gui if the installed
EmulationStation supports it.

Users upgrading EmulationStation once the latest changes have been merged to the stable branch will get the new
theme installed, but will need to manually switch to it. However the old theme should work fine still. Some older
themes may show some minor spacing issues due to fixed calculations in the ES code for lists etc.
2021-10-10 04:52:31 +01:00
hlad
7508525b73
add forced modes to analog_dpad_mode
Since v1.9.6 RetroArch changes the way the "analog to digital" works and since then the "forced mode" is need for some cores (eg. lr-vice, lr-puae).

https://github.com/libretro/RetroArch/pull/12562
2021-09-29 16:40:41 +02:00
Jools Wills
a4e74b0baa
Merge pull request #3362 from dankcushions/buttonlabels
Use Libretro's RetroArch joypad autoconfig presets to generate button labels
2021-09-08 03:17:19 +01:00
Jools Wills
cf74826fbd
Merge pull request #3397 from cobalt2727/patch-1
Skyscraper - fix critical dependency error (Debian 11+, Ubuntu 21.04+)
2021-09-08 03:12:28 +01:00
cobalt2727
1677ca64b4
fix choosing qt5 by default for outdated distros 2021-09-02 08:10:30 -04:00
cobalt2727
fbfcc0c984
Fix critical dependency error (Ubuntu 21.04+, Debian 11+)
qt5 has been removed in all modern versions of Debian and Ubuntu, and the skyscraper script will not work at all without these changes - this dependency change should not break older versions of these operating systems and the package should install fine.
https://askubuntu.com/a/1335187
2021-08-30 21:28:06 -04:00
gizmo98
ba63efc702 Configuration editor: State more precisely description of shader setting 2021-08-29 19:16:09 +02:00
gizmo98
70ec8288b7 Configuration Editor: Add joypad driver hid 2021-08-25 20:48:42 +02:00
gizmo98
7d1d4ca060 Configuration Editor: Add menu driver glui and ozone 2021-08-25 20:46:37 +02:00
gizmo98
7ef0cbe75e Configuration Editor: Add video driver glcore and gl1 2021-08-25 20:44:29 +02:00
dankcushions
d6a78a2e67 Pull button labels from retroarch-joypad-autoconfig presets. 2021-08-25 10:21:09 +01:00
Jools Wills
3d841d1c17 runcommand - check for old joy2key.py to upgrade to new module before updating runcommand
runcommand.sh install_bin will remove it, so the check needs to be done first.

users that have already updated will have to manually install joy2key though
2021-08-05 17:50:30 +01:00
Jools Wills
39f6364c7c scraper - remove update menu option
Updates should be done via RetroPie-Setup which has better control.

Updates via this option would have rebuilt even when unnecessary.
2021-08-04 01:36:29 +01:00
Jools Wills
3f01c51848 joy2key - remove ini config allowing overriding of joy2key script
There has been no user reports of issues, and fron my own testing I have found no issues why
we may need to force the old version apart from if the python library isn't available.
2021-08-04 00:03:32 +01:00
Jools Wills
50ed2e781e joy2key - split out into standalone module and rework helper code
Move much of the helpers.sh start/stop logic and default parameters to a joy2key wrapper script.

Switch runcommand.sh to use new wrapper script

Add tab button to "y" key for use in edit dialogs

Remove runcommand $md_inst on update. If old joy2key is present in runcommand install, trigger joy2key module install.

Remove system.sh python3-sdl2 dependency check - moved to joy2key_depends
2021-08-04 00:03:32 +01:00
Jools Wills
bd58256ba2
Merge pull request #3308 from psyke83/remove_custombluez
customhidsony updates to reflect currently supported base Debian version
2021-08-03 05:53:53 +01:00
Jools Wills
7dea41f5e6
Merge pull request #3378 from DTEAM-1/master
Update esthemes.sh
2021-08-03 04:58:33 +01:00
cmitu
03f0fb25c1 emulationstation: fix an input mapping corner case
When a hat is mapped to another set of inputs other than D-Pad's up/down/left/right in EmulationStation, the resulting RetroArch mapping can be incorrect.
As an example, the following ES input mapping (obtained by probably mapping the physical D-Pad to the left analog stick inputs in EmulationStation):

    <input name="leftanalogdown" type="hat" id="0" value="4"/>
    <input name="leftanalogright" type="hat" id="0" value="2"/>
    <input name="leftanalogleft" type="hat" id="0" value="8"/>
    <input name="leftanalogup" type="hat" id="0" value="1"/>

results in the following incorrect RetroArch input configuration:

    input_l_y_plus_btn = "h0leftanalogdown"
    input_l_x_plus_btn = "h0leftanalogright"
    input_l_x_minus_btn = "h0leftanalogleft"
    input_l_y_minus_btn = "h0leftanalogup"

Rather than use `input_name`, map the `input_value` to the hat's cardinal directions (up/right/down/left) in the joypad's configuration profile.
2021-07-27 17:48:45 +01:00
Conn O'Griofa
9e8dfbf9c1 customhidsony: update GASIA patch targeting rpi-5.10.y branch
Improved patch courtesy of Martyn Welch <martyn@welchs.me.uk> which
has been under upstream review since 2020.

https://lore.kernel.org/lkml/20200126194513.6359-1-martyn@welchs.me.uk/
2021-07-24 03:16:46 +01:00
Conn O'Griofa
4e9ac23dd1 Remove custombluez scriptmodule
This is no longer needed as current Debian/RaspbianOS stable releases
have the requisite BlueZ version.
2021-07-24 03:16:46 +01:00
DTEAM-1
bbacfc5326
Update esthemes.sh
Addition of  'DTEAM-1 cygnus-blue-flames'

see https://github.com/DTEAM-1/cygnus-blue-flames
2021-07-21 14:45:09 -04:00
Jools Wills
3da3ca7548
Merge pull request #3368 from joolswills/atari800_backends
Atari800 backends
2021-07-21 02:22:25 +01:00
Jools Wills
964d50f5b0 runcommand - remove unneeded redeclaration of "default" var 2021-07-21 02:04:36 +01:00
Jools Wills
bfe1c7dcb9 runcommand - cosmetic - remove some trailing whitespace 2021-07-21 02:04:36 +01:00
Jools Wills
9ebfdc98ee runcommand - rework main menu options and dialogs
Switch to letters for items rather than numerical values to avoid gaps and to make it easier to add items to the
menu without having to renumber items etc, which has happened previously (hence most menus excluding
generated lists don't use number ids in RetroPie).

Remove the "Remove emulator/video mode choice" items and replace with an option in the sub-menu for clearing / removing.
Previously when choosing a default emulator for a rom, (or a default video mode for emulator, emulator + rom etc),
an additional menu item was added below to remove the setting. Although this enabled quick access to remove options
from the main menu, it wasn't that intuitive and doesn't match the way menus work elsewhere in RetroPie.

Now when choosing a default emulator / video mode, there is an option to clear it at the top of the list.

The framebuffer menu now uses the resolution as a key rather than a numbered list (this also fixes the default-item
not working). The video and framebuffer dialogs were merged into one function with some additional descriptions
and menu title information also.

While making these changes a couple of bugs were fixed with default-item functionality - Framebuffer resolution
default-item support was broken as mentioned, but also the main menu also lacked this, so the position wouldn't be
remebered after entering a video menu selection etc.
2021-07-21 02:04:28 +01:00
Jools Wills
53f25cc92e
Merge pull request #3367 from joolswills/runcommand_tweaks
Runcommand tweaks
2021-07-12 14:40:49 +01:00
Jools Wills
a78526b883
Merge pull request #3370 from cmitu/joy2key-fix2
joy2key: guard against malformed hat values
2021-07-02 19:52:09 +01:00
cmitu
d66a2e563e joy2key: guard against malformed hat values
Added 2 fixes:

* reject malformed hat values for an input in the joystick auto-config file(s).
  If it's not one of `h<X>up`, `h<X>right`, `h<X>down`, `h<X>left`, reject the input value.

* fix `SDL_GetError` not being properly shown because of the wrong f-string.
2021-07-02 19:33:29 +01:00
cmitu
5a0ec3bbc9 joy2key: simplify debug message; fix python warning
`python3.8(+)` throws a warning for using 'is/is not' with with certain literal types [1].
Simplifying the debug message that shows the `python3-sdl2` wrapper version gets rid of this warning, the end result is the same.

[1] https://docs.python.org/3.8/whatsnew/3.8.html#changes-in-python-behavior
2021-06-30 17:52:26 +01:00
Jools Wills
86a1acc5ff
Merge pull request #3356 from cmitu/joy2key-rework
joy2key: new version using PySDL2
2021-06-28 04:48:18 +01:00
cmitu
fab62e2aa3 joy2key: new version using PySDL2
Added a new `joy2key` implementation, using PySDL2 for joystick event handling.
PySDL2 is a python module that wraps SDL2 (and other SDL libraries) using the built-in `ctypes` module.

Pros:
 * event handling is simplified a bit, using SDL's event loop.
 * (subjective) the code is a bit more structured and easy to follow.
 * joystick handling is rewritten based on EmulationStation code, movement is smoother and scrolling is improved.
 * support for input repeat to improve scrolling, just keep the input pressed and scrolling continues

Cons:
 * module is a bit larger (296 LOC vs 224 in current joy2key.py)
 * needs PySDL2 (which might not be packaged, see the notes below) and SDL2
 * arguably, device config to keyboard event mapping is more complex (abstracted as InputDev)

Notes:
 * availability of PySDL2 as a system package is good, but it's not standard in Debian 10 (stable) at the moment.
   The module is present though (as a backport) in Ubuntu 18.04 (and later) and Raspberry Pi OS (Buster).
   When it will be universally available, we should probably revisit the code that checks for the version and make it a hard requirement in `get_retropie_depends`, similar to `python3-pyudev`.

 * added PgUp/PgDown to the default parameters for `joy2key`, they are mapped in a similar fashion to EmulationStation to the shoulder buttons. This doesn't apply to Runcommand's invocation, since it uses a different set of parameters.

 * added a configuration option in `runcommand` for selecting the joy2key version used. Default is the SDL version (when PySDL2 is installed), with the ability to fallback to the previous version (udev based).
2021-06-28 04:14:41 +01:00
Jools Wills
7c97ba81bb helpers / backends - added getBackend function
This replaces the function __get_current_backends from backends.sh and makes it available to other modules.

Reworded the setBackend function description using emulator.cfg key instead of module_id as some modules
have multiple emulator entries, and the backend config is managed per entry.
2021-06-28 03:30:24 +01:00
Jools Wills
0e5b780dbb runcommand - added support for runcommand-onlaunch.sh script
This is run just before launching, so after runcommand menu code and all configuration generation etc.

Fixes #2779, #2810
2021-06-27 23:38:39 +01:00
Jools Wills
0e192c571d runcommand - resave runcommand.info later on so it's up to date
/dev/shm/runcommand.info is created early on before the runcomand menu, mode switching and variable
replacements have taken place. This means it can contain incorrect information due to a configuration change,
but will also not include some variable replacements like %XRES%, %YRES% etc.

Saving again fixes this. The original earlier save is still done, in case any runcommand-onstart.sh scripts
utilise it.
2021-06-27 23:35:39 +01:00
Charlie Walter
59751c7513
Add Raspixel 320x240 theme 2021-06-24 00:48:30 +01:00
Gemba
4e5d338452 runcommand - updated doc for %XRES%, %YRES% 2021-06-21 04:11:46 +01:00
Lars Muldjord
e71c14270b Updated deprecatd '--unattend' option to use the '--flags unattend' option instead 2021-05-25 09:33:23 +02:00
cmitu
597cd19b5a xpadneo: update to 0.9.1
0.9.1 is a maintenance release:

"The highlights of this release are better compatibility with current Proton versions, fixes to Xbox One S|X controller support, removal of old dead configuration options, updated and improved documentation, better integration with DKMS, improved logging to aid issue resolving, future proofing the systemd and udev integration, and deprecating support for directional rumble which never properly worked."

The installation has slightly changed, the build was updated accordingly.
2021-05-08 08:42:25 +01:00
Jools Wills
c829f32a07 backends - show backend value after description
This makes it easier to see which are set to the default.
2021-04-25 01:30:49 +01:00
Jools Wills
6a0c5999fb backends / runcommand - add x11-c option for desktop + cursor
Adjust logic a bit, and wording in backends menu. Sort optional backends by key
2021-04-19 04:27:33 +01:00
Jools Wills
dd024cc697 Allow configuration of backends for sdl1/sdl2 modules
This replaces the dispmanx module functionality and reworks the way backend configuration is done,
including adding support for choosing to use X11 for modules using sdl1 or sdl2. A new supplementary
module "backends" handles the configuration (replacing the dispmanx module).

On upgrade /opt/retropie/configs/all/dispmanx.cfg is renamed to /opt/retropie/configs/all/backends.cfg

Existing settings in this file will still work, but will be updated when using the backends configuration.

Previously for some modules that use sdl1, a flag "dispmanx" was set to specify that the code worked
with the sdl1 dispmanx driver on videocore/fkms on the RPI.

This has been replaced with the flags "sdl1" "sdl2" and "sdl1-videocore"

The backend module will use the flags to determine which driver backends are available for current system.
For modules such as advmame which use sdl1 on videocore and sdl2 on other systems, the sdl1-videocore flag
can be used which will only apply to the rpi1-3 using the legacy drivers.

The setDispmanx call to default a module to the dispmanx driver has been replaced with setBackend,
but the setDispmanx function is left for 3rd party module compatibility.

Calls to setDispmanx should be replaced with a call such as:

  setBackend "$md_id" "dispmanx"

But support for dispmanx should be checked in the module - eg

  hasPlatform "dispmanx" && setBackend "$md_id" "dispmanx"

Module hooks for configure_dispmanx_on / conigure_dispmanx_off are no longer used (only used by fuse).
Instead a function _backend_set_ID is called, with the backend to use, and a force parameter.

By default no existing backend configuration is changed when calling setBackend, unless an additional
parameter of 1 is added. This is so a module won't overwrite a user's existing configuration.

If a module is set to launch under dispmanx, runcommand will handle it as before, but will also
now handle launching sdl1 and sdl2 modules under X. It will also run the matchbox-window-manager
which is required by some software.

If switching a module to launch under X it will check for the correct dependencies. If not installed
the user will be asked to confirm installation.
2021-04-19 03:30:09 +01:00
cmitu
7c010a52c5 audiosettings: fix PA options display when using mawk
`mawk` (default AWK on Debian) doesn't know about `gensub`, so use a Posix ERE instead.
Fix also the options index when choosing the PulseAudio sink so the correct audio output is chosen.
2021-03-21 17:35:09 +00:00
cmitu
09120cff40 esthemes: remove 2 non-available themes 2021-03-15 04:29:27 +00:00