Commit graph

871 commits

Author SHA1 Message Date
Tuna Celik 086ab3cb37
Fix for an emulation shutdown hang
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (0, 51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (1, 8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang ${{ matrix.arch }} (aarch64, clang, clangarm64, ARM64, windows-11-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang ${{ matrix.arch }} (x86_64, clang, clang64, X64, windows-2025) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2026-01-29 23:25:56 +02:00
Megamouse ec7f666c6b Loader: Fix graceful Emu Restart
This wasn't working because GracefulShutdown was guarding the boot
2026-01-12 15:45:27 +01:00
Megamouse cf94be2aac ISO: reset m_path to original path during Restart 2026-01-12 15:45:27 +01:00
Megamouse a8624682a7 ISO: add some logging 2026-01-10 12:14:09 +01:00
Megamouse 19129eddd7 Qt: ISO clean up
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (0, 51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (1, 8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
Should fix some potential Qt bugs as well
2026-01-10 06:36:58 +01:00
Functionable a53f2fc7b9 ISO: Fix save states in games with multiple executables
- Some games will load into a different executable from EBOOT.BIN, and
attempting to restore those games from savestate causes the game to
crash immediately.
- This commit repurposes the disc_info field in a savestate generated
from an ISO game to store the running game executable at the time of the
save state.
2026-01-09 14:40:51 +02:00
Functionable f4dffd985b ISO: Fix argv[0] being set to a garbage value
- Due to GetCallbacks().resolve_path behaviour being reverted in a prior
commit, resolved_path will not have the path to the game executable.
This causes issues when setting argv[0] to the game executable path and
apparently breaks some games which may rely on this value.
2026-01-09 14:40:51 +02:00
Functionable 59a1f81e86 ISO: Game loading fixes
- After undoing the changes to do with resolve_path, loading game
updates was broken. This required the condition to be changed to check
for launching_from_disc_archive.
- When attempting to load an update for an ISO game,
inherited_ps3_game_path needs to be set otherwise launching the updated
game will fail.
- An additional check was added to ensure that the inherited vitual game
directory isn't saved as the game path in games.yml.
- Fixed attempting to load an updated ISO game by launching its updated
executable, which can happen when loading a savestate for a game with
updates, the emulator would crash before.
- Unload ISO file when Load() fails, otherwise ISO loading might be
stuck in a broken state.
2026-01-09 14:40:51 +02:00
Functionable 407cbf9690 ISO: Add ISO games through Emulator::AddGamesFromDir
- When dragging and dropping ISO files, they will be treated the same as
game directories currently are and added to the game list rather than
immediately being opened.
2026-01-09 14:40:51 +02:00
Functionable 095f433f8e ISO: Fix loading games in continuous mode
Some games will load into another game and continuous mode will be set.
Currently, if this happens the ISO will get unloaded in the shutdown
function. This commit adds an additional check before calling the unload
function to fix this.
2026-01-09 14:40:51 +02:00
Functionable fa11af1cba ISO: Remove resolve_path hack
- Modify Emulator::GetFakeCat to return "DG" for mounted ISO games like
expected.
- Undo changes to main_application resolve_path callback
2026-01-09 14:40:51 +02:00
Functionable 48f39acac7 ISO: Unload the iso_device on shutdown 2026-01-09 14:40:51 +02:00
Functionable 1d2f6404c6 ISO: Fix for save states 2026-01-09 14:40:51 +02:00
Functionable 990e002782 ISO: Modify game boot for ISOs
This commit modifies code in System.cpp to allow games to boot from ISO
images. Game data is loaded by leveraging fs::set_virtual_device, and
setting the m_path to the ISO device location.

This commit also modifies the resolve_path callback to return the path
it was given if it wasn't found in the OS. This is necessary as
Emulator::GetFakeCat will return "HG" on disc games, making games
unplayable through ISO.
2026-01-09 14:40:51 +02:00
Megamouse 27f39d2ac0 fmt: add more string_view versions of string functions 2025-12-08 19:49:42 +01:00
Megamouse 7e8ed5ecc1 rsx: clear unused parameters on capture boot
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-12-01 17:51:30 +01:00
Elad e09be04df6 Emu/UX: Automatic Cache Precompilation for PKG instal
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-29 10:47:51 +02:00
Elad 5893851029 Core: Remove Intel-TSX ISA Extension based code 2025-11-17 10:32:08 +02:00
Elad 8712414123 System.cpp: Check if the original EBOOT.BIN is valid for disc game updates
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-11-03 12:04:11 +02:00
Elad 6b556ca5b0 SaveStates: Fix Gem Thread Reboot 2025-10-14 08:16:02 +03:00
Elad b18a0830f3 Multi-Slot Savestates
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-10-07 13:33:58 +03:00
Megamouse f371f8be3e Move gamemode exit to final kill callback analog to display_sleep 2025-07-06 19:42:09 +02:00
ADAS2024 ef566186be
[Linux] Implement Feral Interactive's Gamemode for Potential Performance Increases (#17325)
Currently, this is a draft PR to implement Feral Interactive's Gamemode
into RPCS3, which can improve game performance on certain Linux systems.

At the moment, I am running into various compiler warnings when trying
to include "gamemode_client.h" due to the file not using strict typings
and old C-style casts. I know I can disable these flags during RPCS3's
compilation but I wanted to check with the maintainers before going
forward and if this feature should be implemented.

It should be noted that RPCS3 only fails to compile and run if I include
Feral's header file, but everything else compiles if I comment out the
include.

Targets Issue #11299
2025-07-06 11:50:03 +02:00
Megamouse c27d7db0a7 SDL: do not track emu state when initializing 2025-05-21 07:01:11 +02:00
elad335 fa744121fc Fix CallFromMainThread execution condition 2025-05-13 17:37:13 +03:00
elad335 d21358e91f System: Fix Kill calling duplication 2025-05-09 11:39:53 +03:00
elad335 3ea3ed6672 Emu: Track game termination progress better 2025-05-08 17:06:47 +03:00
Megamouse 738d1ef682 Emu: Make game termination less confusing 2025-05-08 12:58:38 +02:00
Megamouse 9c7d8da298 Add log message if game ignores exit game request 2025-05-08 12:58:38 +02:00
Antonino Di Guardo b8d1d7cdf1
Fix game list update for auto-detection VFS games folder (#17051) 2025-04-17 12:14:54 +02:00
Megamouse 949a80dc0a Loader: deny boot if the firmware is too old 2025-03-28 18:18:09 +03:00
RipleyTom 324af04426 Set PSN to disconnected when net status is disconnected 2025-03-25 21:46:38 +01:00
Megamouse b2ff24453c overlays: fix background image logic
Also make the path getter more generic
2025-03-21 20:47:45 +01:00
Megamouse ec29650029 Fix warning 2025-03-17 23:11:31 +01:00
Megamouse 42ba0b6271 Qt: Use localized game icons and titles 2025-03-17 00:47:43 +01:00
Elad 783079266e Emulator: Implement config CLI args, add barrier for host CLI args 2025-03-03 06:54:00 +02:00
Elad 207ee59acd PPU Analyzer: Firmware/import caller analysis and KLIC finding pass 2025-02-27 12:32:21 +02:00
Megamouse 8d801dadc4 Move display sleep functions to emu callbacks 2025-02-25 19:45:43 +01:00
Megamouse 87db82cacd Move check_microphone_permissions to emu callbacks 2025-02-25 19:45:43 +01:00
RipleyTom cd87a64621 Headers cleanup 2025-02-11 20:38:35 +01:00
Elad 665bb83297
Fix Savestates recent regression 2025-01-28 18:49:19 +02:00
Megamouse 0ef2e96121 Fix segfault on missing firmware
Wait until kill to close the gs_frame on error
2025-01-25 17:06:35 +01:00
Elad 81d0dd686b LLVM: Add explicit resource-freeing at emulation stop 2025-01-25 12:47:44 +02:00
Megamouse ba702509c8 Qt: Add Recent savestates menu 2025-01-23 22:55:07 +01:00
Megamouse 448666c896 Log LLVM version 2025-01-23 18:01:16 +01:00
Megamouse 6805c36004 Decrease log level of config file move error 2025-01-22 02:18:07 +01:00
Megamouse a7edfa221e windows: move logs to log dir 2025-01-16 21:33:33 +01:00
Megamouse 451e953d26 windows: move config.yml and games.yml to /config/ 2025-01-16 21:33:33 +01:00
Megamouse c443326fb1 Do not re-use the old game window if the renderer changed 2025-01-06 15:49:09 +01:00
Megamouse 2ac171a30f move error_report to ErrorCodes.cpp 2025-01-06 15:49:09 +01:00