Help:Using different versions of RPCS3: Difference between revisions

Help page
(Fix-up)
(→‎How to download builds from a pull request on GitHub?: Made the Azure Pipelines instruction clearer)
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
In this guide, we'll go over which are the best RPCS3 builds (versions) to use and where to find them. RPCS3 is an open-source project, hosted on GitHub, that follows a rolling release system. This means that every time a new pull request is merged on GitHub with an improvement or fix, a new build for RPCS3 is generated and given a unique identifier number. Over the course of the many years of the emulator's development, there are now over 1,800 builds of RPCS3! So with so many builds available, it's natural that users have a few questions about it. Let's look at the most common ones below:
In this guide, we'll go over which are the best RPCS3 builds (versions) to use and where to find them. RPCS3 is an open-source project, hosted on GitHub, that follows a rolling release system. This means that every time a new pull request is merged on GitHub with an improvement or fix, a new build for RPCS3 is generated and given a unique identifier number. Over the course of the many years of the emulator's development, there are now over 1,800 builds of RPCS3! With so many builds available, it's natural that users have a few questions about it. Let's look at the most common ones below:


==Which is the best build of RPCS3?==
==Which is the best build of RPCS3?==
Line 8: Line 8:
==How to update my version of RPCS3 to the latest master build?==
==How to update my version of RPCS3 to the latest master build?==
To update your current version of RPCS3 installed on your computer to the latest version:
To update your current version of RPCS3 installed on your computer to the latest version:
# download the latest master version from the [https://rpcs3.net/download RPCS3 website]
# download the latest master version from the [https://rpcs3.net/download RPCS3 website]
# extract ''all'' files from the archive to your current RPCS3 install folder
# extract ''all'' files from the archive to your current RPCS3 install folder
Line 15: Line 16:
==How to downgrade my version of RPCS3 to the an older build?==
==How to downgrade my version of RPCS3 to the an older build?==
In certain rare occasions, newer builds may have game regressions or bugs that were not present in older builds. Or you may simply wish to test an older version of the emulator. In such cases, you need to downgrade your current RPCS3 installation in the following manner:
In certain rare occasions, newer builds may have game regressions or bugs that were not present in older builds. Or you may simply wish to test an older version of the emulator. In such cases, you need to downgrade your current RPCS3 installation in the following manner:
# download the build you intend to from the [[#Where to find older builds?|build archive]]
# download the build you intend to from the [[#Where to find older builds?|build archive]]
# extract <code><nowiki>rpcs3.exe</nowiki></code> only, then rename it to <code><nowiki>rpcs3.<version>.exe</nowiki></code> or to anything you prefer
# extract <code><nowiki>rpcs3.exe</nowiki></code> only, then rename it to <code><nowiki>rpcs3.<version>.exe</nowiki></code> or to anything you prefer
Line 21: Line 23:


==How to download builds from a pull request on GitHub?==
==How to download builds from a pull request on GitHub?==
If you wish to try the changes made in a pull request before it is merged into the master builds, you can do using the method mentioned below. Please note that this method only works for Windows builds:
If you wish to try the changes made in a pull request before it is merged into the master builds, you can do using the method mentioned below:
 
# Go to the specific [https://github.com/RPCS3/rpcs3/pulls pull request's page]
# Go to the specific [https://github.com/RPCS3/rpcs3/pulls pull request's page]
# Click on the '''Commits''' tab
# Click on the '''Commits''' tab
# Click on the ✅ at the bottom (always click on the bottom-most green check mark)
# Click on the ✅ at the bottom (always click on the bottom-most green check mark)
# Click on the '''details''' link next to the AppVeyor build
# Click on the '''details''' link next to the first Azure Pipelines (the one with the blue 🚀) item on the list
# In the AppVeyor site linked, click on the '''Artifacts''' tab and download the file with the Deployment Name '''rpcs3'''. It is the largest file in the artifact list.
# click on the '''View more details on Azure Pipelines''' link
# In the Azure DevOps site, click on the '''2 published''' link under the ''Related'' column tab  
# Download '''RPCS3 for Windows''' for Windows builds or '''RPCS3 for Linux''' for Linux builds


