Cross-platform, sophisticated frontend for the libretro API.

Overview

Build Status Coverity Scan Build Status Crowdin

RetroArch

RetroArch is the reference frontend for the libretro API. Popular examples of implementations for this API includes video game system emulators and game engines as well as more generalized 3D programs. These programs are instantiated as dynamic libraries. We refer to these as "libretro cores".

XMB menu driver

rgui menu driver

glui menu driver

ozone menu driver

libretro

libretro is an API that exposes generic audio/video/input callbacks. A frontend for libretro (such as RetroArch) handles video output, audio output, input and application lifecycle. A libretro core written in portable C or C++ can run seamlessly on many platforms with very little to no porting effort.

While RetroArch is the reference frontend for libretro, several other projects have used the libretro interface to include support for emulators and/or game engines. libretro is completely open and free for anyone to use.

libretro API header

Binaries

Latest binaries are currently hosted on the buildbot.

Support

To reach developers, either make an issue here on GitHub, make a thread on the forum, chat on discord, or visit our IRC channel: #retroarch @ irc.freenode.org. You could create a post in Reddit with Technical Support flair.

Documentation

See our Documentation Center. On Unix, man-pages are provided. More developer-centric stuff is found here.

Related projects

Philosophy

RetroArch attempts to be small and lean while still having all the useful core features expected from an emulator. It is designed to be very portable and features a gamepad-centric and touchscreen UI. It also has a full-featured command-line interface.

In some areas, RetroArch goes beyond and emphasizes on not-so-common technical features such as multi-pass shader support, real-time rewind (Braid-style), video recording (using FFmpeg), run-ahead input latency removal, etc.

RetroArch also emphasizes being easy to integrate into various launcher frontends.

Platforms

RetroArch has been ported to the following platforms:

  • DOS
  • Windows
  • Linux
  • Emscripten (WebAssembly and JavaScript)
  • FreeBSD
  • NetBSD
  • OpenBSD
  • Haiku
  • Solaris
  • macOS (PPC, x86-32 and x86-64)
  • PlayStation 2
  • PlayStation 3
  • PlayStation Portable
  • PlayStation Vita
  • Original Microsoft Xbox
  • Microsoft Xbox 360 (Libxenon/XeXDK)
  • Nintendo GameCube
  • Nintendo Wii
  • Nintendo Wii U
  • Nintendo 3DS/2DS
  • Nintendo Switch
  • Nintendo NES/SNES Classic Edition
  • Raspberry Pi
  • Android
  • iOS
  • Blackberry

Dependencies (PC)

There are no true hard dependencies per se.

On Windows, RetroArch can run with only Win32 as dependency.

On Linux, there are no true dependencies. For optimal usage, the following dependencies come as recommended:

  • GL headers / Vulkan headers
  • X11 headers and libs, or EGL/KMS/GBM

OSX port of RetroArch requires latest versions of XCode to build.

RetroArch can utilize these libraries if enabled:

  • nvidia-cg-toolkit
  • libfreetype2 (TTF font rendering on screen)

RetroArch needs at least one of these audio driver libraries:

  • ALSA
  • OSS
  • RoarAudio
  • RSound
  • OpenAL
  • JACK
  • SDL
  • PulseAudio
  • XAudio2 (Win32, Xbox 360)
  • DirectSound (Win32, Xbox 1)
  • CoreAudio (OSX, iOS)

To run properly, RetroArch requires a libretro implementation present; however, as it's typically loaded dynamically, it's not required at build time.

Dependencies (Console ports, mobile)

Console ports have their own dependencies, but generally do not require anything other than what the respective SDKs provide.

Configuring

The default configuration is defined in config.def.h. It is not recommended to change this unless you know what you're doing. These can later be tweaked by using a config file. A sample configuration file is installed to /etc/retroarch.cfg. This is the system-wide config file.

RetroArch will on startup create a config file in $XDG\_CONFIG\_HOME/retroarch/retroarch.cfg if it does not exist. Users only need to configure a certain option if the desired value deviates from the value defined in config.def.h.

To configure joypads, use the built-in menu or the retroarch-joyconfig command-line tool.

Compiling and installing

