Skip to content

[Bug] RPCS3 replaces file hardlinks with regular files. #16255

Open
@juliazero

Description

@juliazero

Quick summary

RPCS3 replaces file hardlinks with regular files.

Details

RPCS3 is overwriting hardlinks of files that were created before launching RPCS3, and even after RPCS3 has launched once and saved data to files like config.yml or similar.

For this reason, using the Scoop package manager becomes challenging, as the data preservation feature, intended to keep important files even after uninstalling RPCS3, does not work fully.

Info about how to install RPCS3 via scoop.

save attached file as rpcs3.json, and use scoop install .\rpcs3.json to install RPCS3 and test.

https://scoop.sh/ - to install scoop package manager

{
    "version": "0.0.33-17065",
    "description": "Sony PlayStation 3 emulator",
    "homepage": "https://rpcs3.net/",
    "license": {
        "identifier": "GPL-2.0",
        "url": "https://github.com/RPCS3/rpcs3/blob/master/LICENSE"
    },
    "notes": [
        "ATTENTION: RPCS3 requires a copy of the official PS3 firmware to function.",
        "Install the ps3-system-software package.  You must still manually load PS3UPDAT.PUP",
        "See the official quickstart guide for further instructions: https://rpcs3.net/quickstart",
        ""
    ],
    "suggest": {
        "Microsoft Visual C++ Runtime 2022": "extras/vcredist2022",
        "PS3 Firmware": "emulators/ps3-system-software"
    },
    "url": "https://github.com/rpcs3/rpcs3-binaries-win/releases/download/build-431221f1725577d1eba6fe439ed1f2cdc4c09600/rpcs3-v0.0.33-17065-431221f1_win64.7z",
    "hash": "46a4eaa80575352166a0cb412fb58be92b46c59a579fd1e80e8067cc3557f5df",
    "pre_install": [
        "if (!(Test-Path \"$persist_dir\")) {",
            "echo ''",
            "echo ''",
            "echo 'Note: During fresh installation, launching RPCS3.exe in the background is required to create additional files that the script will move to the Persist directory.'",
            "echo ''",
            "Start-Sleep -Seconds 8",
            "echo 'Starting RPCS3.exe within 10 sec...'",
            "echo '(Ctrl + C to Abort)...'",
            "Start-Sleep -Seconds 10",
            "echo ''",
            "Start-Process \"$dir\\rpcs3.exe\"  -WindowStyle Hidden -PassThru | Out-Null",
            "Start-Sleep -Seconds 5",
            "Stop-Process -Name rpcs3 -Force",
            "'[Meta]', 'checkUpdateStart=false' | Set-Content \"$dir\\GuiConfigs\\CurrentSettings.ini\"",
        "}"
    ],
    "post_install": [
        "if (!(Test-Path \"$persist_dir\")) {",
            "Get-ChildItem -Path \"$dir\" -Filter '*.original' -Directory | ForEach-Object { Remove-Item -Recurse $_.FullName }",
        "}"
    ],
    "bin": "rpcs3.exe",
    "shortcuts": [
        [
            "rpcs3.exe",
            "Sony PlayStation 3 [ps3][rpcs3]"
        ]
    ],
    "persist": [
        "dev_flash",
        "dev_flash2",
        "dev_flash3",
        "dev_hdd0",
        "dev_hdd1",
        "dev_usb000",
        "cache",
        "captures",
        "config.yml",
        "config",
        "firmware",
        "games.yml",
        "GuiConfigs",
        "Icons",
        "patches"
    ],
    "checkver": {
        "url": "https://rpcs3.net/compatibility?b",
        "regex": "/rpcs3-binaries-win/releases/download/build-(?<fullhash>[0-9a-f]+)/rpcs3-v(?<build>[0-9]+\\.[0-9]+\\.[0-9]+\\-[0-9]+)-(?<shorthash>[0-9a-f]{8})",
        "replace": "${build}"
    },
    "autoupdate": {
        "url": "https://github.com/rpcs3/rpcs3-binaries-win/releases/download/build-$matchFullhash/rpcs3-v$matchBuild-$matchShorthash_win64.7z",
        "hash": {
            "url": "https://rpcs3.net/compatibility?b",
            "regex": "Windows SHA-256: ($sha256)"
        }
    }
}

Attach a log file

Not required

Attach capture files for visual issues

No response

System configuration

Windows 11 24h2

Other details

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions