[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-94449":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":15,"starSnapshotCount":15,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},94449,"ARMSX3","ARMSX2\u002FARMSX3","ARMSX2","Proof of concept port of RPCS3 for Android ",null,"C++",243,9,4,6,0,109,53,"GNU General Public License v2.0",false,"master",true,[],"2026-08-24 04:01:22","ARMSX3\n======\n\nProof of concept Android port of RPCS3.\n\nUses the latest RPCS3 upstream code (the recent ARM64 improvements included). \n\nStatus\n------\n\nFrom my testing, I only tried Skate 3. It boots, loads and reaches gameplay at roughly 20 to 30 fps on a\nSnapdragon 8 Gen 2. Rendering, audio, touch controls and physical controllers\nwork. Almost nothing else has been tested. So the main stop gap at the moment is performance\u002Fspeed. \n\nDifferences from upstream RPCS3\n-------------------------------\n\nSome of the fixes here are not in upstream and affect any ARM64 build, not only\nAndroid:\n\n* Shaders declared runtime sized arrays inside uniform blocks, which requires\n  VK_EXT_shader_uniform_buffer_unsized_array. Adreno does not support that\n  extension, so every game pipeline failed to compile and nothing rendered.\n  Concrete array bounds are emitted when the extension is missing.\n\n* The ARM64 SPU block verification checksum folded two thirds of every block\n  through an absolute difference. That collides on the near identical job\n  binaries an SPU job manager streams through the same local store address, so\n  a cached block could end up running against another job's code. It sums now.\n\n* Thread affinity was compiled out on Android, and the core had no ARM\n  big.LITTLE topology, so SPU and RSX threads were never placed on the fast\n  cores.\n\n* The LLVM JIT target was pinned to cortex-a34, an in order core from 2016. It\n  detects the host now.\n\nBuilding\n--------\n\nOnly arm64-v8a is supported. You need the Android SDK with NDK r27 or newer,\nCMake 3.30 or newer, and a JDK 17. Android Studio ships all of these.\n\nClone with submodules, then fetch the two third party checkouts that are not\nsubmodules:\n\n    git clone --recursive https:\u002F\u002Fgithub.com\u002FARMSX2\u002FARMSX3.git\n    cd ARMSX3\n    git clone https:\u002F\u002Fgithub.com\u002FSnowflakePowered\u002Flibrashader 3rdparty\u002Flibrashader\n    git clone https:\u002F\u002Fgithub.com\u002Fbylaws\u002Flibadrenotools android\u002Farmsx3-ui\u002Fapp\u002Fsrc\u002Fmain\u002Fcpp\u002Flibadrenotools\n\nBuild the core. This is the long part and produces an unstripped library of\naround 1.3 GB:\n\n    export ANDROID_HOME=$HOME\u002FLibrary\u002FAndroid\u002Fsdk\n    cmake -B build-android -G Ninja \\\n      -DCMAKE_TOOLCHAIN_FILE=$ANDROID_HOME\u002Fndk\u002F\u003Cversion>\u002Fbuild\u002Fcmake\u002Fandroid.toolchain.cmake \\\n      -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-31 \\\n      -DCMAKE_BUILD_TYPE=RelWithDebInfo\n    cmake --build build-android --target rpcsx-android -j8\n\nStrip it and put it where the app expects it:\n\n    llvm-strip --strip-unneeded build-android\u002Fandroid\u002Flibarmsx3-core.so\n    cp build-android\u002Fandroid\u002Flibarmsx3-core.so \\\n       android\u002Farmsx3-ui\u002Fapp\u002Fsrc\u002Fmain\u002FjniLibs\u002Farm64-v8a\u002F\n\nThen build the app:\n\n    cd android\u002Farmsx3-ui\n    export JAVA_HOME=\"\u002FApplications\u002FAndroid Studio.app\u002FContents\u002Fjbr\u002FContents\u002FHome\"\n    .\u002Fgradlew :app:assembleRelease\n\nThe apk lands in app\u002Fbuild\u002Foutputs\u002Fapk\u002Frelease\u002F.\n\nNote that the core library has to be rebuilt and copied again whenever anything\nunder rpcs3\u002F or android\u002Fsrc\u002F changes. Gradle does not build it for you.\n\nThe Discord Social SDK is proprietary and is not redistributed here. Get it from\nDiscord's developer portal and drop it in app\u002Flibs\u002F and\napp\u002Fsrc\u002Fmain\u002Fcpp\u002Fdiscord_sdk\u002F if you want that feature. The build skips it\notherwise.\n\nRunning it needs PS3 firmware, which is not included. \nLicense\n-------\n\nGPL-2.0-only, the same as RPCS3. See LICENSE. Some files may be licensed\ndifferently, check the file headers.\n\nBased on RPCS3, https:\u002F\u002Fgithub.com\u002FRPCS3\u002Frpcs3\n","ARMSX3 是一个将 RPCS3（PlayStation 3 模拟器）移植到 Android 平台的概念验证项目，专为 ARM64 架构优化。其核心功能包括基于 Vulkan 的图形渲染、SPU\u002FRSX 多线程调度适配、Adreno GPU 兼容性修复（如移除不支持的 Vulkan 扩展依赖）、动态 LLVM JIT 目标检测及 big.LITTLE 核心调度优化。目前在骁龙 8 Gen 2 设备上可运行《Skate 3》等少数游戏，达到 20–30 FPS，支持触控与外设手柄。适用于高性能 Android 移动设备上的 PS3 游戏轻量级本地模拟场景，尚处于早期实验阶段，兼容性与性能仍在持续改进中。",2,"2026-08-09 02:30:02","CREATED_QUERY"]