This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 3 Vote(s) - 4.33 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to identify the correct libraries to be loaded for each game by using the log?
#1
ps3 
Hi All, I'm new on PS3 emulation scene and have read some topics on how to make a game run properly on PS3 (the ones that already supported , of course).

I was able to run street fighter 2 and metal slug by looking the specific libraries needed for those two games on the game's thread. However, I don't know how to identify the needed libraries by myself just looking at the log file. Can anyone help on how to know the needed libs when trying to run the game?
Reply
#2
Basically experience and intuition. Look for "TODO" messages in the log. If you see something like "... TODO: CellFontDoSomething..." then you need to LLE libFont. But from experience I also know that you can't only LLE libFont, it needs to be paired with libfontFT, libfreetype and libfreetypeTT.

And then you have this issue where you will get errors like "TODO: cellGCM_something..." but you can't LLE GCM, that will crash instantly.

Also near the beginning of the log you will see several lines like "·! LDR: **** cellL10n export: [UTF8stoJISs] at 0x1e454c4" which basically tells you this game will use L10n, so maybe LLE that.

So here is the thing, you can LLE some modules, and not others. However you can get very far by just using a big list of modules known to work with some games. This massive Catherine list should basically be enough for most games. Some may need additional libraries like libFS and some may crash with vdec, refer to the log and what I wrote above in those cases.
Asus N55SF, i7-2670QM (~2,8 ghz under typical load), GeForce GT 555M (only OpenGL)
Reply
#3
ps3 
Huh what is CELL_EINVAL?

E {PPU[0x1000000] Thread (main_thread) [0x00319c58]} sys_mmapper: sys_mmapper_unmap_shared_memory(addr=0x31400000, mem_id=*0xd00ff180)
E {PPU[0x1000000] Thread (main_thread) [0x00319c58]} 'sys_mmapper_unmap_memory' failed with 0x80010002 : CELL_EINVAL


hey some help ?

what is CELL_EINVAL their is no module of that name..![/u]
Reply
#4
(01-29-2017, 02:17 PM)Sakamoto_Ryoma@Rock Wrote: Huh what is CELL_EINVAL?

E {PPU[0x1000000] Thread (main_thread) [0x00319c58]} sys_mmapper: sys_mmapper_unmap_shared_memory(addr=0x31400000, mem_id=*0xd00ff180)
E {PPU[0x1000000] Thread (main_thread) [0x00319c58]} 'sys_mmapper_unmap_memory' failed with 0x80010002 : CELL_EINVAL


hey some help ?

what is CELL_EINVAL their is no module of that name..![/u]

CELL_EINVAL is an error code and not a module.
There's nothing you can load to 'fix' that.
Desktop: Ryzen 7 5800X, Radeon RX 6800 XT, 2x8G 3600MHz, Manjaro Linux
Laptop: Intel i7 6700HQ, Intel HD 530, 2x8G 2133MHz, Manjaro Linux
Old Desktop: FX-8350, R9 280X, 2x4G 1600MHz, Manjaro Linux
Reply
#5
(01-29-2017, 02:21 PM)Annie Wrote:
(01-29-2017, 02:17 PM)Sakamoto_Ryoma@Rock Wrote: Huh what is CELL_EINVAL?

E {PPU[0x1000000] Thread (main_thread) [0x00319c58]} sys_mmapper: sys_mmapper_unmap_shared_memory(addr=0x31400000, mem_id=*0xd00ff180)
E {PPU[0x1000000] Thread (main_thread) [0x00319c58]} 'sys_mmapper_unmap_memory' failed with 0x80010002 : CELL_EINVAL


hey some help ?

what is CELL_EINVAL their is no module of that name..![/u]

CELL_EINVAL is an error code and not a module.
There's nothing you can load to 'fix' that.


what should i do now it aslo says:


U {PPU[0x1000000] Thread (main_thread) [0x00103eb4]} sys_fs TODO: sys_fs_chmod(path=“/dev_usb/lua_error_log.txt”, mode=0644) -> CELL_OK
U {PPU[0x1000000] Thread (main_thread) [0x0031d698]} sys_fs TODO: sys_fs_chmod(path=“/dev_usb/lua_error_log.txt”, mode=01376) -> CELL_OK

what is /host_root/app.lua ?

their no such folder of that type so how to make it.

i am also a programmer a game developer for ios/android.

but i am new to emulation and visual studio so that's why...also i use unity3d to make games... if you are curious!
Reply
#6
You can try to load libfs but those kind of errors are 'normal' right now and don't break the emulation so you shouldn't worry too much about them
Desktop: Ryzen 7 5800X, Radeon RX 6800 XT, 2x8G 3600MHz, Manjaro Linux
Laptop: Intel i7 6700HQ, Intel HD 530, 2x8G 2133MHz, Manjaro Linux
Old Desktop: FX-8350, R9 280X, 2x4G 1600MHz, Manjaro Linux
Reply
#7
(01-29-2017, 02:36 PM)Annie Wrote: You can try to load libfs but those kind of errors are 'normal' right now and don't break the emulation so you shouldn't worry too much about them

Okay but I am trying to play flaapy bird ps3 edition

And their is no video output on the dx12 window. And I have enabled my GPU as the dx12 renderer.

What to do?
Reply
#8
I have been testing this emulator for more than a year and I still can not understand that TODO errors, the explanation of the FAQ (which is the same as sshadow) does not solve all the problems like:

