RPCS3 Forums

Full Version: Relative path for VFS (Virtual File System)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
How do I set relative path for the VFS? The UI in rpcs3 does not allow me to and editing config.yml doesn't appear to work either. In fact I found explicit code in rpcs3 that "fixes" my manual modifications of the path (https://github.com/RPCS3/rpcs3/pull/5523/files)

Scenario: rpcs3 and the games are on an external drive, but in separate folder structure:

>Launchbox/Emulators/rpcs3
>Roms/PS3/dev_hdd0

I need to provide relative path like so: "..\..\..\Roms\PS3\dev_hdd0"

Thanks!
Really, no one?
Tried using symlink with relative path and although the symlink by itself works (it correctly navigates to the folder where games are), rpcs3 does not know how to utilize it. Here is the error:

RPCS3 v0.0.9-9890-47bbfdd2 Alpha | HEAD | Firmware version: 4.85
Intel® Core™ i7-4710MQ CPU @ 2.50GHz | 8 Threads | 31.92 GiB RAM | TSC: Bad | AVX+
F SELF: Failed to locate the game license file: G:/LaunchBox/Emulators/rpcs3/dev_hdd0_symlink/home/00000001/exdata/UP2004-NPUB30054_00-CUBOID0000000000.rap.
Ensure the .rap license file is placed in the dev_hdd0/home/00000001/exdata folder with a lowercase file extension.
If you need assistance on dumping the license file from your PS3, read our quickstart guide: https://rpcs3.net/quickstart
E SELF: SELF: Can't find RAP file for NPDRM decryption!
E SELF: SELF: Failed to load SELF file metadata!
E SYS: Failed to decrypt SELF: G:/Roms/rpcs3/dev_hdd0/game/NPUB30054/USRDIR/EBOOT.BIN

What apparently happens is rpcs3 does not recognize the shortcut/symlink and always creates bogus dev_hdd0_symlink, dev_hdd0_symlinkdisc, dev_hdd0_symlinkgame, dev_hdd0_symlinkhome and dev_hdd0_symlinksavedata folders inside the root rpcs3 folder.

Can a dev advise please? Not only is relative path not working, but a viable workaround also fails.
@"Ani" ?
(03-11-2020, 06:54 PM)silverchair Wrote: [ -> ]Tried using symlink with relative path and although the symlink by itself works (it correctly navigates to the folder where games are), rpcs3 does not know how to utilize it. Here is the error:

RPCS3 v0.0.9-9890-47bbfdd2 Alpha | HEAD | Firmware version: 4.85
Intel® Core™ i7-4710MQ CPU @ 2.50GHz | 8 Threads | 31.92 GiB RAM | TSC: Bad | AVX+
F SELF: Failed to locate the game license file: G:/LaunchBox/Emulators/rpcs3/dev_hdd0_symlink/home/00000001/exdata/UP2004-NPUB30054_00-CUBOID0000000000.rap.
Ensure the .rap license file is placed in the dev_hdd0/home/00000001/exdata folder with a lowercase file extension.
If you need assistance on dumping the license file from your PS3, read our quickstart guide: https://rpcs3.net/quickstart
E SELF: SELF: Can't find RAP file for NPDRM decryption!
E SELF: SELF: Failed to load SELF file metadata!
E SYS: Failed to decrypt SELF: G:/Roms/rpcs3/dev_hdd0/game/NPUB30054/USRDIR/EBOOT.BIN

What apparently happens is rpcs3 does not recognize the shortcut/symlink and always creates  bogus dev_hdd0_symlink, dev_hdd0_symlinkdisc, dev_hdd0_symlinkgame, dev_hdd0_symlinkhome and dev_hdd0_symlinksavedata folders inside the root rpcs3 folder.

Can a dev advise please? Not only is relative path not working, but a viable workaround also fails.

hi,

did u try to create a junction instead on a symlink? Maybe that works:
cmd -> change into folder -> "mklink /j junction_name linked_folder"
That actually tricked rpcs3 to start compiling shaders and start the game. But after that it searches for files in the wrong place (as junction does not really forward as far as path is concerned):

