PSVRFramework icon indicating copy to clipboard operation
PSVRFramework copied to clipboard

Needed testers for new system

Open gusmanb opened this issue 9 years ago • 46 comments

I've finished the new system with the service apart from the toolbox and the reduced interface, so I need people to test it.

This is a test build, is in debug mode so it will output any exception. Also, please, DON'T ASK ABOUT HEAD TRACKING, it works but there's nothing to consume it, so no, this doesn't works with steam nor the VR player.

The toolbox can work in two modes, standalone or service dependant. Standalone mode does that, work standalone without the need of the service, this mode is planned for people which wants only to use the cinematic mode and maybe the vr player (still no input broadcast, but may be I will add it on a future). Service dependant uses the new (preferred) mode where it connects to the service.

The service is a Windows service, it will boot with your computer automatically so the PS VR headset will be always ready to be used by any program implementing the client. The client code is included on the PSVRFramework library, if any one wants to create a program which controls the device just needs to link to the library, create a new instance of the client and call the exposed functions like HeadsetOn or EnterCinematicMode. Also, as I'm programming the OpenVR driver I got the client on C++, I will post it when I get the driver working.

The service is self-managed, you can install it from the command line, just call "PSVRService /I" and it will be installed, /U uninstalls it, and also you can control it's state with /S /P and /R. Run "PSVRService /H" for more info.

The service should be compatible with Linux, instead of starting with "mono (executable)" it must be started with "mono-service PSVRService.exe". It will return immediately as it will start a daemon, it's execution can be controlled with kill to send signals, more info here.

So, if anyone wants to test the new packages just uncompress them each one on a folder. I would need these tests:

1-Install the service, it will boot automatically (on Linux run it with mono-service). 2-Start the toolbox and try it, report any problem. 3-Go to settings on the toolbox and enable standalone mode. 4-Exit from the toolbox. 5-Uninstall service (on Linux use kill (service-proc-id)). 6-Boot up the toolbox, it will now control the device without the service, try it and report any problem.

PSVRService.zip PSVRToolbox.zip

gusmanb avatar Nov 27 '16 12:11 gusmanb

PSVRService is working as intended PSVRToolbox is working as intended in standalone

sidenote: test_player_2 no longer switches to VR mode with this version of toolbox on opening video file, Headset displays loading circle but stays in Cinematic mode when video starts.

sidonsoft avatar Nov 27 '16 13:11 sidonsoft

For me there were problems (Windows 7 Home Premium 64b). The service installs but doesn't start. If I start it manually (services.msc) I get 'Error 5 Access denied'. Switching the user to 'Local System Account' instead of 'Network Service' account then the service starts.

Toolbox works as expected.

MaVe-64 avatar Nov 27 '16 13:11 MaVe-64

@MaVe-64 did you installed the service as administrator? I forgot to explain it, you need to execute it from a console as admin.

gusmanb avatar Nov 27 '16 15:11 gusmanb

Yes, I'm Local admin on my PC.

MaVe-64 avatar Nov 27 '16 15:11 MaVe-64

Hi, my results -

Windows 10 64bit Laptop PSVRService installed with admin rights - service fails to start - 'Error 5 Access denied' As per MaVe-64, switching to Local instead of Network allows the service to start. PSVRToolbox with PSVRService runs and locates PSVR. Uninstalled PSVRService, ran PSVRToolbox and PSVR found.

Windows 7 64bit Desktop - AMD GPU PSVRService installed with admin rights - service successfully started manually PSVRToolbox with PSVRService runs and locates PSVR Uninstalled PSVRService, ran PSVRToolbox and PSVR found.

For what it's worth - the Enable VR / Enable Cinematic / Recenter / Recalibrate buttons appear to do nothing for me with my setup. I believe I am in VR mode at all times and cannot enable Cinematic mode. The Cinematic Mode controls do not change anything for me when changed. This is with and without PSVRService installed. I appreciate this is a test build so have no idea what is and is not working but wanted to mention it just in case. I'm fully aware though that I may be doing something wrong!

Thanks for all of your hard work on this.

CalmBSK avatar Nov 27 '16 16:11 CalmBSK

@CalmBSK That sounds like if you were connecting the HMD directly to the PC instead to the black box, may be this the case?