U {PPU[0x1000000] Thread (main_thread) [0x004dd9d4]} HLE TODO: Unimplemented syscall sys_spu_thread_group_log -> CELL_OK
U {PPU[0x1000000] Thread (main_thread) [0x00c75f64]} sys_spu TODO: Unsupported SPU Thread Group type (0x20)
U {PPU[0x1000000] Thread (main_thread) [0x00c7956c]} sys_prx TODO: sys_prx_register_library(library=*0xc7ccfc)
U {PPU[0x1000000] Thread (main_thread) [0x00c79454]} sysPrxForUser TODO: _sys_process_atexitspawn()
U {PPU[0x1000000] Thread (main_thread) [0x00c7899c]} cellGcmSys TODO: cellGcmSetZcull(index=0, offset=0x1870000, width=1280, height=704, cullStart=0x0, zFormat=0x2, aaFormat=0x0, zCullDir=0x0, zCullFormat=0x1, sFunc=0x2, sRef=0x1, sMask=0x1)
U {PPU[0x1000000] Thread (main_thread) [0x00c75b3c]} cellSpurs TODO: _cellSpursLFQueueInitialize(pTasksetOrSpurs=*0x30010081, pQueue=*0x200eda80, buffer=*0x200edb00, size=0x20, depth=0xc, direction=3)
U {PPU[0x1000000] Thread (main_thread) [0x00ed4690]} sys_rsx TODO: sys_rsx_device_map(addr=*0xd003f9d0, a2=0xd003f9c8, dev_id=0x8)
(among many others)

I believe that we should gather all the errors and their solutions in a topic since it is basically a trial and error. A small summary of what each LLE does would also be very good. It would help a lot considering that many of us do not have English as a native language and many terms have no translation so an explanation would make it easier. I think the only ones I have a minimum idea of what they can do are Libfont, freetype, jpgdec, pngdec, mp3dec etc.
Novo no RPCS3? Não seja BR, tome alguns links úteis:

RPCS3 para recém-chegados
Diretrizes para novos jogos
Vocabulário na emulação

i7-2600k ~4.5Ghz|GTX 1080 STRIX OC|24GB RAM
Reply
#9
Do you really need to understand what "TODO: cellRescSomethingSomething()" actually means? The answer may just cause more questions... In practice just LLE libresc in this case. If the log says "TODO: cellXXX" try to LLE libXXX. And in general if the module can be loaded the game will go further, otherwise it will instantly crash (like loading libgcm would do). And for 95 % of all games the list of modules from say Catherine or Rainbow Moon will be sufficient.

Of course you might see errors like "libVdec: unsupported video type 123..." which is just the HLE Vdec failing, in that case try to LLE libvdec.

Anyway this will probably not be an issue when automatic LLE selection is implemented.
Asus N55SF, i7-2670QM (~2,8 ghz under typical load), GeForce GT 555M (only OpenGL)
Reply
#10
(02-21-2017, 03:43 PM)ssshadow Wrote: Do you really need to understand what "TODO: cellRescSomethingSomething()" actually means? The answer may just cause more questions... In practice just LLE libresc in this case. If the log says "TODO: cellXXX" try to LLE libXXX. And in general if the module can be loaded the game will go further, otherwise it will instantly crash (like loading libgcm would do). And for 95 % of all games the list of modules from say Catherine or Rainbow Moon will be sufficient.

Of course you might see errors like "libVdec: unsupported video type 123..." which is just the HLE Vdec failing, in that case try to LLE libvdec.

Anyway this will probably not be an issue when automatic LLE selection is implemented.
Yes and no, I'll give you an example here and I think you'll understand me better.
I'm not saying that you're wrong or wanting a fight, you've been here a long time, have more experience and I see how annoying it is to answer the same questions from people who can't read. This "cake recipe" that i will talk below turns out to be an easy way to get rid of stupid people and i get it.
I'm seriously in love with the Little Big Planet franchise so I'm always testing all 3 games. Once I posted a log and you said
(10-13-2016, 07:45 PM)ssshadow Wrote: LLE libsre and those TODO: cellSpurs* will disappear.
libsre and libspurs_jq should always be used for every game.
At least for me that does not make any sense since the error says "spurs" so i should use a lle called spurs, not sre and neither spursjq but i selected that and didn't care much about questioning and the time passed. And now I've made new tests and decided to ask. Programmers shouldn't give a proper name to the error? There isn't a LLE called just "spurs". Or am I interpreting the thing in the wrong way?

For situations like these (and others) that I think I'll never be able to figure out which LLE's to use alone. People here love to say "use LLE's from game XYZ that every game needs that"

But at some point this is always proven wrong. Some games work without any LLE or with few LLE's.(like gtasa)

I hate using this "cake recipe" for as long as it works in 95% of the games. I want to select an LLE being absolute sure that the game needs it. Even though I have to read all the logs asking for sre, rtc, freetype or whatever.

Sticking to the example of Little Big Planet...the log ask for:

- libhttp.prx
- libio.prx
- librtc.prx
- libssl.prx
- libsysutil_np.prx
- libsysutil_np2.prx
- libsysutil_np_trophy.prx
- libsysutil_userinfo.prx
- libnet.prx

But you only spoke of those that are not quoted directly. SRE or SpursJQ never appears when i search for ".cpp" ou "TODO:", only the pure "spurs" appears with the others LLE's.

Most of these LLE's just break the game. But one of them darkens the screen and the other leaves the screen red. Is it something impressive? No but it's something new that a cake recipe can't bring. And meanwhile that, Sre and spursjq remain on the list without me having any idea why.

And that's why i think that a brief explanation of what each LLE does might help in some cases.
Novo no RPCS3? Não seja BR, tome alguns links úteis:

RPCS3 para recém-chegados
Diretrizes para novos jogos
Vocabulário na emulação

i7-2600k ~4.5Ghz|GTX 1080 STRIX OC|24GB RAM
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)