p, li { white-space: pre-wrap; }
U {PPU[0x1000002] Thread (ContentAccessPermissionsGet) [0x00a11038]} sys_prx TODO: _sys_prx_unload_module(id=0x23005b00, flags=0x0, pOpt=*0x0)
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR//config.gm” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/dev_hdd0/game/NPUB30054/USRDIR/config.gm” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR//config.gm” [2]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/dev_hdd0/game/NPUB30054/USRDIR/config.gm” [2]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR//Language/English/common.tbl” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/dev_hdd0/game/NPUB30054/USRDIR/Language/English/common.tbl” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR//Language/English/common.tbl” [2]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/dev_hdd0/game/NPUB30054/USRDIR/Language/English/common.tbl” [2]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR//Language/English/common.tbl” [3]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/dev_hdd0/game/NPUB30054/USRDIR/Language/English/common.tbl” [3]
U {PPU[0x1000000] Thread (main_thread) [0x00a0ff0c]} sys_prx TODO: _sys_prx_get_module_id_by_name(name=“cellLibprof”, flags=0, pOpt=*0x0)
E {PPU[0x1000000] Thread (main_thread) [0x00a0ff0c]} SYS: '_sys_prx_get_module_id_by_name' failed with 0x8001112e : CELL_PRX_ERROR_UNKNOWN_MODULE [1]
E {PPU[0x1000000] Thread (main_thread) [0x007e67b8]} SYS: 'cellPadClearBuf' failed with 0x80121107 : CELL_PAD_ERROR_NO_DEVICE [1]
E {PPU[0x1000000] Thread (main_thread) [0x007e67b8]} SYS: 'cellPadClearBuf' failed with 0x80121107 : CELL_PAD_ERROR_NO_DEVICE [2]
U {PPU[0x1000000] Thread (main_thread) [0x00a0ff0c]} sys_prx TODO: _sys_prx_get_module_id_by_name(name=“cellLibprof”, flags=0, pOpt=*0x0)
E {PPU[0x1000000] Thread (main_thread) [0x00a0ff0c]} SYS: '_sys_prx_get_module_id_by_name' failed with 0x8001112e : CELL_PRX_ERROR_UNKNOWN_MODULE [2]
E {PPU[0x1000000] Thread (main_thread) [0x00a054ec]} SYS: '_sys_lwmutex_lock' failed with 0x80010005 : CELL_ESRCH [2]
E {PPU[0x1000000] Thread (main_thread) [0x00a054ec]} SYS: '_sys_lwmutex_lock' failed with 0x80010005 : CELL_ESRCH [3]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/textures0.ga” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/textures.ga” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/textures1.ga” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/scenes.sdat” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/sdated/scenes.ga” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/Pics/ICON0.PNG” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/Pics/PIC1.PNG” [1]
E {PPU[0x100000b] Thread (trophyThread) [0x007e0098]} SYS: 'sceNpTrophyCreateContext' failed with 0x8002291b : SCE_NP_TROPHY_ERROR_CONF_DOES_NOT_EXIST [1]
E {PPU[0x100000b] Thread (trophyThread) [0x007e0058]} SYS: 'sceNpTrophyDestroyHandle' failed with 0x80022906 : SCE_NP_TROPHY_ERROR_INVALID_ARGUMENT [1]
E {PPU[0x100000b] Thread (trophyThread) [0x007e0038]} SYS: 'sceNpTrophyDestroyContext' failed with 0x80022906 : SCE_NP_TROPHY_ERROR_INVALID_ARGUMENT [1]
U {PPU[0x100000b] Thread (trophyThread) [0x00a11038]} sys_prx TODO: _sys_prx_unload_module(id=0x2300a500, flags=0x0, pOpt=*0x0)
E {PPU[0x1000011] Thread (npdrm-rights-check) [0x007e5830]} SYS: 'sceNpDrmIsAvailable2' failed with 0x80010006 : CELL_ENOENT [1]
E {PPU[0x1000010] Thread (saveLoadThread) [0x007e0278]} SYS: 'cellSaveDataAutoLoad2' failed with 0x8002b401 : CELL_SAVEDATA_ERROR_CBRESULT [1]
E {PPU[0x1000012] Thread (npdrm-rights-check) [0x007e5830]} SYS: 'sceNpDrmIsAvailable2' failed with 0x80010006 : CELL_ENOENT [1]
E {PPU[0x1000013] Thread (npdrm-rights-check) [0x007e5830]} SYS: 'sceNpDrmIsAvailable2' failed with 0x80010006 : CELL_ENOENT [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR//autoexec.gm” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/dev_hdd0/game/NPUB30054/USRDIR/autoexec.gm” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR//autoexec.gm” [2]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/dev_hdd0/game/NPUB30054/USRDIR/autoexec.gm” [2]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/scenes/startup/startup.sbf” [1]
E {PPU[0x1000000] Thread (main_thread) [0x00af2090]} SYS: 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/NPUB30054/USRDIR/scenes/startup/startup.sbf” [2]
E {PPU[0x1000000] Thread (main_thread) [0x001cce3c]} SYS: 'sys_semaphore_post' failed with 0x80010002 : CELL_EINVAL [1]
E {PPU[0x1000000] Thread (main_thread) [0x001cce3c]} SYS: 'sys_semaphore_post' failed with 0x80010002 : CELL_EINVAL [2]
E {PPU[0x1000000] Thread (main_thread) [0x001cce3c]} SYS: 'sys_semaphore_post' failed with 0x80010002 : CELL_EINVAL [3]

In short, opening a symlink:

G:\LaunchBox\Emulators\rpcs3\dev_hdd0_symlink -->> G:\Roms\rpcs3\dev_hdd0

Opening a junction:

G:\LaunchBox\Emulators\rpcs3\dev_hdd0_junction ->> G:\LaunchBox\Emulators\rpcs3\dev_hdd0_junction