Cheers.

gusmanb avatar Nov 27 '16 16:11 gusmanb

@MaVe-64 Is not the same to be local administrator than executing with administrator privileges, you must right-click the console direct access and then choose "Run as administrator" and then it should work.

gusmanb avatar Nov 27 '16 16:11 gusmanb

I executed the command line (cmd.exe) as administrator. Then psvrservice /I.

MaVe-64 avatar Nov 27 '16 16:11 MaVe-64

Very strange, maybe the home edition is messing with the privileges you get and you aren't really administrator, only cause to not be able to manage the service is because you don't have these privileges, just tested on my computer, run console without explicitly selecting administrator, acces error, run with privileges, all good.

gusmanb avatar Nov 27 '16 16:11 gusmanb

Windows 10 64bit. Everything works well, as a service, and standalone. I propose to run PSVRServise as a normal program without the service. Not to do this functionality in PSVRToolbox.

PomanoB avatar Nov 27 '16 17:11 PomanoB

@PomanoB That defeats the purpose of all this rewrite, if you want the toolbox without the service use it as standalone, but it will have no support for SteamVR and VR player.

gusmanb avatar Nov 27 '16 17:11 gusmanb

I mean, all the same, but start not as service. There is no need to duplicate code in PSVRToolbox.

PomanoB avatar Nov 27 '16 17:11 PomanoB

I can manage the service, it's the network service account that doesn't seem to have the privilege. Maybe better to use the Local System Account

service

MaVe-64 avatar Nov 27 '16 17:11 MaVe-64

Maybe, three component? And PSVRService.exe can be installed as service, and can be start as normal programm image

PomanoB avatar Nov 27 '16 17:11 PomanoB

@gusmanb Yes, thank you, that was my mistake.

CalmBSK avatar Nov 27 '16 17:11 CalmBSK

@PomanoB That graph is exactly the new structure, you just missed to add the VR player connected to the service and you get the exact idea. But no, it will not run if it's not a service. if you don't want to use the service just boot the toolbox in standalone mode.

gusmanb avatar Nov 27 '16 17:11 gusmanb

@MaVe-64 I will check, I used just Network Service as this is a network service and I never had any type of problem with this (but never tried with a home edition).

Can you test something? put it as Local System Account, leave the HMD on and restart your computer, does the headset blinks signaling it's being calibrated?

If yes then there's no problem at all, I can change the account to local system.

gusmanb avatar Nov 27 '16 17:11 gusmanb

@gusmanb Ok, I understand, thank you

PomanoB avatar Nov 27 '16 17:11 PomanoB

Yes, after a restart as soon as the HMD automatically connects, it blinks all leds. So it works fine.

MaVe-64 avatar Nov 27 '16 17:11 MaVe-64

@PomanoB Don't think that was just a preference or just me being stubborn, PS VR has a big flaw with Windows 10, if you reboot your computer and the PS VR is in cinematic mode (not sure which exact combination causes this as it doesn't happens always) Windows 10 is not able to start, the thing about setting this as a service is to allow it to gracefully shutdown the box when the O.S. is going to restart.

gusmanb avatar Nov 27 '16 17:11 gusmanb

It's good to see so many new 'faces' here... let's party!

@PomanoB This is somewhat of my concern, that the use of a service will increase the 'investment' of trying out the PSVR and that being too deeply installed will 'fight' with the PSMoveService (and others) when they get proper support.

I believe that SteamVR will be better served once camera support is available to provide full tracking support, and that camera is probably out of scope for PSVRFramework. It would be really nice to be able to use a simple application to control the PSVR and do 'rotation' sensor fusion. There was talk of a TrackIR compatible UDP port.

But that's just my opinion... ;-)

mungewell avatar Nov 27 '16 17:11 mungewell

Just adding to the data -

With regards to getting 'Error 5' and the service failing to start I can confirm my Win10 install is the Home version. If I add user 'netservice' to the Administrator group then the PSVRService service starts successfully as a Network Service. Changing to logon as a Local Service I can also confirm my HMD connects and LEDs blink.

CalmBSK avatar Nov 27 '16 19:11 CalmBSK

Hi Gusmanb !

