91 Commits

Author SHA1 Message Date
Nikos Chantziaras
430baf7c21
Add Linux GameMode support (#13339)
This can fix a lot of performance issues, like audio crackling and frame
time spikes. This requires the GameMode package to be installed. See:

https://github.com/FeralInteractive/gamemode

This commit adds a "Game Mode" bool option to the "Power
Management" and "Latency" settings sections, and it can be toggled
on/off without restarting RA.

The actual toggling of game mode happens in a new frontend platform
interface function. Perhaps this will become useful for other platforms
that provide some equivalent of Linux GameMode.

Since the GameMode ABI is fixed, and the API comes as a single,
header-only file with no actual deps, we simply bundle the header
(deps/feralgamemode/gamemode_client.h.) That way, all Linux builds will
have support for GameMode regardless of whether the GameMode development
package is installed or not.
2021-12-14 14:07:42 +01:00
twinaphex
406c8bee7b Silenc some warnings 2021-08-09 21:24:03 +02:00
twinaphex
4c51e31b9d (Platform) Cleanups + add missing function pointer bind for Darwin 2021-01-16 16:14:03 +01:00
jdgleaver
be1c7b8e4c (.gitlab-ci.yml) Add Emscripten target 2021-01-06 14:42:06 +00:00
David Guillen Fandos
a442696b71 First attempt at adding proper brightness
Supports Switch and OGA
2020-11-26 19:22:05 +01:00
David Guillen Fandos
f5693f15e7 Make get_lakka_version available in all builds
This simplifies a bit the code, for some new lakka patches to come.
2020-11-23 18:44:24 +01:00
twinaphex
3ac75c043e Jdgleaver improvements 2020-11-20 03:55:55 +01:00
twinaphex
9ee1e33e09 Only attempt to call dir_check_defaults once per runtime session
when calling the frontend environment get callback - we want to
look at the 'default' directories, and then if they don't yet exist,
auto-create them so we can store files in them.
2020-11-19 07:10:22 +01:00
twinaphex
4ec216dc0b Get rid of file_path_str 2020-08-22 01:06:10 +02:00
twinaphex
855351de9e Reorder g_defaults, alignment 2020-08-16 04:38:02 +02:00
twinaphex
6b466c6013 Cleanups 2020-07-09 07:46:40 +02:00
twinaphex
e20151a048 Get rid of video_info struct for swap_buffers too 2020-03-06 22:29:51 +01:00
twinaphex
2d274f1369 Move accessibility features to platform frontend driver 2020-02-14 00:17:55 +01:00
twinaphex
96018412c0 Cleanups 2020-02-01 03:27:58 +01:00
Toad King
776568a429 fix images not loading in menu in emscripten
add changes to work with latest emscripten SDK
2020-01-02 21:29:25 -06:00
twinaphex
ca3a80091a Cleanup runloop_iterate
NOTE/CHECK: Hopefully wiiu is unaffected by the change
in sleeping
2019-08-11 19:39:48 +02:00
Toad King
618da66073 emscripten: add hack to prevent ERRNO_CODES from being optimized away 2019-08-07 22:07:09 -05:00
twinaphex
ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +02:00
Huw Pascoe
685aabb094 video_layout config 2019-05-11 09:58:46 +01:00
Brad Parker
aa588dec35 set default language on first startup according to OS setting (initial *nix implementation) 2019-04-15 23:14:49 -04:00
jdgleaver
2c65068be0 More 'Log to File' Additions:
- Add optional timestamped log files

- Handle errors if log file cannot be opened

- Android: flush log file immediately

- 3DS: log to file tested and fully working

- Default log paths added for all platforms
2019-03-25 17:22:59 +00:00
Brad Parker
e22148fed4 show cpu model name in log, implemented for x86/64 on windows/linux so far 2019-02-23 16:50:42 -05:00
twinaphex
85708b7ef8 (Emscripten) Buildfixes 2019-02-03 17:15:18 +01:00
Brad Parker
aa083d1e4c android: add configurable setting for Sustained Performance Mode 2018-06-19 02:50:33 -04:00
Brad Parker
f087b150c9 Add quick menu option to watch shader files for changes and recompile automatically (Linux only for now) 2018-01-25 15:50:57 -05:00
Toad King
55334aeffd fix black frame insertion in emscripten 2018-01-20 13:01:48 -06:00
Toad King
28b2bf537f fix warning 2018-01-15 04:17:01 -06:00
Toad King
0256156a6b fix rwebaudio time drift
fixes audio getting stuck in an always fast state
2018-01-15 03:08:30 -06:00
Toad King
19facdb066 reset drivers shortly after toggling fullscreen mode
fixes black screen after going fullscreen in game
2018-01-15 02:12:53 -06:00
Toad King
d23faff8d6 set the main loop first before calling rarch_main 2018-01-15 00:43:20 -06:00
Toad King
2738c79aa0 switch to RGUI as default menu for emscripten 2018-01-15 00:07:12 -06:00
Toad King
b75f4b4f67 implement setting vsync and swapinterval
vsync is not "true" vsync (that's always on in browsers) but changes the main loop timer from immediate to window.requestAnimationFrame
2018-01-14 23:29:20 -06:00
Toad King
2d27a8c3e2 fix exiting not terminating emscripten runtime 2018-01-14 02:53:34 -06:00
Toad King
5ef595be1a fix fullscreen 2018-01-14 02:33:22 -06:00
twinaphex
b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
twinaphex
6af5bd01bf Merge retro_stat and file_path 2017-06-16 15:00:11 +02:00
twinaphex
1421d1da30 Use path_mkdir 2017-05-23 20:45:14 +02:00
twinaphex
ccba9635b6 Update the way default directories are handled 2017-05-23 19:43:58 +02:00
twinaphex
80d9d1f143 Rewrite task_queue 2017-05-14 20:43:48 +02:00
twinaphex
42ebe7a7ad Merge runloop.c and retroarch.c 2017-05-11 09:11:46 +02:00
twinaphex
cc095e56fc Start refactoring bool variables 2017-04-28 00:53:20 +02:00
twinaphex
96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
twinaphex
80798ab924 Remove hacky 'OSK Keyboard' overlay 2016-11-27 02:46:09 +01:00
twinaphex
d08668b331 Rollback 4b807b482 - was unnecessary in hindsight anyway 2016-10-22 16:39:55 +02:00
twinaphex
4b807b482f Create runloop_poll 2016-10-20 02:17:17 +02:00
twinaphex
2a139b7d72 Add frontend_driver_attach_console/frontend_driver_detach_console 2016-10-09 17:15:50 +02:00
twinaphex
2277428f52 Move more global->savefiles usage to task_save.c 2016-09-19 04:09:27 +02:00
radius
9022bf75ad (emscripten) make core assets a subdir of content 2016-09-13 19:48:17 -05:00
twinaphex
7ac1ed7e10 Cleanups 2016-09-11 14:54:34 +02:00
radius
5dcfe3bb24 (ems) simplify code 2016-09-09 00:25:27 -05:00