==Where to find older builds?==
==Where to find older builds?==
Most recent RPCS3 builds can be found at our website's [https://rpcs3.net/compatibility?b build history] page (you can find a link to it in the '''Download''' tab). While this archive lists all the master builds to ever be created, it does not host all the builds. See below for the oldest version available for download on our website:  
Most recent RPCS3 builds can be found at our website's [https://rpcs3.net/compatibility?b build history] page (you can find a link to it in the '''Download''' tab). While this archive lists all the master builds to ever be created, it does not host all the builds. See below for the oldest version available for download on our website:  
: {| class="wikitable"
: {| class="wikitable"
! Operating System !! Version !! Date
! Operating System !! Version !! Date
Line 38: Line 44:
|}
|}


For Windows builds that older that above mentioned dates, please visit RPCS3's [https://nkmk.ch/rpcs3/archive/ external build archive].
==How to find the build that caused a regression?==
Often games regress due to changes made to the emulator but are uncovered much later by testers. In such cases, it is necessary to find the exact build that caused the regression to effectively debug and fix the issue. However, having to test over 100 older builds to find the correct build can be a monumental task. Lucky for us, this is not necessary and easier methods are available.
 
For users familiar with [https://git-scm.com/ Git] and willing to compile local versions of RPCS3, '''git bisect''' can be used to easily identify the offending commit. However, all other users can also follow a similar approach by using the builds available at our [[#Where to find older builds?|build archive]].
 
# Find a build that has the regression (generally latest master build) and name it '''''bad'''''
# Find an older build where the regression does not exist and name it '''''good'''''
# Find a build released in between the '''''good''''' and '''''bad''''' build (for example, if the ''good'' build is from January and the ''bad'' build is from July, find a build that was made released in April)
# Test this build to see if the regression is present:
#: If the regression is present, name this new build as '''''bad'''''
#: If the regression is '''NOT''' present, name this new build as '''''good'''''
# Repeat Step 3 and 4 with the new build until you narrow it down to the build where the regression first appeared
 
Using this method, users can easily skip avoid testing every build in favor of testing builds at specific intervals between the original builds.

Revision as of 09:36, 2 August 2020

In this guide, we'll go over which are the best RPCS3 builds (versions) to use and where to find them. RPCS3 is an open-source project, hosted on GitHub, that follows a rolling release system. This means that every time a new pull request is merged on GitHub with an improvement or fix, a new build for RPCS3 is generated and given a unique identifier number. Over the course of the many years of the emulator's development, there are now over 1,800 builds of RPCS3! With so many builds available, it's natural that users have a few questions about it. Let's look at the most common ones below:

Which is the best build of RPCS3?

For the majority of users, using the latest master build is the best course of action. Using the latest master ensures that users take advantage of the latest improvements and bug-fixes made by the developers. It also allows for the best compatibility as the latest versions will be optimised for new hardware revisions and operating system updates as well.

The only exception to the above statement would be in the scenario where a game regression is present i.e. the game previously worked on the emulator but no longer works on the latest master due to a bug that has been introduced down the line.

How to update my version of RPCS3 to the latest master build?

To update your current version of RPCS3 installed on your computer to the latest version:

  1. download the latest master version from the RPCS3 website
  2. extract all files from the archive to your current RPCS3 install folder
  3. when asked, confirm that you want to overwrite and replace all files

Don't worry all your settings, installed games, and save data will not be touched

How to downgrade my version of RPCS3 to the an older build?

In certain rare occasions, newer builds may have game regressions or bugs that were not present in older builds. Or you may simply wish to test an older version of the emulator. In such cases, you need to downgrade your current RPCS3 installation in the following manner:

  1. download the build you intend to from the build archive
  2. extract rpcs3.exe only, then rename it to rpcs3.<version>.exe or to anything you prefer
  3. put this exe into your current RPCS3 install folder

This way you will be able to use older versions of RPCS3 in the existing installation folder and easily run the games already present. If you see a QT-related error message, copy all folders present inside qt\plugins\ to the main RPCS3 folder.

How to download builds from a pull request on GitHub?

If you wish to try the changes made in a pull request before it is merged into the master builds, you can do using the method mentioned below:

  1. Go to the specific pull request's page
  2. Click on the Commits tab
  3. Click on the ✅ at the bottom (always click on the bottom-most green check mark)
  4. Click on the details link next to the first Azure Pipelines (the one with the blue 🚀) item on the list
  5. click on the View more details on Azure Pipelines link
  6. In the Azure DevOps site, click on the 2 published link under the Related column tab
  7. Download RPCS3 for Windows for Windows builds or RPCS3 for Linux for Linux builds

Where to find older builds?

Most recent RPCS3 builds can be found at our website's build history page (you can find a link to it in the Download tab). While this archive lists all the master builds to ever be created, it does not host all the builds. See below for the oldest version available for download on our website:

Operating System Version Date
Windows 0.0.5-6906 2018-06-08
Linux 0.0.5-7644 2018-12-31

How to find the build that caused a regression?

Often games regress due to changes made to the emulator but are uncovered much later by testers. In such cases, it is necessary to find the exact build that caused the regression to effectively debug and fix the issue. However, having to test over 100 older builds to find the correct build can be a monumental task. Lucky for us, this is not necessary and easier methods are available.

For users familiar with Git and willing to compile local versions of RPCS3, git bisect can be used to easily identify the offending commit. However, all other users can also follow a similar approach by using the builds available at our build archive.

  1. Find a build that has the regression (generally latest master build) and name it bad
  2. Find an older build where the regression does not exist and name it good
  3. Find a build released in between the good and bad build (for example, if the good build is from January and the bad build is from July, find a build that was made released in April)
  4. Test this build to see if the regression is present:
    If the regression is present, name this new build as bad
    If the regression is NOT present, name this new build as good
  5. Repeat Step 3 and 4 with the new build until you narrow it down to the build where the regression first appeared

Using this method, users can easily skip avoid testing every build in favor of testing builds at specific intervals between the original builds.