Announcement

Collapse
No announcement yet.

Mini Guide on how to setup Virtual DS3 for RPCS3 and PCSX2

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mini Guide on how to setup Virtual DS3 for RPCS3 and PCSX2

    First of all ... thanks to reWASD team for bringing Virtual DS3

    I spend quite some time figuring how to get Virtual DS3 working with RPCS3 and PCSX2.

    To save time for others ... and to keep some record of what I have done for future references ... here are the steps.

    What you need:

    SCEWirelessControllerDriverv3.0.0.0.msi - Sony sixaxis driver (google it to get it)

    libusb-win32-bin-1.2.6.0.zip (1.2.6.0 is version of the tool ... at the time of writing it was the latest version ... you can get it from https://sourceforge.net/projects/lib...in32-releases/)

    Note: i tried libUSB (https://libusb.info/) and libUSBK (https://sourceforge.net/projects/libusbk/) using zadig driver installer (https://zadig.akeo.ie/), but fail to make it work in PCSX2 ... must be something I was doing wrong but could not figure what


    1. General steps:

    a. remove SCPtoolkit if you have it installed
    b. remove DsHidMini if you have it installed
    c. in reWASD - turn off all Virtual controllers
    d. disconnect all controllers from PC
    e. double click SCEWirelessControllerDriverv3.0.0.0.msi to install sixaxis driver
    f. open Device Manager ... there click [View]->[Show hidden devices]

    Grey out devices are disconnected devices.

    Click image for larger version

Name:	ds3_1.jpg
Views:	1468
Size:	41.2 KB
ID:	233945

    2. If you have real DS3, check that they are using sixaxis drivers:

    a. connect DS3 via USB cable ... depending on what you used for DS3 before, it can pop-up in Device Manager under different names
    b. once you found your DS3 in Device Manager ... right click on it -> [Properties] ... in Properties pop-up choose [Driver] -> [Driver Details] ... it should be sixaxis.sys

    Click image for larger version

Name:	ds3_2.jpg
Views:	1256
Size:	39.4 KB
ID:	233946

    if its not, in in Properties pop-up choose [Driver] -> [Update Driver] .. in Update Drivers pop-up choose [Browse my computer for drivers] -> [Let me pick from a list of available drivers on my computer] ... choose "Wireless controller for PLAYSTATION(R)3" and install it


    3. For RPCS3

    a. in reWASD generate Virtual DS3 controller (does not matter if its real DS3 or other controllers)

    b. make sure Virtual DS3 device pop-up in Device Manager has sixaxis driver (same steps as in 2a and 2b)

    atm you can only use Virtual DS3 for either RPCS3 or PCSX2, but not both at the same time

    c. start RPCS3 ... go to [Pads] ... choose "DualShock3" in [Handlers] ... your Virtual DS3 should show up in [Devices]


    4. For PCSX2

    a. in reWASD generate Virtual DS3 controller (does not matter if its real DS3 or other controllers)

    b. find Virtual DS3 device that pop-up in Device Manager (atm you can only use Virtual DS3 for either RPCS3 or PCSX2, but not both at the same time)

    c. right click on it ... in Properties pop-up choose [Driver] -> [Update Driver] .. in Update Drivers pop-up choose [Browse my computer for drivers] -> [Let me pick from a list of available drivers on my computer] ... choose "USB Input Device" and install it

    d. in Device Manager a new "USB Input Device" will be created for Virtual DS3 ... you can turn on and off Virtual DS3 ... to see which one grey out and pops back to make sure you select correct one

    right click on it ... in Properties pop-up choose [Events] ... note VID and PID in [Information] window

    Click image for larger version

Name:	ds3_5.jpg
Views:	1187
Size:	63.8 KB
ID:	233947

    e. extract libusb-win32-bin-1.2.6.0.zip to some temporary folder ... find there "install-filter-win.exe"

    if you have 32bit OS, use one in "\bin\x86" ... if you have 64bit OS, use one in "\bin\amd64"

    run it ... choose [Install a device filter] ... in next screen look for "Generic USB Hub" with Hardware ID matching VID and PID you found in step 4d ... choose it and install

    Click image for larger version

Name:	ds3_6.jpg
Views:	1228
Size:	32.4 KB
ID:	233948

    d. after install finish check your "USB Input Device" of your Virtual DS3 controller ... its driver should have "libusb0.sys" (you might need to restart computer after this)

    Click image for larger version

Name:	ds3_7.jpg
Views:	1200
Size:	48.5 KB
ID:	233949

    e. open PCSX2 ... go to [Config]->[Controller (PAD)]->[Plugin Settings...] ... there for [Game Device APIs] choose "dual Shock 3 native mode (Requires libusb)" ... in [Device Diagnostics] your Virtual DS3 should pop-up ... go to [Pad1] to set it up


  • #2
    Hello! Thanks for the detailed post.
    In the next update 6.3.1, we will add support for the Z-axis gyroscope (yaw) and accelerometer from the physical DS3 to Virtual DS3. We hope this will please you.​

    Comment


    • #3
      Originally Posted by RAM Stealer View Post
      Hello! Thanks for the detailed post.
      In the next update 6.3.1, we will add support for the Z-axis gyroscope (yaw) and accelerometer from the physical DS3 to Virtual DS3. We hope this will please you.​
      Very much so
      If you can also look into having 2 Virtual DS3 per controller (so one can be used with sixaxis driver for RPCS3 and other can be used with libUSB driver for PCSX2 ... then have reWASD choose one based on what I'm playing) ... that will make my day

      Thanks again for your great work!

      Comment


      • #4
        We will have to think about how this can be implemented. Thanks for suggestion.

        Comment


        • #5
          Thank you tij for great tutorial.

          Originally Posted by RAM Stealer View Post
          In the next update 6.3.1, we will add support for the Z-axis gyroscope (yaw) and accelerometer from the physical DS3 to Virtual DS3.​
          This is a wonderful news. DualShock 3 support will be fully completed. 💯 Here every update is worth to wait. 😍

          Comment


          • #6
            (duplicating my reply from this post, in case those who look for a solution would stumble upon this post first)

            Hi there, FlameMan and tij ! I just wanted to let you know, that our team had made some changes to PCSX2 emulator, and PCSX2 reWASD team edition should support DS3 gamepad with sixaxis driver. So reWASD's Virtual DS3 would also be supported with no problem
            I'd be glad to hear your thoughts about this if you decide to give it a try!​

            Comment


            • #7
              Originally Posted by ✨Master Of Configs✨ View Post
              (duplicating my reply from this post, in case those who look for a solution would stumble upon this post first)

              Hi there, FlameMan and tij ! I just wanted to let you know, that our team had made some changes to PCSX2 emulator, and PCSX2 reWASD team edition should support DS3 gamepad with sixaxis driver. So reWASD's Virtual DS3 would also be supported with no problem
              I'd be glad to hear your thoughts about this if you decide to give it a try!​
              hallelujah!

              Comment


              • #8
                I will try the "reWASD edition" of PCSX2 over weekend ... was planning to replay MGS2 - Sons of Liberties for some time

                One question - are changes in "reWASD edition" will be incorporated into main PCSX2 builds ... or will it be a separate fork?

                Comment


                • #9
                  The latest update of PCSX2 was around 2 years ago
                  I guess the best way is probably to contact them and propose that they rerelease their last main build with "Changes". Users should unite and reach out to them

                  Comment


                  • #10
                    Originally Posted by Miron4ik42 View Post
                    The latest update of PCSX2 was around 2 years ago
                    I guess the best way is probably to contact them and propose that they rerelease their last main build with "Changes". Users should unite and reach out to them
                    Not true ... latest stable was 2 years ago ... but latest nightly was today.

                    I saw some requests (maybe a year ago) for direct support for sixaxis as at a time RPCS3 got it. But it never was addressed as developers had other priorities. I guess it was on lower priority since sixaxis was working (albeit through libusb, which was incompatible with RPCS3). I do not blame them, after all they do it for free ...and damn good job they are doing

                    That's why I decided to pester reWASD ... and damn good job they have done too.

                    If "reWASD edition" get incorporated into official release ... that will eliminate the need for separate Virtual DS3 with libUSB just for PCSX2 ... otherwise, unfortunately it will only be temporary solution.

                    Comment


                    • #11
                      We cannot create DS3 "just for libUSB" - we create general USB device in the system compatible with original DualShock 3 (VID 0x054C, PID 0x0268). But it is up to you what driver to use for it - reWASD does not enforce it and does not know what application will access virtual device. Applications or user can even change driver on the fly. It can be USB Input device, libUSB, WinUSB, sixaxis, DsHidMini - whatever you like. It is YOU who makes this decision. And yes, even DsHidMini can work - there is nothing wrong with it and it is just another 3rd party driver, but we don't recommend stacking multiple emulation or mapping techniques, because it may cause conflicts or bad experience for user.
                      Creating different virtual DS3 devices tailored to specific use cases is currently not planned - if you want to have multiple virtual DualShock 3 devices for different purposes then you just need to create several virtual devices and install different driver on each device instance, which better fits your use case. It is clear of course that such solution is very inconvenient for user - it is much better when user just creates virtual DS3 and it starts working in any application without installing anything. It is not about virtual, but also any physical DS3 you plug in. That is why we decided that adding sixaxis support to PCSX2 would be best solution - not just for reWASD, but for any DualShock 3 user.
                      Yes, PCSX2 authors are aware of our patch and we hope they incorporate into official release. But we cannot force them to do it faster and they may have different priorities.
                      We are talking about stable releases here: ''average" user does not know or care about nightly builds, which are mostly for developers and testers only.
                      But if you are advanced enough you can always build your own latest PCSX2 with our changes - we just showed how it can be done.

                      Comment


                      • #12
                        First off - huge respect to reWASD team for putting up Pull Request with PCSX2 team (https://github.com/PCSX2/pcsx2/pull/7099) on behalf of reWASD users to include sixaxis support.

                        DevX is right that support of sixaxis at PCSX2 is most elegant solution.

                        Thank you reWASD team for contributing to PCSX2 ​development with coding sixaxis support.

                        I will do some testing for PCSX2 with their builds incorporating sixaxis contribution from reWASD. Hopefully, this will speed up the process of getting these changes to official releases.

                        If people can contribute to testing (see https://github.com/PCSX2/pcsx2/pull/7099), this might happen sooner than I dare hope for.

                        Comment


                        • #13
                          I followed that guide for RPCS3, but sixaxis.sys will only install on native DS3, not on Virtual DS3, so I can only use DS3 functions in RPCS3 with the controller wired by USB cable and on native mode (no Virtual DS3).

                          Note: For hours I tried to find SCEWirelessControllerDriverv3.0.0.0.msi but the best I could find was the PlayStationNow-9.7.23 installer, so I don't know what version of the WirelessControllerDriver it actually is.

                          Comment


                          • #14
                            sixaxis.sys should install on Virtual DS3 too as it looks identical to physical DS3. If you have wrong driver installed for virtual DS3 and sixaxis is already present on your system, then you can try to change it manually in Device Manager.

                            Comment


                            • #15
                              Originally Posted by DevX View Post
                              sixaxis.sys should install on Virtual DS3 too as it looks identical to physical DS3. If you have wrong driver installed for virtual DS3 and sixaxis is already present on your system, then you can try to change it manually in Device Manager.
                              It doesn't install on my Virtual DS3, I checked and sixaxis.sys doesn't appear there. I tried changing it manually but it messes up the virtual DS3 (i had to delete it in device list so reWASD would create it again); I tried by opening Devices and Printers, open Virtual DS3, then on Hardware, and normally on the real DS3 there would be two "functions" listed there, "HID compliant game controller" and "USB input device", but on the virtual DS3 there's only "HID compliant game controller", so I select that one and go to Properties, then on Properties, then Driver, and in Driver Details is there there is no sixaxis.sys, so I go to Driver Update and try to manually install from available drivers on my computer but it's not listed as a compatible driver, so I uncheck "show compatible drivers" and look for Sony, Wireless Controller for Playstation(R) 3, and it warns that it may not work, I select OK, and it installs with error. Sixaxis.sys now appears in Driver Details but the Virtual DS3 in Devices and Printers shows with an exclamation mark and doesn't work.

                              Comment

                              Working...
                              X