Closed Ana-Green closed 5 years ago
Hi,
Unfortunatey, I am not the core developer on the Second Galaxy Development Team that is responsible for Physics Engine Development so I am going to have to pass this on to her. But I think it is just a matter of her pushing the built binary libraries for PhysX to work to the repository.
She has been on vacation so I think your just in a brief holding pattern sort to speak while she gets back and gets caught up and gets the files in the repository. There are legal requirements we do have to adhere to but because I am not the core developer responsible for physics engine development I cannot speak to those requirements. It is possible that Emperor Starfinder can comment on the legal part as he is the head of the Second Galaxy Development Team, but I cannot comment on the legal parts.
Question referred to @QueenStarfinder as this relates to the physics engine development.
Best regards, Britanyann Starfinder Core Developer Work Group Member Grid Architecture Development Work Group Script Engine Development, Maintenance Second Galaxy Development Team
Good morning,
Good morning to those in the US. Good afternoon to those in Europe.
Britanyann is correct, I have been on vacation and am just getting back and getting caught up. The reason this bug is happening is due to the built physX binaries not being in the repository yet. This is not a true error just means it cannot find them. I will be pushing the built binary files to the repository later today or over the weekend.
There are legal requirements that do need to be complied with. While we can provide the source code for the wrapper we use to build PhysX libraries accompanied with our wrapper libraries, we cannot legally provide a copy of the source code for PhysX SDK itself as it is technically closed source (while still being free). In order to legally obtain the PhysX SDK and use it, you need to be a registered Nvidia Gameworks Developer. All you need is a Github account and to register on the Nvidia website. It can however take up to an hour to be given access to the Nvidia closed source repositories.
Also, because the Virtual Universe Opensource Project Arm is developed by the Second Galaxy Development Team unfortunately you will have to use the built physics binary libraries we provide for PhysX with your copy of VU. While you could build them yourself once you have access to the PhysX SDK source code, because Virtual Universe (the repositories in this github organization) are registered to the Second Galaxy Development Team, anyone else who provides a distributed copy of Virtual Universe could not then in turn rebuild the libraries under their own registration as this would violate DMCA/ EUCD, and would violate any agreements we have directly with the developers of various third party libraries we use.
Whenever you use software (of any kind whether open source, closed source, or proprietary) always be sure you understand the EULA (End User License Agreement) and keep in compliance with it. Likewise a responsible and ethical developer should know they need to understand the licensing of all the source code and third party libraries they use in their software and ensure they are not violating those license agreements in any way.
For owners (and operators) of virtual world grids it is important you trust the development team that is responsible for developing the architecture you are using. A good development team which behaves in a responsible and ethical manner, will ensure that they are not giving you software that could cause you to violate any laws or licensing requirements as well as the rights to privacy of the users on your grid. Also never mix and match libraries between grid architectures (including database tables and asset data) as this will always cause problems both legally for you the grid owner and various kinds of bugs which might not be reproducible or explainable.
If you run a hypergrid enabled grid there also will always be noticeable differences between the sending grid and the destination grid that in some cases will cause problems. Development teams who are honest and ethical will also tell you this because they know they cannot guarantee their architecture will be 100 percent compatible with the architecture of the sending grid because there are just to many architectures (forks and derivatives of Opensimulator) for them to keep up with.
Now why did I get long winded and say all this (and yes my sister often accuses me of being long winded haha)? It is because I know from many years of experience there are those out there that think they can mix and match built binary files and expect things to work. To those people, I am afraid if life worked like that then we wouldn't have much chocolate to eat right (kidding)? The answer is if life worked like that then no one would get anywhere and no one would want to develop things that are even better then before.
At any rate enough with the long winded response, I should have the libraries needed in the repository later today or over the weekend.
Best regards, Queen Starfinder Core Developer Work Group Member Grid Architecture Development Work Group Viewer Development Work Group Physics Engine Development, Viewer Development, Maintenance Second Galaxy Development Team
@QueenStarfinder welcome back from vacation, I hope you had a great time, yes I understand about the PhysX technical and legal background. Only my Dad cannot build it himself, that has to do with his health, however, if the PhysX is disabled and Bulletsim enabled it still will not start, as it is still looking for the wrapper even if it is not needed, the same issue here https://github.com/M-O-S-E-S/opensim. And yes I am aware that for this fork of Virtual Universe has PhysX physics integrated as an optional physics engine. Several libraries must be compiled by hand, including the NVIDIA PhysX engine. Then the PhysX Wrapper It is my understanding that this library wraps up the native calls to NVIDIA's PhysX API and provides higher-level functions to C# for use. It is not a one-to-one mapping but rather provides a higher-level interface (this allows both the use of .NET and Mono). Though my Dad has access to the PhysX SDK source code. But as said his eyes don't allow him to look too long at the screen, that is why I am typing on Git. Not sure what to tell him at this point, anyway thank you for your information and I will see or I can find somebody who is willing to build this for him, not easy nowadays. However, downloading the binaries from Halcyon with PhysX also does work. No need to build them yourself, in that case. Anyway, I hope not that Emp. jumps on my comment here as it is issue #20, not a new one.
Regards, Ana Green
Ana,
You opened the issue ticket in the right place to ask a question here. That is all we ask that way our administrative team can look at all the comments we provide in each issue as they work through the new user guides for the next generation of VU so we have them ready at the time of the first official release of our next generation of VU. Our administrative team and most of our core developers and assistant core developers will not look at each commit (nor have time to) in order to see if there was a comment posted on a commit. And I would much prefer we have it in the issue tracker that way we can help you get the answers you need to have the best experience with our architecture that may be possible. So no reason for me to get on your case over posting your question in an issue ticket :). Plus when you stop and think about it, when you ask a question or report a bug to us and we are able to document the progress toward fixing your issue you may be reporting that way it provides a good history for others who use our architecture as well, so it works for everyone here.
Good evening or early morning depending where you are,
First Ana, let me say I hope your father gets well soon. No one should be suffering for any reason.
I have temporarily disabled PhysX from being built when building VU. This should solve Ana's problem she is running into when trying to run VU. Just simply use BulletSim for the time being.
As I mentioned before, I posted only a few of the legal requirements that have to be met. This does not include any legal requirements that the Second Galaxy Development Team is bound by in accordance with law or our agreements we have with developers of third party libraries. I did so for everyone's benefit as there are many people that may not know the requirements or who think they can just do something that really they shouldn't. If your an ethical developer and grid owner and know this stuff then this is a good thing.
Most people may not actually know that the Second Galaxy Development Team does maintain internal repositories of various virtual world architectures and related projects that we can use as we develop our grid architectures both for Second Galaxy and for VU. Both MOSES and Halcyon are among those repositories. While it might seem like it is as simple as taking the PhysX built binaries from Halcyon and putting them in VU to run PhysX, unfortunately that will not work. The reason is their wrapper is only for Windows and not multiple operating systems. They also do not use higher level processing methods that we will be introducing in VU. These higher level methods include HLA - RFI, in addition to other methods to enhance virtual reality experiences.
The MOSES wrapper itself is a bit out of date (last known update to it was in March of 2015). In that release it requires PhysXSDK-3.3, however as has been reported to NVidia in the latest PhysXSDK 4.0 there are issues with various wrappers designed by independent developers to meet their needs being unable to find various needed files in the PhysXSDK itself. The MOSES wrapper also has numerous memory leaks and other CVE issues that we do not want to be seeing as well. So I am not surprised your dad had issues with PhysX.
I do have a working PhysX-wrapper but I need to first do the actual upgrades and fixes to the PhysXPlugin code first so we have the latest stuff in VU so anyone who runs VU can use the same exact physics engine that will be in the next major server deploy on Second Galaxy. I won't give a timeframe for that as I do not want to commit to a date certain for completion of the upgrades to the PhysX plugin as that would not be fair nor ethical.
In the meantime, VU should now work normally, just use BulletSim as the physics engine for the time being.
Best regards, Queen Starfinder Core Developer Work Group Member Grid Architecture Development Work Group Viewer Development Work Group Physics Engine Development, Viewer Development, Maintenance Second Galaxy Development Team
Dear QueenStarfinder,
Of course, I also hope that my father gets well soon. And I agree that no one should be suffering for any reason. Thank you that means a lot to me QueenStarfinder "hugs". As for #20, I will use BulletSim as the physics engine for the time being. Thank you so much you are a true friend.
Best regards, Anna Queen
Per discussion with @QueenStarfinder, closing as Physics is getting a complete overhaul.
@BritanyannStarfinder will the wrapper for PhysX also with it or not due copyright reasons? As PhysX seen in the config file can be activated but I can not start up VU, PhysX activated or not it keeps telling me it can't proceed even if I choose BulletSim, that it can not find the PhysX Wrapper.
Regards, Ana Green