Содержание
To build, first you will need to clone the Platform for Situated Intelligence github repo. Then, depending on which operating system you are, follow the steps below.
On Windows
Visual Studio 2022 Version 17.8 or later is required to build the Psi.sln
solution on Windows.
Setup Visual Studio 2022:
Install Visual Studio 2022. The Community Edition of Visual Studio is sufficient. Make sure the following features are installed (you can check these features by running the Visual Studio Installer again and looking at both the Workloads and Individual components tabs):
-
Workloads:
- .NET desktop development
- Desktop development with C++
- Universal Windows Platform development
- Python development
-
Individual Components:
- MSVC v143 - VS 2022 C++ x64/x86 Spectre-mitigated libs (Latest)
- C++ ATL for latest v143 build tools with Spectre Mitigations (x86 & x64)
-
Installation details (right-hand panel):
- Universal Windows Platform development (expand Optional tab):
- C++ (v143) Universal Windows Platform tools
- Universal Windows Platform development (expand Optional tab):
Optional prerequisites:
A couple of the projects in the Platform for Situated Intelligence codebase have install prerequisites. If you want to build these projects as part of the solution, you will need to install the prerequisites below. If the prerequisites are not found, these projects will not be build (the rest of the solution will build correctly.)
- RealSense Support: the Microsoft.Psi.RealSense.Windows.x64 and Microsoft.Psi.RealSense_Interop.Windows.x64 projects (from the
Sources\RealSense
folder) provide support for the Intel RealSense depth camera. This requires the Intel RealSense SDK v2.0 to be installed. Additionally, you will need to set an environment variable namedRealSenseSDKDir
that points to the location in which you installed the SDK (typically C:\Program Files (x86)\Intel RealSense SDK 2.0), and also ensure that the SDK bin folder (typically C:\Program Files (x86)\Intel RealSense SDK 2.0\bin\x64) is added to your systemPath
environment variable.
Build:
- Launch Visual Studio.
- Open the
Psi.sln
solution from the root of your cloned repo.- NOTE: The first time you open the solution, you may encounter a popup dialog prompting you to retarget certain projects to a later Windows SDK version and platform toolset. You may dismiss this dialog by clicking the Cancel button.
- From the Build menu choose Rebuild Solution.
- This will build the currently selected configuration (Release or Debug).
- It is a good idea to build both configurations - select the other configuration and rebuild.
On Linux
Under Linux, we recommend using Visual Studio Code. A subset of projects are cross-platform and some offer Linux-specific implementations.
Prerequisites:
You will need .NET 8 on Linux. You can find the installation instructions here. To check your installation, run dotnet --info
in your terminal. You should see lists of information such as Runtime Environment and .NET SDK Versions.
Although \psi is built on .NET Standard, IL assembly still depends on Mono's ilasm
tool. Install at least mono-devel
. It is important to install (or reinstall) Mono after the .NET SDK. If you see an error such as IL/MemoryAccess.il (16, 0): error : irrecoverable synatx error
it is likely due to an incompatible ilasm
installation (try reinstalling Mono).
Optional Prerequisites for FFmpeg Support:
- The Microsoft.Psi.Media.Linux and Microsoft.Psi.Media_Interop.Linux projects (from the
Sources/Media
folder) provide limited support for playback of media files via FFmpeg. Use of FFmpeg requires either the FFMpeg development packages to be installed, or the FFmpeg source code to be downloaded and built. Currently only release 3.x of FFmpeg is supported. Additionally, you will need to set an environment variable namedFFMPEGDir
that points to the location of the FFmpeg libraries. More details on building with FFmpeg support may be found here.
Build:
To build, launch the ./build.sh
script. This will build all individual projects that support Linux by calling individual build.sh
scripts that are associated with each of these projects.
- Basic Stream Operators
- Writing Components
- Pipeline Execution
- Delivery Policies
- Stream Fusion and Merging
- Interpolation and Sampling
- Windowing Operators
- Stream Generators
- Parallel Operator
- Intervals
- Data Visualization (PsiStudio)
- Data Annotation (PsiStudio)
- Distributed Systems
- Bridging to Other Ecosystems
- Debugging and Diagnostics
- Shared Objects
- Datasets
- Event Sources
- 3rd Party Visualizers
- 3rd Party Stream Readers
Components and Toolkits
- List of NuGet Packages
- List of Components
- Audio Overview
- Azure Kinect Overview
- Kinect Overview
- Speech and Language Overview
- Imaging Overview
- Media Overview
- ONNX Overview
- Finite State Machine Toolkit
- Mixed Reality Overview
- How to Build/Configure
- How to Define Tasks
- How to Place Holograms
- Data Types Collected
- System Transparency Note
Community
Project Management