Commit graph

189 commits

Author SHA1 Message Date
cmitu
fdc5b0d307 mupen64plus: adjust dependencies
* for the libretro core, removed a couple of packages which are not needed for the libretro core.
* for the standalone, removed `libglew` which is only used on Windows for one of the plugins and make the GLU libraries mandatory since the core doesn't build without it.
2025-03-01 06:25:51 +00:00
Jools Wills
5ceb82220f mupen64plus - fix building on rpi5 with aarch64 kernel + arm userland
Remove -ffast-math from makefiles on armv8. This option causes the following error when building on the rpi5 (armv8.2a):

    /usr/lib/gcc/arm-linux-gnueabihf/12/include/arm_neon.h: In function ‘float16x4_t vmul_n_f16(float16x4_t, float16_t)’:
    /usr/lib/gcc/arm-linux-gnueabihf/12/include/arm_neon.h:17755:14: error: conversion of scalar ‘float’ to vector ‘float16x4_t’ involves truncation

This also disables it for other armv8 platforms (that didn't have this problem), but the option does come with some risks and was added to code which I don't think will benefit such as mupen64plus-ui-console.
2024-11-09 15:38:59 +00:00
Jools Wills
049c6b05c5 mupen64plus - de-duplicate make parameters
The make parameters are needed at the install stage and build stage so move them to a function.

Rename variable $source to $dir in the install loop - This matches the build function. An undefined variable $dir was used previously.

This also fixes some slight differences between them that were unnecessary:
  * isPlatform "rpi1" && params+=("VFP=1" "VFP_HARD=1") was missing from the install stage
  * install was missing isPlatform "armv8" && params+=("HOST_CPU=armv8") which is needed when building for the rpi5 with 64bit kernel and 32bit userland.
2024-11-07 00:19:06 +00:00
G Derber
f7761fd635
Add ability to differentiate group ownership from user ownership. 2024-08-06 09:38:25 -04:00
Jools Wills
12d0842fa8 mupen64plus - use full commit hash for pinning GLideN64
The mupen64plus package will contain an md5sum of all the mupen64plus repos last git commit.

As it will get a full hash for each repo, but the update check will compare using any hashes stored in the repos variable, it will mismatch and think there has been an update.
2024-07-16 21:15:56 +01:00
cmitu
530560055b mupen64pluus: workaround the GLES GlideN64 regression
Upstream GlideN64 has a regression due to a recent shader related change, which breaks the video output on GLES devices/platforms.
Until this issue is fixed in the upstream GlideN64, build the plugin from a commit before the changes that cause the regression.
2024-05-25 10:13:22 +01:00
Jools Wills
01ca2520eb mupen64plus - fix building on armv8 with 64bit kernel/32bit userland
Set HOST_CPU to armv8 when we have the armv8 flag set
2024-04-24 19:03:19 +01:00
Jools Wills
1da8bdd2c4 mupen64plus - add flag nodistcc to disable distcc for module
Remove setting DISTCC_HOSTS to an empty string to disable distcc (now handled by the module flag).
2024-04-17 00:54:41 +01: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
cmitu
a50c025dc8 mupen64plus: disable the Vulkan API in core project
The Vulkan API can be used by video plugins and front-end, but we don't currently ship any such components.
Added upstream in https://github.com/mupen64plus/mupen64plus-core/pull/1022
2023-10-19 19:59:23 +01:00
Stefan
b4d0f9ed7e mupen64plus.sh: rice-video - fix rpi/mesa video issues
Rice video has issues with rpi's mesa driver. Display is flickering or screen is black. ScreenUpdateSetting=7 fixes this issue. Fixes #3138.
2023-03-03 20:48:23 +01:00
Stefan
616bc72dfb
mupen64plus.sh: update GlideN64 config version
GlideN64 overwrites settings if config version is to old. Current config version is 29.
1f4d04f43b/src/Config.h (L8)
2023-03-03 16:26:25 +01:00
s1eve-mcdichae1
fe5645d0f8
Link config dir for network access to saves, etc.
For backup over network.
2022-02-09 21:39:16 -08:00
s1eve-mcdichae1
0353004850
Fix gles2rice plugin entry.
This var is not set locally, it is inheriting wrong value "main packages" from ../admin/setup.sh#L380, resulting in:

    mupen64plus-gles2ricemain packages = "...
2022-02-07 21:11:02 -08:00
dankcushions
0701f007cd mupen64plus: enable GLideN64 plugin option EnableInaccurateTextureCoordinates for rpi. Massively improves framerate at cost of accuracy 2021-11-02 22:47:08 +00:00
Jools Wills
ce6b95a95c mupen64plus - use apt-cache to check cmake version rather than hasPackage (dpkg)
The _get_repos_mupen64plus function is used for update checks, and it's called before depends_mupen64plus in this case.
If cmake was removed after installing, the hasPackage would fail and an older commit for the GLideN64 repo would
be used, which would cause an update even if not required.

This is unlikely to happen for end users, but the builder module removes dependencies after installing (so missing
dependencies can be identified). This caused mupen64plus binaries to be rebuilt when there had been no changes.

This check is only needed for older pre-buster distros with cmake older than 3.9 so will be removed in the future.
2021-06-10 02:38:01 +01:00
Jools Wills
6cb9ff13ec mupen64plus - add sdl2 flag to allow backend configuration 2021-04-19 03:30:09 +01:00
Jools Wills
ed20022055 packages / setup - rework logic to handle cases where there is no internet connection 2021-02-15 23:54:13 +00:00
Jools Wills
4f96051851 mupen64plus - rework logic with new rp_module_repo hook to check for updates
Split off the code to get the various repos depending on platform, adding default branch names.

Add a _pkg_info_mupen64plus function which takes get/newer/check parameters from the main packaging code.

If "get" is called, we check all used repositories, getting the last commit hash of each repo, and make
a md5 checksum which is stored in pkg_repo_extra.

If "newer" is called, we check the remote hashes of all repositories, make a md5 checksum and compare against
installed package pkg_repo_extra.

Switched the hash for GLideN64 for older cmake to a full hash, so we generate the same md5sum also.

If "check" is called (only currently used by our tools module for checking repo validity) it checks all the
repos, outputting any errors, and returns 1 if any of them failed.

This is a lot of extra code, but it's only this module which requires this complexity - we could have just
used the main repository, but as some of the plugins are more actively developed at times, it made sense to
want to update if any of the plugin repositories were changed also. This seemed the best way to do it, but
the additional hook functionality could be used with other modules in the future if it was needed.
2021-02-15 23:54:13 +00:00
Jools Wills
4da99cd1e1 mupen64plus - rework logic including rpi aarch64 support and merging vero4k/mali
There has been a lot of contributions to this module, and unfortunately some of the logic has become rather obfuscated,
with a lot of duplication. This is a combination of an earlier changeset I had, but adding aarch64 needed enough logic
changes, it made sense to include it all. There are more improvements needed, but this de-duplicates some of the logic.
Vero4k may need a revisit.

Changes include:
 * temporarily disable rice and gles2n64 for aarch64 due to build errors (just HOST checking errors so may well be easily fixed)
 * remove a lot of vero4k specific blocks in favour of the mali flag
 * enable mali for module (builds ok on odroid xu)
2020-07-30 04:28:30 +01:00
dankcushions
c8af7a69fe N64: Disabled hybrid upscaling filter (causes slowdown on RPI4) 2020-05-02 11:20:17 +01:00
Jools Wills
51e1ade9a0 mupen64plus - use older GLideN64 version on systems with cmake < 3.9
* latest GLideN64 CMakeLists.txt requires cmake 3.9+
2020-04-22 04:43:56 +01:00
Jools Wills
0668d83b38 mupen64plus - added missing libfreetype6-dev dependency needed by GLideN64 2020-04-22 04:43:27 +01:00
Jools Wills
8a251fd739 mupen64plus - disable for mali for now as the logic needs reworking
* was disabled before but re-enabled for all mali platforms with recent vero4k changes. The module needs some additional work and cleanup for other mali boards like odroid-c1 etc
2020-03-23 07:22:24 +00:00
hissingshark
87d1e19b0e Advertise Vero4K as a Mali platform 2020-03-02 06:38:46 +00:00
Jools Wills
c13c89fc6f lr-mupen64plus-next - make default for kms/rpi4
* move lr-mupen64-plus to optional packages (and main for kms platforms)
 * dont set mupen64plus standlone as default for rpi+kms
 * rework logic in mupen64plus - use kms instead of mesa and de-duplicate a bit
2020-02-16 00:02:56 +00:00
dankcushions
3fe099a297 N64: Mesa: support high resolution modes 2020-02-07 20:58:41 +00:00
dankcushions
150fe433b7 highres mode for GLideN64 needs to be paired with a nativeResFactor=2 to work. 2020-01-29 10:42:19 +00:00
dankcushions
0c944aba10 CacheSize is no longer a parameter in GLideN64 2020-01-13 01:06:16 +00:00
Jools Wills
00fedbe865 Merge remote-tracking branch 'retropie/master' into fkms_rpi4 2019-12-24 04:14:27 +00:00
Jools Wills
fc7f46268d system - fix double distcc path in MAKEFLAGS that broke distcc disabling code
also switched to using DISTCC_HOSTS="" to disable distcc when needed as previous
string replacement was hacky/unreliable and failed due to path duplication bug as
only the first path was removed from MAKEFLAGS
2019-12-24 04:07:00 +00:00
dankcushions
8ba782756f VSync patch now merged upstream. Removing. 2019-11-07 15:49:58 +00:00
dankcushions
f98b4ff6d1 FPS hack is no longer needed as per 96e1d73217 (diff-fe35047c4f73377c42592c2271157752) 2019-11-05 14:23:45 +00:00
Jools Wills
6cbbc1bec7 Merge remote-tracking branch 'retropie/master' into fkms_rpi4 2019-10-30 15:09:56 +00:00
dankcushions
e082d09d13 Use 128MB cache size for rpi2+, 64MB for pi1/0. 2019-10-28 18:14:45 +00:00
dankcushions
319b1242ab Tidy up FBEmulation setting. 2019-10-28 18:10:32 +00:00
dankcushions
96e1d73217 FPS Counter hack no-longer works, and redundant since Zelda* is in the GLideN64 blacklist 2019-10-23 21:05:54 +01:00
Jools Wills
0b9cbba68c Merge remote-tracking branch 'retropie/master' into fkms_rpi4 2019-10-21 23:50:53 +01:00
dankcushions
1253106c57 BufferSwapMode=2 (On buffer update) is most performant. 2019-10-13 18:58:07 +01:00
Conn O'Griofa
b0c021cbd0 mupen64plus: remove EGL extension check bypass hack
Fixed via:
d6ad676436
4c87af5975
2019-10-06 02:22:00 +01:00
Conn O'Griofa
d516ad83c2 mupen64plus: debian buster & initial fkms support
* apply armv8 optimization based on platform flag (rpi3/4)
* remove kms blocking flag and add fkms & generic kms support
* consolidate launcher script execution arguments
* skip "emplace" patch for kms targets (no crash observed)
* apply EGL detection segfault patch for mesa
* disable all blacklist checking for mesa
* run kms targets in native resolution due to lack of modesetting or scaling on KMS.
2019-09-05 13:03:46 +01:00
Jools Wills
922149b09d
Merge pull request #2803 from dankcushions/gles2n64
gles2n64.conf does not not like spaces around the '='
2019-08-12 05:24:31 +01:00
dankcushions
1be09af2f4 gles2n64.conf does not not like spaces around the '=' 2019-08-08 11:30:31 +01:00
dankcushions
c8c7c572a4 Enabled Threaded GL calls by default. Better performance. 2019-07-13 14:38:01 +01:00
hissingshark
dd0d3f2b6a Exclude modules harmful to Vero4k and build for armv7 2019-06-18 21:55:47 +01:00
Jools Wills
dcb836d7d7 Revert "mupen64plus - use commit 039f8181 for GLideN64 due to upstream issue"
This reverts commit 94009a04f9.

upstream is now fixed
2019-02-26 00:17:33 +00:00
Jools Wills
94009a04f9 mupen64plus - use commit 039f8181 for GLideN64 due to upstream issue
* https://github.com/gonetz/GLideN64/issues/2005
2019-02-13 18:55:24 +00:00
Jools Wills
f474d0fcbd switch to newer package name libpng-dev over libpng12-dev for dependencies.
* allow modules to still use libpng12-dev but show a message for them to be updated
 * change libpng-dev dependency to libpng12-dev for Jessie and older
2018-10-18 19:08:56 +01:00
Hugo Hromic
79c5d096ee mupen64plus - add libraspberrypi-bin as dependency
The `mupen64plus/mupen64plus.sh` script uses the `tvservice` binary and
in some systems this package might not be installed by default.
2018-08-16 15:22:13 +01:00
Jools Wills
869a8002a7
Revert "dependency fixes to helpers, runcommand and mupen64plus" 2018-08-16 02:07:30 +01:00