{"id":13578968,"url":"https://github.com/TASEmulators/fceux","last_synced_at":"2025-04-05T20:32:49.148Z","repository":{"id":37393416,"uuid":"128689588","full_name":"TASEmulators/fceux","owner":"TASEmulators","description":"FCEUX, a NES Emulator","archived":false,"fork":false,"pushed_at":"2025-01-19T20:03:14.000Z","size":152423,"stargazers_count":1307,"open_issues_count":154,"forks_count":269,"subscribers_count":50,"default_branch":"master","last_synced_at":"2025-03-28T16:09:44.853Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://fceux.com","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TASEmulators.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-08T23:13:50.000Z","updated_at":"2025-03-28T13:47:47.000Z","dependencies_parsed_at":"2022-07-07T23:09:50.922Z","dependency_job_id":"aad3da44-0524-41bb-91e4-27832d4c8c17","html_url":"https://github.com/TASEmulators/fceux","commit_stats":{"total_commits":5898,"total_committers":89,"mean_commits":66.26966292134831,"dds":0.7288911495422177,"last_synced_commit":"fe6568101253a4dfe26571f85c4d8377250e72d1"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TASEmulators%2Ffceux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TASEmulators%2Ffceux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TASEmulators%2Ffceux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TASEmulators%2Ffceux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TASEmulators","download_url":"https://codeload.github.com/TASEmulators/fceux/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247318739,"owners_count":20919484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T15:01:35.420Z","updated_at":"2025-04-05T20:32:49.128Z","avatar_url":"https://github.com/TASEmulators.png","language":"C++","funding_links":[],"categories":["\u003ca name=\"cpp\"\u003e\u003c/a\u003eC++","C++"],"sub_categories":[],"readme":"FCEUX SDL 2.6.4 SDL README\n==========================\nOriginally By Lukas Sabota (sf: punkrockguy318)\nUpdated By mjbudd77\n\n[NOTE:  This only applies to Qt/SDL builds]\n\nhttps://fceux.com\n\nLast Modified: April 30, 2023\n\nTable of Contents\n-----------------\n\n1.  Requirements\n2.  Installation\n3.  Compile-time options\n4.  GUI\n5.  LUA Scripting\n5.  FAQ\n6.  Contact\n\n1 - Requirements\n----------------\n* sdl2  - Version \u003e= 2.0  (sdl2 \u003e= 2.8 recommended)\n* cmake - Required to build fceux. (cmake \u003e= 3.8 recommended)\n* qt5 OR qt6  - (qt version \u003e= 5.11 recommended)\n\t- Required Qt Modules: Widgets and OpenGL\n\t- Optional Qt Modules: Help\n* liblua5.1 (optional) - Will statically link internally if the system cannot provide this.\n* libx264 (optional) - H.264 video encoder for avi recording (recommended)\n* libx265 (optional) - H.265 video encoder for avi recording (recommended)\n* ffmpeg libraries (optional) - for avi recording (recommended)\n*\t- ffmpeg libraries used: libavcodec  libavformat  libavutil  libswresample  libswscale\n* libarchive (optional) - for 7zip archive support (test with version 3.4.0)\n* minizip  \n* zlib  \n* openGL\n* c++ compiler -- you may use g++ from gcc or clang++ from llvm or msvc 2019\n\n2 - Installation\n----------------\nThe old scons build system is no longer supported.\nFceux can be compiled and built using the cmake build system.  To compile, run:\n\n\tmkdir build; cd build;\n   cmake  -DCMAKE_INSTALL_PREFIX=/usr  -DCMAKE_BUILD_TYPE=Release  ..    # For a release build\n\nTo build a binary with debug information included in it:\n   cmake  -DCMAKE_INSTALL_PREFIX=/usr  -DCMAKE_BUILD_TYPE=Debug    ..    \n\nThe Qt version of the GUI builds by default and this is the preferred GUI for use. \nFor those who must have GTK/Gnome style, there is a GTK style plugin for Qt that \ncan be installed to the OS and selected for use via the GUI.\nThe previous GTK version of the GUI is now retired and has been removed from the build.\n\nThe Qt version GUI by far exceeds the old GTK gui in capability and performance.\nThe Qt GUI can build/link against both Qt5 and Qt6. To enable building against Qt6, use -DQT6=1 argument:\n   cmake  -DCMAKE_INSTALL_PREFIX=/usr  -DQT6=1  -DCMAKE_BUILD_TYPE=Debug    ..    \n\nTo do the actual compiling:\n   make\n\nTo compile faster with multiple processes in parallel:\n   make -j `nproc`\n\t\nAfter a sucessful compilation, the fceux binary will be generated to \n./build/src/fceux .  You can install fceux to your system with the following command:\n\n\tsudo make install\n\nBy default cmake will use an installation prefix of /usr/local.\nThe recommended installation prefix is /usr (this is where the installed fceux.desktop file expects everything to be)\n\nYou can choose to install the lua scripts (located in output/luaScripts) to a directory of your choosing:\n\n\tcp -R output/luaScripts /usr/local/some/directory/that/i/will/find/later\n\nIf you would like to do a full clean build a 'make clean' like function, you can do either of following:\n\n   make clean    # from inside build directory\n\nOR:\n\tDelete build directory and start over at initial cmake step:\n   rm -rf build;\n\n3 - Compile-time options\n------------------------\nYou can enable and disable certain features of fceux at build time. \nLook in the src/CMakeList.txt file to tweak options.\n\n4 - GUI\n-------\nThe Qt GUI is required and automatically builds as part of the build. The Qt GUI is the default.\nWhen invoking cmake, Qt6 can be used (instead of Qt5) by specifying a -DQT6=1 on the command line.\nSee above build instructions.\nOpenGL options:\nFor Linux builds, the OpenGL library preference can be either GLVND or LEGACY (default). \nTo use GLVND OpenGL, add a -DGLVND=1 on the cmake command line.\n\nQt Help Engine options:\nThe GUI supports both online and offline documentation options.\nOnline documentation requires an internet connection and a browser.\nQt supports an help engine that can read compiled html files (made via the Qt qhelpgenerator tool),\nthese files can reside locally on ones computer and be accessed by the GUI using the Qt help engine module.\nThe Qt help engine is an optional dependency and can be enabled in the build by\nadding a -DQHELP=1 on the cmake command line.\n\nQt Styling Options:\nThe Qt GUI can use custom Qt widget styling by providing it a Qt stylesheet file.\nUse the GUI config window to set style options.\n\n5 - LUA Scripting\n-----------------\nFCEUX provides a LUA 5.1 engine that allows for in-game scripting capabilities.  LUA is enabled either way. It is just a matter of whether LUA is statically linked internally or dynamically linked to a system library.\n\nA collection of LUA scripts are provided with the source distribuition in the output directory:\n\n\t$source_directory/output/luaScripts\n\nYou should be able to run most of the scripts in this directory out of the box.  However, some of the the lua scripts require functionality from the \"auxlib.lua\" library.  This file can be copied from \"./bin/auxlib.lua\" or \"./src/auxlib.lua\".  You will need to place this file in the LUA library search path if a script bombs out looking for auxlib.lua. If the script bombs out, the console output will let you know what the search path are (/usr/local/lib/lua/5.1/ on my particular system).  You can simply copy the auxlib to a preferred location to utilize the functions in the auxiliary lua library. \n\nIn addition, some of the lua scripts require functionality from the \"iup\" GUI library.  You can obtain binaries and source for \"iup\" upstream (http://www.tecgraf.puc-rio.br/iup/), but I would recommend obtaining packages from your Linux distribution if you are able, as it can be difficult to compile or get the binaries working correctly on a given system.\n\nYou will need to add the location that the libiup*.so files to the LUA_CPATH.  This can be done with the following command (please note that the location where iup is installed with vary based on how you installed iup):\n\n\texport LUA_CPATH=\"/path/to/iup/lib/lib?51.so;\"\n\nFor example, if libiuplua51.so is located in '/usr/lib', you can run the following command before executing fceux to place the library in the search path:\n\n\texport LUA_CPATH=\"/usr/lib/lib?51.so;\"\n\nFinally, if any scripts complaints about \"attempt to index global 'iup' (a nil value)\", this means that \"iup\" needs to be explicitly loaded into the script.  You can add the following line to the head of script to manually load \"iup\":\n\n\trequire(\"iuplua\")\n\nThe latest version of iup (3.5 at the time of writing) is recommended.\n\n6 - FAQ\n-------\n\n* Q.  Im having issues with my sound!\n* A.  Try different SDL audio drivers to see if this makes any difference.  You can do this by using this command before running fceux:\n\n\texport SDL_AUDIODRIVER=driver\n\nwhere driver is either: 'pulse' for pulseaudio;' alsa' for ALSA; 'dsp' for OSS; 'esd' for ESD; see SDL documentation for details (http://www.libsdl.org/docs/html/sdlenvvars.html)\n\nThere are sound options that you can tweak at runtime through command line switches:\n\n* -soundq x \t\tinternal sound quality hack value (0 off)\n* -soundrate x    \tsound rate (sane values: 28000 48000\n* -soundbuffersize x \t(in ms)  sane values (30, 50, 100, 120)\n\nRunning fceux through esddsp is known to fix some audio issues with pulseaudio on some older Ubuntu versions.\n\t\n7 - Contact\n-----------\nIf you have an issue with fceux, report it in the github bug tracker (see fceux at github.com).  If you would like to contact the author of this readme personally, e-mail LTsmooth42 \u003cat\u003e gmail \u003cdot\u003e com.  You can also check us out at #fceu on irc.freenode.net.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTASEmulators%2Ffceux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTASEmulators%2Ffceux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTASEmulators%2Ffceux/lists"}