Instructions for compiling and installing RetroArch can be found in the Libretro/RetroArch Documentation Center.

CRT 15Khz Resolution Switching

CRT SwitchRes will turn on, on the fly. However, you will need to restart RetroArch to disable it. With CRT SwitchRes enable RetroArch will start in 2560 x 480 @ 60.

If you are running Windows, before enabling the CRT SwitchRes options please make sure you have installed CRTEmudriver and installed some modelines. The minimum modelines for all games to switch correctly are:

  • 2560 x 192 @ 60.000000
  • 2560 x 200 @ 60.000000
  • 2560 x 240 @ 60.000000
  • 2560 x 224 @ 60.000000
  • 2560 x 237 @ 60.000000
  • 2560 x 256 @ 50.000000
  • 2560 x 254 @ 55.000000
  • 2560 x 448 @ 60.000000
  • 2560 x 480 @ 60.000000

Install these modelines replacing 2560 with your desired super resolution. The above resolutions are NTSC only so if you would be playing any PAL content please add PAL modelines:

  • 2560 x 192 @ 50.000000
  • 2560 x 200 @ 50.000000
  • 2560 x 240 @ 50.000000
  • 2560 x 224 @ 50.000000
  • 2560 x 288 @ 50.000000
  • 2560 x 237 @ 50.000000
  • 2560 x 254 @ 55.000000
  • 2560 x 448 @ 50.000000
  • 2560 x 480 @ 50.000000

Some games will require higher PAL resolutions which should also be installed:

  • 2560 x 512 @ 50.000000
  • 2560 x 576 @ 50.000000

Ideally install all these modelines and everything will work great.

Super Resolutions

The default super resolution is 2560. It is displayed just under the CRT switch option, which can be found in video settings. This can be changed within the retroarch.cfg. The only compatible resolutions are 1920, 2560 and 3840. Any other resolutions will be ignored and native switching will be activated.

Native Resolutions

If native resolutions are activated you will need a whole new set of modelines:

  • 256 x 240 @ 50.006977 SNESpal

  • 256 x 448 @ 50.006977 SNESpal

  • 512 x 224 @ 50.006977 SNESpal

  • 512 x 240 @ 50.006977 SNESpal

  • 512 x 448 @ 50.006977 SNESpal

  • 256 x 240 @ 60.098812 SNESntsc

  • 256 x 448 @ 60.098812 SNESntsc

  • 512 x 240 @ 60.098812 SNESntsc

  • 512 x 224 @ 60.098812 SNESntsc

  • 512 x 448 @ 60.098812 SNESntsc

  • 256 x 192 @ 59.922745 MDntsc

  • 256 x 224 @ 59.922745 MDntsc

  • 320 x 224 @ 59.922745 MDntsc

  • 320 x 240 @ 59.922745 MDntsc

  • 320 x 448 @ 59.922745 MDntsc

  • 320 x 480 @ 59.922745 MDntsc

  • 256 x 192 @ 49.701458 MDpal

  • 256 x 224 @ 49.701458 MDpal

  • 320 x 224 @ 49.701458 MDpal

  • 320 x 240 @ 49.701458 MDpal

  • 320 x 288 @ 49.701458 MDpal

  • 320 x 448 @ 49.701458 MDpal

  • 320 x 480 @ 49.701458 MDpal

  • 320 x 576 @ 49.701458 MDpal

  • 256 x 288 @ 49.701458 MSYSpal

  • 256 x 240 @ 60.098812 NESntsc

  • 256 x 240 @ 50.006977 NESpal

  • 640 x 237 @ 60.130001 N64ntsc

  • 640 x 240 @ 60.130001 N64ntsc

  • 640 x 480 @ 60.130001 N64ntsc

  • 640 x 288 @ 50.000000 N64pal

  • 640 x 480 @ 50.000000 N64pal

  • 640 x 576 @ 50.000000 N64pal

  • 256 x 252 @ 49.759998 PSXpal

  • 320 x 252 @ 49.759998 PSXpal

  • 384 x 252 @ 49.759998 PSXpal

  • 640 x 252 @ 49.759998 PSXpal

  • 640 x 540 @ 49.759998 PSXpal

  • 384 x 240 @ 59.941002 PSXntsc

  • 256 x 480 @ 59.941002 PSXntsc

  • 352 x 240 @ 59.820000 Saturn/SGFX_NTSCp

  • 704 x 240 @ 59.820000 SaturnNTSCp

  • 352 x 480 @ 59.820000 SaturnNTSCi

  • 704 x 480 @ 59.820000 SaturnNTSCi

  • 352 x 288 @ 49.701458 SaturnPALp

  • 704 x 288 @ 49.701458 SaturnPALp

  • 352 x 576 @ 49.701458 SaturnPALi

  • 704 x 576 @ 49.701458 SaturnPALi

  • 240 x 160 @ 59.730000 GBA

  • 320 x 200 @ 60.000000 Doom