To install PSVRService, i had to run "Admin CMD" and enter "PSVRService.exe /i" it works like a charm Windows 8.1 Pro x64

Maybe more simple for everybody to make a batch script like Setup.cmd with Administrator Privileges Shortcut (There is also the "Runas" command if help)

Service PSVR Server : Ok (but need to change to Local system) PSVRToolbox : Ok

PSVR-Customer avatar Nov 27 '16 20:11 PSVR-Customer

Hi,

Windows 7 Ultimate:

I have the same permission problem starting the service until I change it to local system account, otherwise service works okay. The first time I started the toolbox it was 'waiting for vr', quit and restarted toolbox and it connected to the service okay. Everything seemed to work fine.

Standalone toolbox worked okay.

Linux: Same hardware as Windows test. Debian/sid. $ mono --version Mono JIT compiler version 4.6.1 (Stable 4.6.1.5/ef43c15 Wed Oct 12 09:10:37 UTC 2016) $ sudo mono-service --debug ./PSVRService.exe Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object at PSVRFramework.PSVRDevice.Blink (System.Object state) [0x0001a] in <6f031872736f4b499434c9d7c43c027f>:0 at System.Threading.Timer+Scheduler.TimerCB (System.Object o) [0x00007] in :0 at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00019] in :0 at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00096] in :0 at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in :0

No apparent response from the headset. Also after the service fails to start it won't run a second time until the mono-service lock file is manually removed: sudo rm /tmp/PSVRService.exe.lock

sudo mono ./PSVRToolbox.exe in standalone mode sticks on 'waiting for ps vr'. The LEDs do blink as it starts though.

mjd1 avatar Nov 27 '16 20:11 mjd1

I git cloned the psvr_server branch and compiled in VS2015. Ran psvrservice /I with elevated permissions to install then ran PSVRToolbox.exe and it worked as expected in both service and stand-alone modes. Win10Pro. Cant wait for SteamVR :-)

Frogburt avatar Nov 28 '16 11:11 Frogburt

Thanks for the tests guys.

I will change the service to Local System as it seems to be more compatible. Also I will test with Linux along this week, by the exceptions and behavior it seems it receives data before the controller has been created, so just a minimal code changes will make it work as expected.

@PSVR-Customer No batch at all, the idea is the toolbox installer asks which type of usage you want (serviced or standalone) and it will take care of the set up, the current mechanism is just for these tests.

@mungewell I will try an idea I had to see if I can do the standalone toolbox a full server. But beware, the service will shutdown the device when the OS will reboot to avoid breaking Windows, the toolbox will not have that option, so is feasible you end with a broken Windows (as I said, not sure why but sometimes at boot, depending on the device's state, it hangs windows and keeps it in a reboot loop, it happens in two machines I have, so not sure if it's just on these two machines or it happens on any machine, also this can be happening only on V2.0 devices as mine is updated).

gusmanb avatar Nov 28 '16 12:11 gusmanb

Hey guys, new toolbox.

It has the full server integrated to allow remote connections when working on standalone mode. Also it should solve the problem at Linux, not 100% sure as for now I don't have a Linux box.

PSVRToolbox.zip

gusmanb avatar Nov 28 '16 19:11 gusmanb

Hi gusmanb,

I'm running 'sudo mono ./PSVRToolbox.exe' with standalone mode enabled. On startup the LEDs blink and the display blanks briefly but the toolbox still shows 'waiting for PS VR'.

mjd1 avatar Nov 28 '16 19:11 mjd1

@mjd1 Ok, at least it doesn't throws an exception, that problem has been corrected. I will try it along this week. Thanks for the report.

gusmanb avatar Nov 28 '16 20:11 gusmanb

I can confirm the behaviour of that last zip. PSVRToolbox does flash the PSVR LEDs on startup, but does not 'find' PSVR.

Interestingly the settings do not save unless 'Mono complete' is installed, and even then the 'Run on Startup' option can not save - does not seen to be included in settings.json - or in binary looking at 'strings PSVRToolbox'.

edit: On Win10 behaviour is same. PSVRToolbox stays 'Waiting for PSVR', however the 'Run on Startup' option is saved... strange.

mungewell avatar Nov 29 '16 05:11 mungewell