batocera-linux / batocera.linux

batocera.linux
https://batocera.org
Other
1.94k stars 499 forks source link

Emulation Station, PS2, PS3 and Wii Games crashing #8720

Closed phanosp closed 1 year ago

phanosp commented 1 year ago

Hi I am using batocera v36 on an Asus P10S-M motherboard with I7-6700 and 8 Gigabyte ram DDR-4. My graphic card is a NVidia Geforce GTX 770. On the same pc I am running windows 10 with no issues. Also I have run memory diagnostic programs, graphic card stress programs and system stability test software. All report that my hardware is just fine.

While I am running batocera however I am getting very frequent freezes which in most cases requires a full restart. I am currently running batocera from a usb and my userdata partition is on my nas. During troubleshooting I tried installing batocera on a local hard drive, with default settings and I was able to replicate the problem so I do not think that any there or settings is causing this issue.

When I try to play any ps2 games, somewhere between 1-4 minutes the game will either freeze and then it will either bring me back to emulation station or the computer will need to be restarted with a hard reset. In the case where the game just exists after a while, emulation station will become sluggish and need a restart anyway.

When I try to play ps3 games, the games first loads just fine but after 1-2 minutes they will freeze and the whole system will need a restart. In some cases before restart I get an error saying the ps3 emulator took too long to respond and needs to close.

When playing wii games I can actually play them for some time before I get a freeze. Sometimes I can play as long as 10 minutes and sometimes even I can exit the game without any issues. Subsequent load of wii games however it will eventually freeze emulation station and the whole pc will need a restart.

Mame games I can play just fine. In fact I can play mame games for more than one hour with no issues.

Please note that in previous batocera versions (specifically beta versions between the period January - March 2023) batocera did not show any such issues. I played and finished successfully two ps2 games and 1 ps3 game with no freeze at all during that period. I tried of course locating any of those beta versions in order to try and test with those installed but unfortunately I was never able to located any of them. If you are willing to share any of those beta versions with me I can test them and sent you logs of them to troubleshoot more.

I also tried upgrading to post v36 beta versions but these versions create even more problem that the current stable version 36. Some post v36 versions do not even load my graphic card and in some others cases not all emulators work. For example on one case I can not play and ps2 games and in other case I can not play an wii games.

I have created logs while playing one ps2 game and logs for playing one ps3 game. I really hope you can sort this out and fix the problem since I can not use batocera at this point

Thanks for all the hard work and effort you put on this

Phanos

logs.zip

Ntemis commented 1 year ago

your pc is overheating. this doesn't belong here

phanosp commented 1 year ago

How can you tell that is overheating? The logs are useless and provide no info. I was eventually able to solve this issue two days ago and I can confirm that 100% is not overheating problem.

novapulsargif commented 1 year ago

How can you tell that is overheating? The logs are useless and provide no info. I was eventually able to solve this issue two days ago and I can confirm that 100% is not overheating problem.

Hi, how did you fix it phanosp?

phanosp commented 1 year ago

Hi,

I fix it by setting in bios the speed of the PCIE port that host the graphic from Auto --> x4.

I came to this fix after doing the following: 1) Load batocera on the affected system and connect to it through SSH 2) Run dmesg to read kernel message logs. 3) While running dmesg I run a PCSX2 game and wait for it to crash the system 4) I make note of the error that dmesg provided.

After searching online I realize that the communication between graphic and motherboard was failing for some reason. Similar cases online were suggested that this could be fixed by setting lower speed for the PCIe port in bios. After playing around with it I came to the conclusion that only the above change was needed to make the communication between graphic card and motherboard stable.

What I found interesting here is two things:

1) Although I run extensive stress on my system in the past why the problem never appear during the tests? And why did it only appear under batocera and not in Windows?

I am not an expert on this but perhaps this has something to do with how much the PCIe bus is being used in every case. For example when you run a graphic stress test, the test is most likely putting the stress on the graphic card and not on the communication between motherboard and graphic card. Also in windows I only play older games and not very often at all which probably results in much lower stress on the bus.

On batocera on the other hand it is possible that PCSX2 emulation is using the communication bus a lot in order to transfer data back and fourth so it can emulate the games efficiently. OF COURSE I AM NOT AN EXPERT ON THIS. I am just speculating. If someone has a better explanation you could suggest it.

2) Why it worked just fine during the batocera version that were release between January and March of 2023?

For this I have no idea. Especially when it also did not work for previous versions (for example v35 stable) but it seems to work between those beta versions only. Maybe something changed on those versions or I was just incredible lucky (unlikely) but have not idea how to prove it. I never got a change to test any of those betas since I was never able to get my hand into one. For this I can only say is anyone guess.

novapulsargif commented 1 year ago

Awesome, thanks for the info!

Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows

From: @.> Sent: Tuesday, May 30, 2023 3:57 PM To: @.> Cc: @.>; @.> Subject: Re: [batocera-linux/batocera.linux] Emulation Station, PS2, PS3 and Wii Games crashing (Issue #8720)

Hi,

I fix it by setting in bios the speed of the PCIE port that host the graphic from Auto --> x4.

I came to this fix after doing the following:

  1. Load batocera on the affected system and connect to it through SSH
  2. Run dmesg to read kernel message logs.
  3. While running dmesg I run a PCSX2 game and wait for it to crash the system
  4. I make note of the error that dmesg provided.

After searching online I realize that the communication between graphic and motherboard was failing for some reason. Similar cases online were suggested that this could be fixed by setting lower speed for the PCIe port in bios. After playing around with it I came to the conclusion that only the above change was needed to make the communication between graphic card and motherboard stable.

What I found interesting here is two things:

  1. Although I run extensive stress on my system in the past why the problem never appear during the tests? And why did it only appear under batocera and not in Windows?

I am not an expert on this but perhaps this has something to do with how much the PCIe bus is being used in every case. For example when you run a graphic stress test, the test is most likely putting the stress on the graphic card and not on the communication between motherboard and graphic card. Also in windows I only play older games and not very often at all which probably results in much lower stress on the bus.

On batocera on the other hand it is possible that PCSX2 emulation is using the communication bus a lot in order to transfer data back and fourth so it can emulate the games efficiently. OF COURSE I AM NOT AN EXPERT ON THIS. I am just speculating. If someone has a better explanation you could suggest it.

  1. Why it worked just fine during the batocera version that were release between January and March of 2023?

For this I have no idea. Especially when it also did not work for previous versions (for example v35 stable) but it seems to work between those beta versions only. Maybe something changed on those versions or I was just incredible lucky (unlikely) but have not idea how to prove it. I never got a change to test any of those betas since I was never able to get my hand into one. For this I can only say is anyone guess.

— Reply to this email directly, view it on GitHubhttps://github.com/batocera-linux/batocera.linux/issues/8720#issuecomment-1569007496, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A6JQMKPIMV7FDXJD4R3WLR3XIZGKLANCNFSM6AAAAAAXXR6TYA. You are receiving this because you commented.Message ID: @.***>