// Arcade

  • 400 x 254 @ 54.706841 MK
  • 384 x 224 @ 59.637405 CPS1

These modelines are more accurate giving exact hz. However, some games may have unwanted results. This is due to mid-scanline resolution changes on the original hardware. For the best results super resolutions are the way to go.

CRT resolution switching & MAME

Some arcade resolutions can be very different from consumer CRTs. There is resolution detection to ensure MAME games will be displayed in the closest available resolution but drawn at their native resolution within this resolution. Meaning that the MAME game will look just like the original hardware.

MAME ROMs that run in a vertical aspect like DoDonPachi need to be rotated within MAME before resolution switching and aspect correction will work. Do this before enabling CRT SwitchRes so that RetroArch will run in your desktop resolution. Once you have rotated any games that may need it turn CRT SwitchRes on.

Socials

The links below belong to our official channels. Links other than this may have been created by fans, independent members or followers. We seriously recommend using our original resources.

Comments
  • [iOS] retroarch 1.1 -nightly- problems

    [iOS] retroarch 1.1 -nightly- problems

    cant change any settings in core funtions for mupen64 cant change anything in user settings modules folder (no cores) is empty in retroarch app (but download them separately nighly cores) gl shader folder is empty to after open retroarch my phone overheat.

    opened by brujo5 228
  • Niche issue when streaming RA using some shader presets

    Niche issue when streaming RA using some shader presets

    First and foremost consider this:

    • Only RetroArch bugs should be filed here. Not core bugs or game bugs
    • This is not a forum or a help section, this is strictly developer oriented

    This is probably exceptionally low priority and something i'll have to live with. Still - I wanted to make sure it was put out there. As of a few versions back, I am no longer able to stream RA properly, at least in the means I have for a long time now. Unfortunately I'm a serial updater, and ive had a good week off of playing, so i cant say exactly what or when caused the regression.

    The short of it is this.

    I have content directory shader presets set up. In this case, for beetle psx hw. I load a game from said playlist, config override kicks in and positions window properly/places within overlay, and shader preset kicks in which ties into the configured sizing present in the config.

    this has stopped working if I am streaming and if im using my go-to shader that I have set up (ctr guest dr venom.) I stream via steam BPM via steam link app and if I load retroarch and load any playlist which uses that shader, I get a black screen with audio. This also happens with several other higher end crt shaders.

    If i come back to my pc, the image is on the screen, but is without color. If i remove the shader preset, all is fine. If i load a basic shader such as Geom's as a preset, that works fine as well.

    One other oddity. If i load a game via command line/shortcut direct from steam, it works fine. ONLY if i load it via retroarch itself does it fail.

    Im not sure if something a few versions back changed the priority or order these things were drawn or loaded - but definitely puts a damper on my vastly preferred means of playing.

    at current my options are command line shortcuts/launching of any game i want to play that uses that shader. The removal of those shader presets entirely from ~30 playlists and go with something basic like geoms, and resize all my config files to accomodate. Or, play exclusively from my pc.

    This could very well stem elsewhere, however I did try several different gpu drivers just in case. Also tried removing curve to eliminate that as being a potential variable as i know royale fails when curve is added to the picture.

    The strange part is, if i remove the preset, and load it manually after the game is loaded - it works just fine as well. its purely giving me hell when loaded automatically via content directory preset.

    Expected behavior

    The game to display alongside overlay AND shader, instead of overlay + black screen + audio.

    Actual behavior

    See above.

    Steps to reproduce the bug

    1. Launch retroarch via (presumably) a steam link - or in my case the steam link app.
    2. Load a game from a playlist that uses crt-guest-dr-venom
    3. note everything loads, (can see overlay, audio is playing) the gameplay area is black.

    Bisect Results

    I cant say exactly, as ive been not playing (but updating) for the past week or so. But its very recent.

    Version/Commit

    You can find this information under Information/System Information

    • RetroArch: 1.78 9a36851beb

    Environment information

    Windows 10

    opened by klepp0906 121
  • [Feature request] GXM driver for hardware acceleration on PS Vita

    [Feature request] GXM driver for hardware acceleration on PS Vita

    As of today, RetroArch / Libretro on the PS Vita is using software rendering. This is preventing cores from using the full potential of the device in terms of, of course, 3D emulation, but hardware acceleration could also do wonders for 2D display.

    Examples of GXM code found here : https://github.com/xerpi/gxmfun A little bit more context here : https://www.reddit.com/r/vitahacks/comments/5pbdgo/having_fun_with_libgxm_psvitas_3d_graphics_api/

    opened by kwyxz 105
  • iOS port issues - remaining

    iOS port issues - remaining

    This will be used to track all remaining issues until we feel confident to do a release. Please add to this issue as we go along.

    • (tested with PCSX ReARMed and verified there is an issue) - There seem to be pretty big savestate conflict problems right now. If I have a savestate saved on slot 1 for Soul Blade and if I then try to load state 1 in Resident Evil 2, it will actually load Soul Blade (!!!).

    I have also noticed saved states overwriting themselves this way.

    Meancoot - try to use the RGUI savestate functions in combination with the Cocoa savestate slots and tell me if you see any problems of the sort occurring.

    NOTE: I am using real BIOS files. Put the required BIOS files into Documents/.RetroArch

    opened by inactive123 85
  • [Vita] Netplay is not working correctly

    [Vita] Netplay is not working correctly

    Description

    1. We cannot unload cores on platforms with no dynamic core support (forced content reload for netplay).
    2. VitaSDK's epoll appears to be malfunctioning (used by socket_select, socket_poll and socket_wait).
    3. RetroArch is re-launched each time a new core is loaded; -H and -C parameters must be passed to the command-line when spawning the new process.
    4. Vita's kernel doesn't seem to like RetroArch's default netplay port, 55435.

    Expected behavior

    Netplay should always work for the Vita.

    Actual behavior

    Netplay either doesn't work or work only under certain conditions.

    Steps to reproduce the bug

    1. Start netplay as either host or client.

    Bisect Results

    Vita's netplay probably never worked as shown by unofficial forks fixing the problem.

    Environment information

    • OS: Vita
    • Compiler: GCC/VitaSDK
    platform: vita networking 
    opened by ghost 82
  • Video width and height are switched when a vertically-oriented game is loaded

    Video width and height are switched when a vertically-oriented game is loaded

    Description

    With vertically oriented games, Retroarch switches the emulator-provided width and height. For example, if the width/height is supposed to be 320x240, RA will switch this to 240x320. This only occurs with vertically oriented games. I tested this in both MAME and FBA using the Windows 64 bit version of RA.

    Expected behavior

    The game to be displayed using the correct resolution (width/height).

    Actual behavior

    The height and width is switched when a vertically oriented game is loaded.

    Steps to reproduce the bug

    1. load any vertically oriented game in either FBA or MAME using Windows 64 bit version of RA (example: DonPachi)
    2. under video settings, enable integer scale.
    3. set "custom aspect ratio width/height" to 1x.
    4. look at "custom aspect ratio width/height" to see that it says 240 for width and 320 for height. This is the reverse of what it should be; it should be 240 for height and 320 for width.

    Bisect Results

    I first noticed this a few days ago.

    Version/Commit

    You can find this information under Information/System Information

    • RetroArch: 1.7.6 Git version: 9750719074

    Environment information

    • OS: Windows 10
    • Compiler: NA

    image

    image

    opened by Patrickdroid 82
  • Vulkan video driver in fullscreen on GeForce Driver 387.92 causing black screen

    Vulkan video driver in fullscreen on GeForce Driver 387.92 causing black screen

    Description

    With the new nVidia GeForce 387.92 video driver, the RetroArch Vulkan video driver only displays a black screen when starting any emulator. This only occurs in fullscreen mode. If you run in Windowed mode or alt-tab out of RetroArch and back in, then you'll get an image again (unless you change a resolution setting in the emulator causing the video driver to initialize).

    nVidia's driver release notes say the following relating to the issue:

    Implemented improved behavior for full-screen Vulkan swapchains using VK_KHR_win32_surface.

    This optimization will cause more events that trigger an out-of-date swapchain, such as when entering or leaving full-screen mode (typically by pressing Alt+tab). Applications that do not properly respond to the VK_ERROR_OUT_OF_DATE_KHR return code may not function properly when these events occur. See the WSI Swapchain section of the Vulkan specification.

    Other users reporting the issue here: https://forums.libretro.com/t/vulkan-full-screen-broken-with-new-nvidia-drivers-387-92-win10/12691

    Expected behavior

    Video to be displayed normally.

    Actual behavior

    Screen goes black when starting any emulator

    Steps to reproduce the bug

    1. Install nVidia Geforce Driver 387.92
    2. Start any emulator in-game
    3. Experience the black screen
    4. Exit Fullscreen or simply alt-tab out and back in to get the image back

    Bisect Results

    Only occurs with 387.92 and up nVidia driver. Rolling back to 385.69 works fine.

    Version/Commit

    • RetroArch: 1.6.3 - 1.6.7

    Environment information

    • OS: Windows 10 64-bit 1703 (Creators Update)
    • HW: GeForce GTX 1070
    bounty 
    opened by WhiteZeroX 80
  • IOS9/Pangu: Instant Crash

    IOS9/Pangu: Instant Crash

    I'm running the Pangu jailbreak on IOS 9.0.2 and it seems no matter which version of Retroarch I get (or where I get it from), the problem is the same: The app installs fine, but when I tap it it loads for a split second and then returns me to my icons. I tap the home button and it's running in the background, switch to it, and I'm returned (once again) to my icons. I'm assuming it's a problem due to the new IOS + Jailbreak but I'm not entirely sure.

    This happened on 1.0.0.1 from the ZoDTTD repo, 1.0.0.2 from the buildbot page and both versions from the Kromite repo (http://kromite.github.io).

    I've heard a lot of ranting about date / time, but this had no effect on the outcome.

    bug: major 
    opened by ghost 80
  • Fetch translation from Crowdin

    Fetch translation from Crowdin

    Guidelines

    1. Rebase before opening a pull request
    2. If you are sending several unrelated fixes or features, use a branch and a separate pull request for each
    3. If possible try squashing everything in a single commit. This is particularly beneficial in the case of feature merges since it allows easy bisecting when a problem arises

    Description

    Fetch translation from Crowdin. Update python script to support UTF-8 better and fix some key mismatch.

    Related Issues

    Related Pull Requests

    Reviewers

    opened by guoyunhe 79
  • [Wii U] DSI Error on launching Roms with Retroarch 1.67

    [Wii U] DSI Error on launching Roms with Retroarch 1.67

    img_0368

    DSI error ocurring randomly when launching ROMs under 1.67.

    FBA mainline core seems to trigger it most often. Usually the first ROM will load ok, while subsequent ROMs may trigger the error.

    Setup: Wii U 5.5.1, CBHC, launching Retroarch from channel. Same setup working fine previously, tried fresh .cfg as well with same results.

    platform: wiiu 
    opened by retrob0t 78
  • Implementing WASAPI Audio driver in Windows

    Implementing WASAPI Audio driver in Windows

    Further to this thread on the libretro boards: http://libretro.com/forums/showthread.php?t=5206

    I'm inquiring about the possible implementation of a WASAPI audio driver for Windows builds of Retroarch. This kind of solution is very popular in both audio playback and production and it would provide the following benefits:

    • higher quality "bitperfect" audio, with the target application taking exclusive control of the audio, bypassing the Windows mixer stack and muting anything else;
    • extremely low-latency response.

    Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

    followup: enhancement 
    opened by Ryunam 77
  • Minor RetroAchievements Pop-up Display Issue

    Minor RetroAchievements Pop-up Display Issue

    Description

    Might be exclusive to UWP but with this #14777 PR when the Achievement Widget is set to anything but Top/Bottom Left then the pop-up text will bug out slightly and overlap with the game/cheevo badge when displaying the initial achievement pop-up on game load and achievement pop-ups.

    Expected behavior

    For the pop up to display properly and the text to not overlap with the badges.

    Actual behavior

    https://user-images.githubusercontent.com/27123572/210099912-acc8c10c-cfaa-49ee-a2d4-a280f96cd6b6.mp4

    Steps to reproduce the bug

    1. Enable Achievements.
    2. Change alignment to either top/bottom center/right.

    Version/Commit

    You can find this information under Information/System Information

    Environment information

    • OS: Xbox Series X
    opened by TheRhysWyrill 0
  • Translation completeness quickfix

    Translation completeness quickfix

    Description

    I did not notice this special prefix in upload script, so currently completeness labels are not appearing in Crowdin. Renamed the labels to avoid the conflict.

    opened by zoltanvb 0
  • Update selected save slot when start with cli --entryslot

    Update selected save slot when start with cli --entryslot

    Guidelines

    1. Rebase before opening a pull request
    2. If you are sending several unrelated fixes or features, use a branch and a separate pull request for each
    3. If possible try squashing everything in a single commit. This is particularly beneficial in the case of feature merges since it allows easy bisecting when a problem arises

    Description

    Update selected save slot when start game with --entryslot number options, This is for not overriding state 0 at the next save

    Related Issues

    [ [[Any issues this pull request may be addressing]](https://github.com/libretro/RetroArch/issues/14780)](https://github.com/libretro/RetroArch/issues/14780)

    Reviewers

    @asciibeats @jdgleaver

    opened by gugueU 0
  • Add a switch between top & bottom screen on 3ds

    Add a switch between top & bottom screen on 3ds

    3ds have 2 screens with a top screen resolution of 400x240 & bottom screen of 320x240. I think it would be great to have the ability to switch between 2 screens because the bottom screen has the correct pixel-perfect aspect ratio for most older consoles. I would love to play games on the bottom screen.

    opened by Vexnik 0
  • [SAVESTATES] start with --entryslot may need some improovements

    [SAVESTATES] start with --entryslot may need some improovements

    Start with xxxx.state.entry or xxxx.state0.entry do not works

    Could we update actual selected slot after start a game. exemple: retroarh --entryslot 5 does update selected slot to 5

    opened by gugueU 3
  • Zero-length logs on iOS.

    Zero-length logs on iOS.

    Description

    Using sideloaded RetroArch on iOS, any logs created are entirely blank.

    Expected behavior

    A log to show up in Files App/[RetroArch]/logs that contains text information about the current or previous run of RetroArch.

    Actual behavior

    A log file shows up with a date and name, but no contents.

    Steps to reproduce the bug

    1. Sideload RetroArch with AltStore, and open it.
    2. Go to logging settings.
    3. Enable "Log to File" and "Logging Verbosity", and set the Frontend and Core logging levels to 0 (debug).
    4. Run any game.
    5. Exit the game and close RetroArch.
    6. Go to the Files app -> "On my iPhone" -> "RetroArch" -> "RetroArch" -> logs

    image

    Bisect Results

    This has been happening since I downloaded it.

    Version/Commit

    You can find this information under Information/System Information

    • RetroArch: 1.14.0, build Dec 13 22

    Environment information

    • OS: iOS 16
    • Compiler: None
    opened by duckfromdiscord 0
Releases(v1.14.0)
Easily generate cross platform Swift framework projects from the command line

SwiftPlate Easily generate cross platform Swift framework projects from the command line. SwiftPlate will generate Xcode projects for you in seconds,

John Sundell 1.8k Dec 27, 2022
The Outline Client is a cross-platform VPN or proxy client for Windows, macOS, iOS, Android, and ChromeOS

Outline Client The Outline Client is a cross-platform VPN or proxy client for Windows, macOS, iOS, Android, and ChromeOS. The Outline Client is design

Jigsaw 7.3k Dec 31, 2022
Cross-platform instrumentation and introspection library written in C

Gum Cross-platform instrumentation and introspection library written in C. This library is consumed by frida-core through its JavaScript bindings, Gum

Frida 524 Jan 4, 2023
A Swift cross-platform (Apple and Linux) networking library.

KippleNetworking A Swift library that offers cross-platform (Apple and Linux) networking support, intended for the creation of cross-platform SDKs to

Kipple 11 Sep 20, 2022
A template Vapor app with nginx frontend.

This is an example Vapor app. It contains the app itself, as well as surrounding components (Postgres database, nginx frontend for providing secure connection), all runnable out of the box with docker compose. It is a good starting point for Vapor development of an API server which you could access from macOS and iOS clients.

Jaanus Kase 5 Jul 1, 2022
Scane - MacOS frontend for SANE

SCANE A MacOS frontend for SANE. Did Apple unceremoniously drop support for your

Matt Adam 8 Dec 21, 2022
iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems

iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems… Get Started: https://wiki.provenance-emu.com |

Provenance Emu 5.1k Dec 31, 2022
Respresso is a centralized resource manager for shared Android, iOS and Web frontend projects

Introduction Respresso is a centralized resource manager for shared Android, iOS and Web frontend projects. It allows you to simply import the latest

Respresso 10 Nov 8, 2022
Learning iOS Frontend: Aplikasi iOS Pemesanan Makanan dengan SwiftUI, WidgetKit, Google Fonts, dan Assets dari Figma

Foody Aplikasi Foody adalah Aplikasi iOS Pemesanan Makanan dengan SwiftUI, WidgetKit, Google Fonts, dan Assets dari Figma untuk Mempelajari Ilmu Front

DK 10 Aug 20, 2022
Demo of using Metal to render EDR / HDR content on iOS platform

MetalEDR-iOS Demo of using Metal to render EDR/HDR content on iOS platform. How it works This demo uses a hack to activate EDR display on iOS platform

Wutian 38 Oct 24, 2022
nds4ios is a port of the multi-platform Nintendo DS emulator, DeSmuME to iOS.

nds4ios Supports iOS 6 to iOS 9. nds4ios is a port of the multi-platform Nintendo DS emulator, DeSmuME to iOS. Currently, emulation is powered by a th

Kevin 162 Dec 25, 2022
Github iOS Client based on Github REST V3 API and GraphQL V4 API

ZLGithubClient Github iOS 客户端 by Existorlive Objective-c 2.0 Swift 5 Cocoapods 1.9.1 iOS >= 11.0 基于 Github REST V3 API 和 Github GraphQL V4 API 开发的iOS客

朱猛 55 Dec 29, 2022
A Swift playground that comes pre-loaded with Plot, that can be used to explore the new component API.

PlotPlayground A Swift playground that comes pre-loaded with Plot, so that you can quickly try out the library and its new, SwiftUI-like API for build

John Sundell 48 Jan 5, 2023
iOS 15 share play API in react-native

react-native-shareplay iOS 15 share play API in react-native Installation yarn add react-native-shareplay And go to Xcode Capabilities and enable "Gro

Popshop Live 27 Oct 16, 2022
This is a simple mobile app which is connect to the Twitter API

Project 3 - My Twitter My Twitter is a basic twitter app to read your tweets. Time spent on two parts: 8.5 hours spent in total Twitter - Part II This

Alem 1 Dec 14, 2022
A movie api created using Vapor, Fluent (ORM) and Postgres

A movie api created using Vapor, Fluent (ORM) and Postgres

Vijay 0 Jan 10, 2022
Test application that gets its data from the themoviedb api

SWorld app Aplicacion de prueba que obtiene sus datos de la api themoviedb, se permite listar, buscar por titulos y acceder al detalle Prerquisitos pa

null 0 Nov 17, 2021
A web API client in Swift built using Async/Await

Web API Client A modern web API client in Swift built using Async/Await and Actors. let client = APIClient(host: "api.github.com") // Using the clien

Alexander Grebenyuk 741 Dec 30, 2022
A simple, reliable and scalable delivery API for transactional push notifications for websites and applications

Catapush is a simple, reliable and scalable delivery API for transactional push notifications for websites and applications. Ideal for sending data-dr

Catapush 0 Dec 29, 2021