OCAT

Overview

System Requirements

  • Windows 7 64bit, Windows 10 64bit

Usage

To run the program start OCAT.

Overlay

  • Start overlay enables capturing of all applications. The button turns green if the option is active. That means OCAT will try to inject its overlay into any application that is started afterwards. Notice: For UWP applications, there will be no overlay.
  • Overlay position Determines the position of the overlay. Choose between top left, top right, bottom left and bottom right. VR: The overlay is positioned at the center of the viewspace or the worldspace, depending on the compositor. However, the overlay position still determines the arrangement of the overlay sub-components such as displaying the capture information above or below the FPS/ms data.
  • Enable overlay when OCAT starts Activate this option if OCAT should immediately start its global overlay injection on start up.
  • Require ALT with hotkeys Option to require ALT in combination with the hotkey in order to trigger the hotkey functionality.
  • Overlay visibility hotkey Hotkey to show and hide the in game overlay globally. Press this button to assign a different hotkey. This setting only works after successful injection. The toggle won’t work if no overlay is injected. The default hotkey is F9.
  • Frame graph visibility hotkey Hotkey to show and hide the in game overlay rolling plot of frame times. The default hotkey is F7.
  • Disable overlay while recording Option to disable the overlay while capturing to reduce the overhead.

Capture

  • Capture hotkey Hotkey used for starting and stopping a capture. To change the hotkey click the Capture hotkey button and press the new hotkey. The default hotkey is F10.
  • Capture time in seconds Time period after which a started capture is stopped. If this value is 0 the capture will stop only through hotkey or if the captured process stops. The default capture time period is 60 seconds.
  • Delayed start in seconds Determines the delay of the capture start after the capture hotkey is pressed. The default is 0 seconds, which means the capture starts immediately after the capture hotkey is pressed.
  • Capture performance for all processes If enabled pressing the capture hotkey will capture all processes and create a file for each process. If this is disabled only the process of the active window is captured when the hotkey is pressed (the process which is currently in focus). If no active window can be found the capture will default to all processes.
  • Enable audio cue Toggle to turn audible indicator on and off.
  • Select output folder Opens a folder dialog to select a folder in which the captures should be saved. The default capture folder is Documents\OCAT\Captures.
  • User note for capture A user note can be entered here which will be saved in the performance summary file, perf_summary.csv, for each capture.

Latency

  • Lag indicator hotkey Hotkey used to change the color from black to white of the lag indicator square of the overlay. The default hotkey is ScrollLock.
  • Lag indicator visbility hotkey Hotkey to display the lag indicator square in the overlay. The lag indicator square is mutually exclusive to the rest of the overlay, so they won’t be rendered when the lag indicator is displayed. The default hotkey is F6.
  • Colored bar visibility hotkey Hotkey to show and hide the in game overlay FCAT-style per-frame coloured bar. The default hotkey is F8.

Launch App

Allows you to inject the overlay into a single application. Once the application and the command line parameters have been selected, press Start Application to run it.

  • Select target executable Opens a file dialog to select an executable file that should be started with the OCAT overlay. It is possible to start a UWP app but the overlay will not react to key input. The capture will work correctly.
  • Select working directory Opens a folder dialog to select a folder that should be used as working directory for the executable.
  • Commandline arguments Additional command line arguments to start the executable with.
  • use steam://run/<AppId> as a command line argument to prevent the game restarting via the Steam client. Make sure the Steam AppId is the correct one for the selected application and that the Steam client is running.

Note that most games that run via Steam (or other launchers like UPlay) start the respective launcher and terminate afterwards. The launcher will then call the executable which won’t be detected by OCAT using this option. You should use the global overlay injection (Start overlay) in these cases.

Visualize

Allows the visualization of the captures for the following metrics: frame times, reprojection times (VR only), and the overall capture statistics for missed frames, average FPS, average frame times, average reprojection times (VR only) and 99th-percentile frame times.

  • Select capture file to visualize Opens a file dialog to select a capture file whose data should be visualized.
  • Visualize Opens the visualization window. Multiple visualization windows can be open simultaneously.

Visualization Window

Displays the frame graphs of the loaded captures.

Home

  • Select capture file to add Opens a file dialog to select a capture file whose data should be visualized within the visualization window. Multiple captures can be visualized in the same window to allow direct capture-to-capture comparisons.
  • Load Loads the selected capture file, whose data is visualized on top of the current loaded captures.
  • Select capture Opens a list of the loaded captures. Click on a capture for selection.
  • Remove capture file Removes the selected capture from the visualization window.
  • Save graph Saves the current frame graph as a PDF file.
  • Show frame analysis Shows per frame data based on the rendering time of the application and of the compositor (VR only) of the selected capture. Frames are displayed in chunks of about 500 frames, and stepping through the chunks is possible via the arrows on the top right of the frame graph.
  • Frame times Shows a frame graph of the frame times of the loaded captures.
  • Reprojections Shows a frame graph of the reprojection times of the loaded captures (VR only).
  • Capture statistics Shows overall capture statistics of the loaded captures. Switch between the metrics using the arrows on the top right of the graph. The following metrics can be displayed:
  • Missed frames
  • Average FPS
  • Average frame times
  • Average reprojection times (VR only)
  • 99th-percentile frame times

Controls

Displays the controls to navigate within the frame graph window.

General options

Capture

Capture starts after the hotkey button is pressed and ends with another hotkey press or if the capture time is reached. If a capture is in progress this will be displayed above the program version in the OCAT configuration and the overlay, if enabled, shows a red dot.

  • If no capture is in progress the hotkey for starting a capture is shown (default: F10) above the program version in the OCAT configuration.
  • Which processes are captured depends on the Capture performance for all processes option.

Capture files

Captures are saved by default in the Documents\OCAT\Captures folder. The output folder can be changed via the Select output folder option under the Capture tab. A detailed .csv file is created for each capture per supported provider set. Following provider sets are supported:

  • DXGI for desktop applications
  • SteamVR for VR games based on the openvr SDK compositor
  • OculusVR for VR games based on the LibOVR SDK compositor
  • WMR for Windows Mixed Reality VR games based on the DWM compositor

A summary for each capture can be found in the perf_summary.csv file.

An empty capture file can be caused by disabling the Capture performance for all processes option and focusing a different process when pressing the capture hotkey.

Capture config

The capture config file captureConfig.json can be found in Documents\OCAT\Config. The ETW provider sets can be individually enabled and disabled, further individual capture details can be provided for each set. If the Default or an invalid capture detail is specified, the capture detail falls back to Verbose. If an entry for a provider set is missing, it is by default enabled and uses the Verbose capture detail. On the first run, OCAT will generate a captureConfig.json file. To restore the default settings, delete the capture config file. A new one will be generated on the next run. The capture detail options are Simple, Normal and Verbose.

Denylist

Applications can be excluded from DLL-Injection through the denylist based on the executable name. The denylists, a default and a user denylist, can be found in Documents\OCAT\Config. The default denylist is named defaultDenyList.txt. The user denylist that you can edit is called userDenyList.txt All processes on the denylists don’t show the overlay, and no captures are created. On the first run, OCAT will generate or update the default denylist and generate a dummy user denylist for you to start editing. You should add executables to the user denylist to make sure they won’t get overwritten when OCAT is updated. Each line must contain one executable name (case insensitive).

Logs

Logs are saved in Documents\OCAT\Logs. The logs include:

  • PresentMonLog containing information about the capturing and start of processes
  • GlobalHook32Log and GlobalHook64Log information about the state of the global hook processes
  • GameOverlayLog information about all injected DLLs

Known Issues

  • Windows 7: PresentMon is not creating captures.
  • UWP: Global hooking for overlay does not work.
  • UPlay: The overlay does not work with UPlay games due to security mechanisms. This applies both for the global and the explicit hook. The capture function works fine.
  • Steam: DOOM, Wolfenstein 2: The New Colossus, Rise of the Tomb Raider (and many others): The explicit hook for the overlay will only work if steam://run/<AppId> is parsed as commandline argument, to prevent a relaunch of the game by Steam. The global hook and capture function work normally.
  • Final Fantasy XV: the global hook does not work, use the explicit hook with steam://run/<AppId>.
  • Frostpunk: the global hook does not work, use the explicit hook
  • SteamVR Battlezone: HMD overlay does not work with the global hook. Use the explicit hook for enabling the overlay within the HMD.
  • Rise of the Tomb Raider, DX12: overlay can flicker on Nvidia GPU
  • System Specs information in capture files: Currently, GPU memory clock is only reported on AMD systems, and for Intel we only report the GPU family rather than the specific GPU model. We detect GPU core clock and memory size on all vendors.

Changelog

1.6.2 - 2021-12-21

Added
  • Option to set working directory when launching app from within OCAT
Changed
  • Updated Windows SDK and Vulkan SDK
  • Updated GPUDetect
Fixed
  • Fixed several bugs that affected overlay compatibility with a number of games

1.6.1 - 2020-12-07

Added
  • Support for RDNA and RDNA2 GPUs
    • Updated AGS to v6.0
  • Resolution information gets also retrieved in window mode now
Fixed
  • Fixed several bugs

1.6 - 2019-12-10

Added
  • Option to disable the overlay while taking a capture
    • Reduces the overhead of the overlay to get more accurate capture results
Fixed
  • Fixed some compatibility issues

1.5.1 - 2019-07-25

Fixed
  • DX overlay compatibility issues

1.5 - 2019-06-25

Added
  • Lag indicator overlay
    • Mutually exclusive to rest of overlay
    • Changes color on lag indicator hotkey signal
  • Estimated driver lag metric in performance summary and verbose log files
  • Resolution information in performance summary and verbose log files
  • Audible indicator toggle
  • Option to require ALT + hotkey combination instead of single hotkey only
Changed
  • UI has now a latency tab with the lag indicator hotkeys and the FCAT-style per-frame coloured bar visibility hotkey
Fixed
  • Fixed some hotkey issues causing it to not work correctly with a bunch of games
  • Vulkan overlay compatibility with other Vulkan layers
  • Proper usage of user blacklist

1.4 - 2019-03-15

Notes
  • New version numbering scheme: major.minor.build (used to be major.minor.0.build)
    • That pesky zero broke things so we nuked it from orbit
Added
  • Audible indicators for starting and stopping recording
    • Helps when the overlay isn’t compatible or available
  • Overlay now prints the graphics API being used
  • Rolling plot of frame times added to overlay
  • 95th and 99.9th percentile frame times in the performance summary
  • FCAT-style per-frame coloured bar
Changed
  • Hotkey hooking method changed to Windows’ global hooking
Fixed
  • Windows 7 compatibility
  • Destination folder for captures is properly remembered between launches
  • Properly deactivate the Vulkan overlay layer on OCAT crash

1.3.0 - 2018-12-13

Notes
  • Please make sure to uninstall any previous release before installing 1.3.0
    • There is a known issue that prevents the installer from succeeding that will be fixed in a future release!
Added
  • Reworked UI
    • Changed to make it much more intuitive to use
      • New Overlay, Capture, Launch App and Visualize tabs
      • Overlay tab controls overlay configuration
      • Capture tab controls capture settings
      • Launch App tab controls overlay injection settions for a single application
      • Visualize tab launches the visualizer!
      • Read OCAT usage for more detailed information
  • User-supplied blacklist
    • OCAT maintains its own internal blacklist, but also lets you provide your own
      • That ensures OCAT doesn’t remove your own blacklist settings when OCAT is updated
      • See Blacklist for more detailed information
  • Launching Steam apps via Steam AppId
    • Allows OCAT to work with many more Steam games and lets the explicit hook work in more cases
    • Read Launch App for more detailed information
Changed
  • System specifications added to the first line of the verbose log
Fixed
  • Lots of game and application compatibility bugs!
    • See GitHub issues and the new Steam AppId support for more details

1.2.0 - 2018-08-18

Added
  • New settings options
    • Overlay position is adjustable
    • Recording output path can be specified
    • Custom user notes for summaries
    • Recording delay setting
    • Recording detail level (simple, normal, verbose)
  • Red dot in the overlay to denote recording
  • VR support!
    • Overlay is now shown inside the HMD for OpenVR and libOVR supported devices
    • HTC Vive, Oculus devices, Windows Mixed Reality all supported
    • Statistics support for WMR applications via PresentMon
    • Custom ETW logging for SteamVR and Oculus compositor providers
    • New configuration to disable event logging for VR compositors
  • Visualisation tool
    • Visualise frame times, reprojections for HMD systems and common session statistics
    • Detailed session visualisation is available using the Select Session tab
    • Visualise multiple session recordings together
    • Save visualised sessions as PDF
  • System information
    • Where possible, OCAT now collects detailed system information including
    • Mainboard, OS, CPU, RAM, GPU driver version, number of GPUs
    • Detailed GPU information where possible:
    • AMD: GPU name, core clock, memory clock, memory size
    • Nvidia: GPU name, core clock, memory size
    • Intel: GPU family, core clock, memory size
Changed
  • OCAT settings are now always visible
  • Updated to Vulkan SDK 1.1.82.1
  • Updated blacklist
  • Update application icon that’s more visible on a darker taskbar
  • Vulkan overlay now uses an implicit Vulkan layer for the global hook
  • Removed support for 32-bit Windows (can still record 32-bit games)
Fixed
  • Various game compatibility bugs, see GitHub issues for more details

1.1.0 - 2017-08-09

Added
  • Brand new UI!
  • New combined summary data
  • Toggle support for the overlay
    • Hotkey is P
Changed
  • Documentation now in Sphinx
  • PresentMon now sourced as a git subtree
  • Removed the VS2015 build
  • Overlay and PresentMon functionality separated for reliability
  • Updated to use Vulkan SDK 1.0.54
Fixed
  • Recordings now stop after a detected timeout
  • Recording should still work even if the overlay doesn’t
    • Allows recording even if the overlay won’t work
    • Fixes Battlefield 1 and Borderlands 2 among others

1.0.1 - 2017-05-23

Added
  • Continuous integration via AppVeyor
  • Redesigned logging and debug system
  • Improved documentation on building OCAT from source
  • Proper marking of error codes
  • Changelogs for GitHub releases!
Changed
  • Blacklisted UplayWebCore and UbisoftGameLauncher
  • Blacklisted Firefox
  • Blacklisted RadeonSettings
  • Improved DXGI swapchain handling
  • Recording hotkey is now F12
Fixed
  • Windows 10 Creators Update incompatibility via a PresentMon fix
  • Prey on Windows incompatibility
  • Doom and The Talos Principle (both Vulkan) incompatibility

Building OCAT

Prerequisites

OCAT Version 1.6.2 builds against Vulkan SDK 1.2.182.0.

Build

Open Powershell in an appropriate directory and perform the following steps:

git clone https://github.com/GPUOpen-Tools/OCAT
cd .\OCAT\
.\pre-build.ps1
.\build.ps1

The pre-build script downloads the redistributable files necessary for building the installer. You can use the Visual Studio solution OCAT.sln afterwards. The build script performs the necessary steps to create OCAT as well as the installer. After a successful build you can find the artifact in OCAT-Installer\bin\x64\Release\OCAT.exe.

Licenses

MIT License

Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

gameoverlay

Copyright 2016 Patrick Mours. All rights reserved.

https://github.com/crosire/gameoverlay

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDER “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Minhook

https://github.com/TsudaKageyu/minhook

MinHook - The Minimalistic API Hooking Library for x64/x86 Copyright (C) 2009-2017 Tsuda Kageyu. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Hacker Disassembler Engine 32 C

Portions of this software are Copyright (c) 2008-2009, Vyacheslav Patkov.

Copyright (c) 2008-2009, Vyacheslav Patkov. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Hacker Disassembler Engine 64 C

Copyright (c) 2008-2009, Vyacheslav Patkov. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

PresentMon

https://github.com/GameTechDev/PresentMon

Copyright 2017 Intel Corporation

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

RenderDoc

https://github.com/baldurk/renderdoc

The MIT License (MIT)

Copyright (c) 2015-2017 Baldur Karlsson

Copyright (c) 2014 Crytek

Copyright (c) 1998-2017

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

WiX

Source code from WiX is used under the Microsoft Reciprocal License.

Copyright (c) .NET Foundation and contributors. This software is released under the Microsoft Reciprocal License (MS-RL) (the “License”); you may not use the software except in compliance with the License.

The text of the Microsoft Reciprocal License (MS-RL) can be found online at:
http://opensource.org/licenses/ms-rl

Microsoft Reciprocal License (MS-RL)

This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.

  1. Definitions

    The terms “reproduce,” “reproduction,” “derivative works,” and “distribution” have the same meaning here as under U.S. copyright law. A “contribution” is the original software, or any additions or changes to the software. A “contributor” is any person that distributes its contribution under this license. “Licensed patents” are a contributor’s patent claims that read directly on its contribution.

  2. Grant of Rights

    1. Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
    2. Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
  3. Conditions and Limitations

    1. Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. You may license other files that are entirely your own work and do not contain code from the software under any terms you choose.
    2. No Trademark License- This license does not grant you rights to use any contributors’ name, logo, or trademarks.
    3. If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.
    4. If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.
    5. If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
    6. The software is licensed “as-is.” You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.

OxyPlot

http://www.oxyplot.org/

The MIT License (MIT)

Copyright (c) 2014 OxyPlot contributors

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

JSON for Modern C++

https://github.com/nlohmann/json

MIT License

Copyright (c) 2013-2018 Niels Lohmann

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Oculus VR

Oculus VR, LLC Software Development Kit License Agreement

Copyright © 2014-2016 Oculus VR, LLC All rights reserved.

The text of this may be found at: https://developer3.oculus.com/licenses/sdk-3.4.1/

In order to obtain and use the Oculus Software Development Kit for mobile or for PC, You must first agree to the terms of this License. If you agree to the terms of this License, you may use the Oculus Software Development Kit. If you do not agree to the terms of this License, then you may not use the Oculus Software Development Kit.

OCULUS SDK LICENSE

1. Subject to the terms and conditions of this License Agreement (the “License”), Oculus VR, LLC (“Oculus”) hereby grants to you a worldwide, non-exclusive, no-charge, royalty-free, sublicenseable copyright license to use, reproduce and redistribute (subject to restrictions below) the software contained in this Oculus Rift Software Development Kit for PC and/or Oculus Rift Software Development Kit for mobile (individually and collectively, “Oculus SDK”), including, but not limited to, the samples, headers, LibOVR and VRLib headers, LibOVR and VRLib source and, subject to your compliance with Section 3, the headers, libraries and APIs to enable the Platform Services. This License is subject to the following terms and conditions:

1.1 This license grants you the non-exclusive license and right to use (i) the Oculus SDK to make engines, tools, applications, content, games and demos (collectively and generally referred to as “Developer Content”) for use on the Oculus approved hardware and software products (“Oculus Approved Products”) and which may incorporate the Oculus SDK in whole or in part in binary or object code; and (ii) the headers, libraries, APIs and other tools made available by Oculus to enable the use of Platform Services with your Developer Content.

1.2 For the sake of clarification, when you use the Oculus SDK in or with Developer Content, you retain all rights to your Developer Content, and you have no obligations to share or license Developer Content (including your source and object code) to Oculus or any third parties; provided, however, Oculus retains all rights to the Oculus SDK and the headers, libraries and APIs to the Platform Services and other tools made available by Oculus, including those that may be incorporated into your Developer Content.

1.3 You agree that as a condition of this License you will design and distribute your Developer Content to ensure that your Developer Content and any software required to use your Developer Content does not, and you will not, alter or interfere with the normal operation, behavior or functionality of the Oculus hardware or software or Oculus Approved Products, including: (i) the behavior of the “Oculus button” and “XBox button” implemented by the Oculus system software; (ii) any on-screen messages or information; (iii) the behavior of the proximity sensor in the Oculus hardware implemented by the Oculus system software; (iv) Oculus hardware or software security features; (v) end user’s settings; or (vi) the Oculus Flash Screen Warnings. You also agree not to commit any act intended to interfere with the normal operation of the Oculus hardware or software or Oculus Approved Products, or provide software to Oculus users or developers that would induce breach of any Oculus agreements or that contains malware, viruses, hacks, bots, Trojan horses, or other malicious code.

1.4 You may not use the Oculus SDK for any purpose not expressly permitted by this License. You may not:

  1. decompile
  2. reverse engineer
  3. disassemble
  4. attempt to derive the source code of the Oculus SDK or any part of the Oculus SDK, or any other software or firmware provided to you by Oculus

(except as and only to the extent any foregoing restriction is prohibited by applicable law).

REDISTRIBUTION

2. Subject to the terms and conditions of this License, your license to redistribute and sublicense the Oculus SDK is also expressly made subject to the following conditions:

2.1 You may sublicense and redistribute the source, binary, or object code of the Oculus SDK in whole for no charge or as part of a for-charge piece of Developer Content; provided, however, you may only license, sublicense or redistribute the source, binary or object code of the Oculus SDK in its entirety. The Oculus SDK (including, but not limited to LibOVR and VRLib), and any Developer Content that includes any portion of the Oculus SDK, may only be used with Oculus Approved Products and may not be used, licensed, or sublicensed to interface with software or hardware or other commercial headsets, mobile tablets or phones that are not authorized and approved by Oculus;

2.2 You must include with all such redistributed or sublicensed Oculus SDK code the following copyright notice: “Copyright © 2014-2016 Oculus VR, LLC. All rights reserved,”

2.3 You must give any other recipients of the Oculus SDK a copy of this License as such recipients, licensees or sublicensees may only use the Oculus SDK subject to the terms of this License and such recipient’s, licensee’s or sublicensee’s agreement to and acceptance of this License with Oculus; and

2.4 The Oculus SDK includes a “LICENSE” text file (the “License Notice”), and any Oculus SDK distribution that you distribute must include a copy of this License with the License Notice.

OCULUS PLATFORM SERVICES

3. Oculus makes the headers, libraries and APIs, software, and other tools made available by Oculus to enable Platform Services in connection with your Developer Content. You agree not to use any API, code or other tools, instruction or service provided by Oculus to enable or use a Platform Service other than in compliance with these terms. For more information go to https://developer.oculus.com.

  • “Oculus Platform Framework” means the suite of Oculus platform services, including but not limited to the Oculus file distribution and update system (enabling distribution and updates of Developer Content by Oculus, including through generated activation Keys), entitlement system, and account authentication, which list may be changed from time to time in Oculus’ sole discretion.
  • “Application Services” means services provided by Oculus associated with the Platform, including but not limited to in-app purchasing, multiplayer matchmaking, friends, leader boards, achievements, rooms, voice over IP and cloud saves, which list may be changed from time to time in Oculus’ sole discretion.
  • “Platform” means the Oculus virtual reality platform, including but not limited to the user experience, user interface, store, and social features, usable on Oculus approved hardware or any third-party device or operating system, including but not limited to iOS, Android, Windows, OS X, Linux, and Windows Mobile.
  • “Platform Services” means the Oculus Platform Framework and the Application Services.

3.1 Oculus Platform Services. Oculus makes certain Platform Services available to you to include and enable in your Developer Content. Developer Content that enables or includes any Platform Service must implement the Oculus Platform Framework with that Developer Content. Once your Developer Content has been authorized for use of the Platform Services, you are not required to update your Developer Content to include new Platform Services Oculus may make available as part of the Oculus Platform Framework.

3.2 Limited Authorization. You hereby grant Oculus the limited authorization reasonably necessary for Oculus’s exercise of its rights and performance of its obligations under this Section 3. You agree that Oculus may use its contractors and affiliates for the purposes of exercising its rights and licenses set forth in this Section 3.

3.3. Internal Use. You agree that Oculus may grant its employees and internal contractors the right to use, perform and display the Developer Content you provide to Oculus for testing, evaluation and approval purposes, which shall be on a royalty-free basis.

3.4 Key Provision and Redemption. If you request that Oculus generate activation keys for your Developer Content on the Platform (“Keys”) and Oculus agrees, you hereby grant Oculus (i) the right to generate Keys for you and (ii) a license to make available, reproduce, distribute, perform, and display the Developer Content to end users who have submitted a Key to Oculus. Oculus agrees to authenticate and make Developer Content available to any end user supplying a valid Key (unless the Developer Content has been removed or withdrawn).

3.5 Platform Services Requirements. You will not make any use of any API, software, code or other item or information supplied by Oculus in connection with the Platform Services other than to enhance the functionality of your Developer Content. In particular, you must not (nor enable others to): (i) defame, abuse, harass, stalk, or threaten others, or to promote or facilitate any prohibited or illegal activities; (ii) enable any functionality in your Developer Content that would generate excessive traffic over the Oculus network or servers that would negatively impact other users’ experience, or otherwise interfere with or restrict the operation of the Platform Services, or Oculus’s servers or networks providing the Platform Services; or (iii) remove, obscure, or alter any Oculus license terms, policies or terms of service or any links to or notices thereto. You may not sublicense any software, firmware or other item or information supplied by Oculus in connection with the Platform Service for use by a third party, unless expressly authorized by Oculus to do so. You agree not to use (or encourage the use of) the Platform Services for mission critical, life saving or ultra-hazardous activities. Oculus may suspend operation of or remove any Developer Content that does not comply with the restrictions in this License.

You will not use the Oculus Avatar associated with the Oculus ID of any end user in your Developer Content without the express permission of that end user unless, (i) that end user is actively engaged with your Developer Content or (ii) that end user remains part of an active session of your Developer Content with whom other end users are interacting, whether or not that end user is then online.

GENERAL PROVISIONS

  1. Additional Materials

4.1 Oculus may include in this Oculus SDK additional content (e.g., samples) for demonstration, references or other specific purposes. Such content will be clearly marked in the Oculus SDK and is subject to any included terms and conditions.

4.2 Your use of third-party materials included in the Oculus SDK may be subject to other terms and conditions typically found in separate third-party license agreements or “READ ME” files included with such third-party materials. To the extent such other terms and conditions conflict with the terms and conditions of this License, the former will control with respect to the applicable third-party materials.

5. THE OCULUS SDK AND ANY COMPONENT THEREOF, THE OCULUS HEADERS, LIBRARIES AND APIS, AND THE PLATFORM SERVICES FROM OCULUS AND ITS CONTRIBUTORS ARE PROVIDED “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OCULUS AS THE COPYRIGHT OWNER OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS OCULUS SDK, THE OCULUS HEADERS, LIBRARIES AND APIS OR THE PLATFORM SERVICES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. SOME JURISDICTIONS DO NOT PERMIT THE EXCLUSION OR LIMITATION OF IMPLIED WARRANTIES, SO YOU MAY HAVE ADDITIONAL RIGHTS.

6. This License does not grant permission to use the trade names, trademarks, service marks, or product names of Oculus, except as required for reasonable and customary use in describing the origin of the Oculus SDK, and reproducing the content of the License Notice file. Oculus reserves all rights not expressly granted to you under this License. Neither the name of Oculus VR, LLC nor the names of Oculus VR, LLC’s contributors, licensors, employees, or contractors, may be used to endorse or promote products developed using the Oculus SDK without specific prior written permission of Oculus VR, LLC.

7. You are responsible for ensuring that your use of the Oculus SDK and your Developer Content, including enabled Platform Services, complies with all applicable laws (including privacy laws) wherever your Developer Content is made available. You acknowledge and agree that you are solely responsible for any health and safety issues arising from your Developer Content. You will not collect end users’ content or information, or otherwise access any Oculus site, using automated means (such as harvesting bots, robots, spiders, or scrapers) without Oculus’ prior permission.

8. Your acceptance of the terms and conditions of this License in and of itself and for all Developer Content created as of March 28, 2016, may be evidenced by any of the following: your usage of the Oculus SDK, or acceptance of the license agreement. As this License is updated for future releases of the Oculus SDK, you agree to abide by and meet all requirements of future updates of this License for those future Oculus SDK releases, with acceptance evidenced by usage of the Oculus SDK or any element thereof and the future updates of this License will apply for that future Developer Content that may be developed for or with that future Oculus SDK or any element thereof (i.e., you cannot sidestep out of the requirements of future updates of the License by developing against an older release of the Oculus SDK or License).

9. Oculus reserves the right to terminate this License and all your rights hereunder immediately in the event you materially breach this License.

  1. Furthermore, Oculus also reserves the right to cancel or terminate this License for any of the following reasons:
  1. Intellectual property infringement by you with Developer Content created by you that is used with or by the Oculus SDK, or any of the Platform Services;
  2. Developer Content (including enabling Platform Services) that violates applicable law;
  3. Health and safety issues associated with your Developer Content;
  4. Failure to comply with or use properly the Oculus Flash Screen Warnings;
  5. Use of the Oculus SDK with a commercial product other than an Oculus Approved Product;
  6. Failure to provide required notices as set forth above; and
  7. Failure to observe the restrictions in Section 3.5.

11. You agree to fully indemnify Oculus from any and all losses, costs, damages and expenses (including reasonable attorney’s fees) arising out of your Developer Content or any matter set forth in Sections 6, 7 and 10(a) through (g).

12. Oculus may discontinue or change functionality of the Platform Services at any time, and your continued use of the Platform Services or use of any modified or additional Platform Services is conditioned upon your adherence to the terms of this License, as modified by Oculus from time to time.

13. In the event any provision of this License is determined to be invalid, prohibited or unenforceable by a court or other body of competent jurisdiction, this License shall be construed as if such invalid, prohibited or unenforceable provision has been more narrowly drawn so as not to be invalid, prohibited or unenforceable.

14. You may not assign any rights or obligations under this License without the advance written consent of Oculus, which may be withheld in its sole discretion. Oculus may assign its rights or obligations under this License in its sole discretion.

15. Failure of either party at any time to enforce any of the provisions of this License will not be construed as a waiver of such provisions or in any way affect the validity of this License or parts thereof.

16. Your remedies under this License shall be limited to the right to collect money damages, if any, and you hereby waive your right to injunctive or other equitable relief.

17. You will comply, and will not cause Oculus to not comply (by for example, providing Developer Content to Oculus under this Agreement for which required export clearances have not been obtained), with all applicable export control laws of the United States and any other applicable governmental authority, including without limitation, the U.S. Export Administration Regulations. You agree that this License and the Oculus SDK and accompanying documentation are Oculus’s confidential information (and is not publicly available), and you will not use it, disclose it or make it available to others except in accordance with the terms of this License.

18. This License shall be governed by the laws of the State of California, without giving effect to choice of law principles. All disputes relating to this License shall be resolved by binding non-appearance-based arbitration before a neutral arbitrator in Santa Clara, California. The arbitration shall be conducted in accordance with the rules and procedures of JAMS then in effect, and the judgment of the arbitrator shall be final and capable of entry in any court of competent jurisdiction. You and Oculus agree to submit to the personal jurisdiction of the courts located within Santa Clara, California in connection with any entrance of an arbitrator’s judgment or decision or any dispute with respect to the arbitration process or procedure or Oculus’s exercise of its equitable rights or remedies.

OpenVR SDK

https://github.com/ValveSoftware/openvr

Copyright (c) 2015, Valve Corporation All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

MICROSOFT WINDOWS API CODE PACK FOR MICROSOFT .NET FRAMEWORK

MICROSOFT SOFTWARE LICENSE TERMS MICROSOFT WINDOWS API CODE PACK FOR MICROSOFT .NET FRAMEWORK

These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft

  • updates,
  • supplements,
  • Internet-based services, and
  • support services

for this software, unless other terms accompany those items. If so, those terms apply.

BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. If you comply with these license terms, you have the rights below.

  1. INSTALLATION AND USE RIGHTS.
  • You may use any number of copies of the software to design, develop and test your programs that run on a Microsoft Windows operating system.
  • This agreement gives you rights to the software only. Any rights to a Microsoft Windows operating system (such as testing pre-release versions of Windows in a live operating environment) are provided separately by the license terms for Windows.
  1. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.
  1. Distributable Code. You may modify, copy, and distribute the software, in source or compiled form, to run on a Microsoft Windows operating system.
  1. Distribution Requirements. If you distribute the software, you must
  • require distributors and external end users to agree to terms that protect it at least as much as this agreement;
  • if you modify the software and distribute such modified files, include prominent notices in such modified files so that recipients know that they are not receiving the original software;
  • display your valid copyright notice on your programs; and
  • indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your programs or to your modifications to the software.
  1. Distribution Restrictions. You may not
  • alter any copyright, trademark or patent notice in the software;
  • use Microsoft’s trademarks in your programs’ names or in a way that suggests your programs come from or are endorsed by Microsoft;
  • include the software in malicious, deceptive or unlawful programs; or
  • modify or distribute the source code of the software so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that
  • the code be disclosed or distributed in source code form; or
  • others have the right to modify it.
  1. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement.
  2. EXPORT RESTRICTIONS. The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see <http://www.microsoft.com/exporting>.
  3. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it.
  4. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.
  5. APPLICABLE LAW.
  1. United States. If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.
  2. Outside the United States. If you acquired the software in any other country, the laws of that country apply.
  1. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.
  2. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.

10. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. This limitation applies to

  • anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and
  • claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.

It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages. Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.

Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français. EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues. LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices. Cette limitation concerne :

  • tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et
  • les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur.

Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard. EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas.

NVAPI

https://developer.nvidia.com/nvapi

SOFTWARE DEVELOPER KITS, SAMPLES AND TOOLS LICENSE AGREEMENT IMPORTANT – READ BEFORE DOWNLOADING, INSTALLING, COPYING OR USING THE LICENSED SOFTWARE READ CAREFULLY: This Software Developer Kits, Samples and Tools License Agreement (“Agreement”), made and entered into as of the time and date of click through action (“Effective Date”), is a legal agreement between you and NVIDIA Corporation (“NVIDIA”) and governs the use of the following NVIDIA deliverables to the extent provided to you under this Agreement: API’s, sample source code, header files, binary software and/or documentation (collectively, “Licensed Software”). By downloading, installing, copying, or otherwise using the Licensed Software, you agree to be bound by the terms of this Agreement. If you do NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT DOWNLOAD, INSTALL, COPY OR USE THE NVIDIA LICENSED SOFTWARE. IF YOU ARE ENTERING INTO THIS AGREEMENT ON BEHALF OF A COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE LEGAL AUTHORITY TO BIND THE ENTITY TO THIS AGREEMENT, IN WHICH CASE “YOU” WILL MEAN THE ENTITY YOU REPRESENT. IF YOU DON’T HAVE SUCH AUTHORITY, OR IF YOU DON’T ACCEPT ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT, THEN NVIDIA IS UNWILLING TO LICENSE THE LICENSED SOFTWARE TO YOU, AND YOU MAY NOT DOWNLOAD, INSTALL, COPY OR USE IT.

  1. LICENSE.

1.1 License Grant. Subject to the terms of this Agreement, NVIDIA hereby grants you a nonexclusive, non-transferable, worldwide, revocable, limited, royalty-free, fully paid-up license to during the term of this Agreement:

  1. install, use and reproduce the software delivered by NVIDIA, make modifications and create derivative works of sample source code software delivered by NVIDIA and use documentation delivered by NVIDIA, provided that the software is executed only in supported NVIDIA GPU hardware products (as specified in the accompanying documentation, such as release notes) that you separately obtain from NVIDIA or its affiliates, all to develop, test and service your products (each, a “Customer Product”) that are interoperable with supported NVIDIA GPU hardware products; and
  2. sub-license and distribute in binary format the API library software and header files as delivered by NVIDIA and sample source code as delivered by NVIDIA or as modified by you, all as incorporated into a Customer Product for use by your recipients only in the supported NVIDIA GPU hardware products separately obtained, provided that: (a) all such distributions by you or your distribution channels are consistent with the terms of this Agreement; and (b) you must enter into enforceable agreements with your recipients that binds them to terms that are consistent with the terms set forth in this Agreement for their use of the software binaries, including (without limitation) terms relating to the license grant and license restrictions, confidentiality and protection of NVIDIA’s intellectual property rights in and to the software you distributed. You are liable for the distribution and the use of distributed software if you failed to comply or enforce the distribution requirements of this Agreement. You agree to notify NVIDIA in writing of any known or suspected use or distribution of the Licensed Software that are not in compliance with the terms of this Agreement.

1.2 Enterprise and Contractor Usage. Under this Agreement you may allow (i) your Enterprise employees, and (ii) individuals who work primarily for your Enterprise on a contractor basis and from your secure network (each a “Contractor”) to access and use the Licensed Software pursuant to the terms in Section 1 solely to perform work on your behalf, provided further that with respect to Contractors: (i) you obtain a written agreement from the Contractor which contains terms and obligations with respect to access to or use of Licensed Software no less protective of NVIDIA than those set forth in this Agreement, and (ii) such Contractor’s access and use expressly excludes any sublicensing or distribution rights for the Licensed Software. You are responsible for the compliance with the terms and conditions of this Agreement by your Enterprise and Contractors. Any act or omission that if committed by you would constitute a breach of this Agreement shall be deemed to constitute a breach of this Agreement if committed by your Enterprise or Contractors. “Enterprise” means you or any company or legal entity for which you accepted the terms of this Agreement, and their subsidiaries of which your company or legal entity owns more than fifty percent (50%) of the issued and outstanding equity.

1.3 No Support. NVIDIA is under no obligation to provide support for the Licensed Software or to provide any error corrections or updates to the Licensed Software under this Agreement.

  1. LIMITATIONS.

2.1 License Restrictions. Except as expressly authorized in this Agreement, you agree that you will not (nor allow third parties to):

  1. copy and use software that was licensed to you for use in one or more devices in other unlicensed devices (provided that copies solely for backup purposes are allowed);
  2. reverse engineer, decompile, disassemble (except to the extent applicable laws specifically requires that such activities be permitted) or attempt to derive the source code, underlying ideas, algorithm or structure of software provided to you in object code form;
  3. sell, transfer, assign, distribute, rent, loan, lease, sublicense or otherwise make available the Licensed Software or its functionality to third parties
  1. as an application services provider or service bureau,
  2. by operating hosted/virtual system environments,
  3. by hosting, time sharing or providing any other type of services, or
  4. otherwise by means of the internet;
  1. modify, translate or otherwise create any modifications or derivative works of any of the Licensed Software;
  2. remove, alter, cover or obscure any proprietary notice that appears on or with the Licensed Software or any copies thereof;
  3. use the Licensed Software, or allow its use, transfer, transmission or export in violation of any export control laws or regulations administered by the United States government;
  4. distribute, permit access to, or sublicense the Licensed Software as a stand-alone product;
  5. bypass, disable, circumvent or remove any form of copy protection, encryption, security or digital rights management or authentication mechanism used by NVIDIA in connection with the Licensed Software, or use the Licensed Software together with any authorization code, serial number, or other copy protection device not supplied by NVIDIA directly or through an authorized reseller;
  6. use the Licensed Software for the purpose of developing competing products or technologies or assisting a third party in such activities;
  7. disclose the results of any benchmarking or other competitive analysis relating to the Licensed Software without the prior written permission from NVIDIA;
  8. distribute any modification you make to software under or by reference to the same name as used by NVIDIA; (xii) use the Licensed Software in any manner that would cause the Licensed Software to become subject to an Open Source License. Nothing in this Agreement shall be construed to give you a right to use, or otherwise obtain access to, any source code from which the software or any portion thereof is compiled or interpreted. “Open Source License” includes, without limitation, a software license that requires as a condition of use, modification, and/or distribution of such software that the software be (x) disclosed or distributed in source code form; (y) be licensed for the purpose of making derivative works; or (z) be redistributable at no charge.

2.2 Third Party License Obligations. You acknowledge and agree that the Licensed Software may include or incorporate third party technology (collectively “Third Party Components”), which is provided for use in or with the software and not otherwise used separately. If the Licensed Software includes or incorporates Third Party Components, then the third-party pass-through terms and conditions (“Third Party Terms”) for the particular Third Party Component will be bundled with the software or otherwise made available online as indicated by NVIDIA and will be incorporated by reference into this Agreement. In the event of any conflict between the terms in this Agreement and the Third Party Terms, the Third Party Terms shall govern. Copyright to Third Party Components are held by the copyright holders indicated in the copyright notices indicated in the Third Party Terms. Audio/Video Encoders and Decoders. You acknowledge and agree that it is your sole responsibility to obtain any additional third party licenses required to make, have made, use, have used, sell, import, and offer for sale your products or services that include or incorporate any Third Party Components and content relating to audio and/or video encoders and decoders from, including but not limited to, Microsoft, Thomson, Fraunhofer IIS, Sisvel S.p.A., MPEG-LA, and Coding Technologies as NVIDIA does not grant to you under this Agreement any necessary patent rights with respect to audio and/or video encoders and decoders.

2.3 Limited Rights. Your rights in the Licensed Software are limited to those expressly granted in Section 1 and no other licenses are granted whether by implication, estoppel or otherwise. NVIDIA reserves all other rights, title and interest in and to the Licensed Software not expressly granted to you under this Agreement.

  1. CONFIDENTIALITY.

Each party will not use the other party’s Confidential Information, except as necessary for the performance of this Agreement, and will not disclose such Confidential Information to any third party, except to NVIDIA personnel, you, your Enterprise and your Enterprise Contractors that have a need to know such Confidential Information for the performance of this Agreement, provided that each such personnel, employee and Contractor is subject to a written agreement that includes confidentiality obligations consistent with those set forth herein. Each party will use all reasonable efforts to maintain the confidentiality of all of the other party’s Confidential Information in its possession or control, but in no event less than the efforts that it ordinarily uses with respect to its own Confidential Information of similar nature and importance. The foregoing obligations will not restrict either party from disclosing the other party’s Confidential Information or the terms and conditions of this Agreement as required under applicable securities regulations or pursuant to the order or requirement of a court, administrative agency, or other governmental body, provided that the party required to make such a disclosure (i) gives reasonable notice to the other party to enable it to contest such order or requirement prior to its disclosure (whether through protective orders or otherwise), (ii) uses reasonable effort to obtain confidential treatment or similar protection to the fullest extent possible to avoid public disclosure, and (iii) discloses only the minimum amount of information necessary to comply with such requirements. “Confidential Information” means the Licensed Software (unless made publicly available by NVIDIA without confidentiality obligations), and any NVIDIA business, marketing, pricing, research and development, know-how, technical, scientific, financial status, proposed new products or other information disclosed by NVIDIA to you which, at the time of disclosure, is designated in writing as confidential or proprietary (or like written designation), or orally identified as confidential or proprietary or is otherwise reasonably identifiable by parties exercising reasonable business judgment as confidential. Confidential Information does not and will not include information that:

  1. is or becomes generally known to the public through no fault of or breach of this Agreement by the receiving party;
  2. is rightfully known by the receiving party at the time of disclosure without an obligation of confidentiality;
  3. is independently developed by the receiving party without use of the disclosing party’s Confidential Information; or
  4. is rightfully obtained by the receiving party from a third party without restriction on use or disclosure.
  1. OWNERSHIP AND FEEDBACK.

4.1 Ownership of Licensed Software. The Licensed Software, and the respective intellectual property rights therein, is and will remain the sole and exclusive property of NVIDIA and its licensors, whether the Licensed Software is separate from or combined with any other products or materials. You shall not knowingly engage in any act or omission that would impair NVIDIA’s and/or its licensors’ intellectual property rights in the Licensed Software or any other materials, information, processes or subject matter proprietary to NVIDIA. NVIDIA’s licensors are intended third party beneficiaries with the right to enforce provisions of this Agreement with respect to their Confidential Information and/or intellectual property rights.

4.2 Modifications. You hold all rights, title and interest in and to the modifications to and derivative works of the NVIDIA sample source code software that you create as permitted hereunder, subject to NVIDIA’s underlying intellectual property rights in and to the NVIDIA software; provided, however that you grant NVIDIA and its affiliates an irrevocable, perpetual, nonexclusive, worldwide, royalty-free paid-up license to make, have made, use, have used, reproduce, sell, license, distribute, sublicense, transfer and otherwise commercialize modifications and derivative works including (without limitation) with the Licensed Software or other NVIDIA products, technologies or materials.

4.3 Feedback. You have no obligation to provide Feedback to NVIDIA. However, NVIDIA and its affiliates may use and include any Feedback that you provide to improve the Licensed Software or other NVIDIA products, technologies or materials. Accordingly, if you provide Feedback, you agree that NVIDIA and its affiliates may at their option, and may permit its licensees, to make, have made, use, have used, reproduce, sell, license, distribute, sublicense, transfer and otherwise commercialize the Feedback in the Licensed Software or in other products, technologies or materials without the payment of any royalties or fees to you. All Feedback becomes the sole property of NVIDIA and may be used in any manner NVIDIA sees fit, and you hereby assign to NVIDIA all of your right, title and interest in and to any Feedback. NVIDIA has no obligation to respond to Feedback or to incorporate Feedback into the Licensed Software. “Feedback” means any and all suggestions, feature requests, comments or other feedback relating to the Licensed Software, including possible enhancements or modifications thereto.

  1. NO WARRANTIES.

THE LICENSED SOFTWARE IS PROVIDED BY NVIDIA “AS IS” AND “WITH ALL FAULTS,” AND NVIDIA EXPRESSLY DISCLAIMS ALL WARRANTIES OF ANY KIND OR NATURE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF OPERABILITY, CONDITION, VALUE, ACCURACY OF DATA, OR QUALITY, AS WELL AS ANY WARRANTIES OF MERCHANTABILITY, SYSTEM INTEGRATION, WORKMANSHIP, SUITABILITY, NON-INGRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, OR THE ABSENCE OF ANY DEFECTS THEREIN, WHETHER LATENT OR PATENT. NO WARRANTY IS MADE BY NVIDIA ON THE BASIS OF TRADE USAGE, COURSE OF DEALING OR COURSE OF TRADE. NVIDIA DOES NOT WARRANT THAT THE LICENSED SOFTWARE WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION THEREOF WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ALL ERRORS WILL BE CORRECTED. YOU ACKNOWLEDGE THAT NVIDIA’S OBLIGATIONS UNDER THIS AGREEMENT ARE FOR THE BENEFIT OF YOU ONLY. Nothing in this warranty section affects any statutory rights of consumers or other customers to the extent that they cannot be waived or limited by contract.

  1. LIMITATION OF LIABILITY.

TO THE MAXIMUM EXTENT PERMITTED BY LAW NVIDIA SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (SUCH AS, WITHOUT LIMITATION, LOST PROFITS, LOSS OF USE, LOSS OF DATA OR LOSS OF GOODWILL), OR THE COSTS OF PROCURING SUBSTITUTE PRODUCTS, ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT OR THE USE OR PERFORMANCE OF THE LICENSED SOFTWARE, WHETHER SUCH LIABILITY ARISES FROM ANY CLAIM BASED UPON BREACH OF CONTRACT, BREACH OF WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR ANY OTHER CAUSE OF ACTION OR THEORY OF LIABILITY. IN NO EVENT WILL NVIDIA’S TOTAL CUMULATIVE LIABILITY UNDER OR ARISING OUT OF THIS AGREEMENT EXCEED THE GREATER OF THE NET AMOUNT NVIDIA RECEIVED FOR YOUR USE OF THE LICENSED SOFTWARE ONE HUNDRED U.S. DOLLARS (US $100). THE NATURE OF THE LIABILITY, THE NUMBER OF CLAIMS OR SUITS OR THE NUMBER OF PARTIES WITHIN YOUR ENTERPRISE THAT ACCEPTED THE TERMS OF THIS AGREEMENT SHALL NOT ENLARGE OR EXTEND THIS LIMIT. THE FOREGOING LIMITATIONS SHALL APPLY REGARDLESS OF WHETHER NVIDIA OR ITS LICENSORS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND REGARDLESS OF WHETHER ANY REMEDY FAILS ITS ESSENTIAL PURPOSE.

  1. TERM AND TERMINATION.

This Agreement and your licenses hereunder shall become effective upon the Effective Date and shall remain in effect unless and until terminated as follows: (i) automatically if you breach any of the terms of this Agreement; or (ii) by either party upon written notice if the other party becomes the subject of a voluntary or involuntary petition in bankruptcy or any proceeding relating to insolvency, receivership, liquidation or composition for the benefit of creditors, if that petition or proceeding is not dismissed with prejudice within sixty (60) days after filing, or if a party ceases to do business; (iii) by you, upon ceasing to use the Licensed Software provided under this Agreement; or (iv) by NVIDIA upon written notice if you commence or participate in any legal proceeding against NVIDIA, with respect to the Licensed Software that is the subject of the proceeding during the pendency of such legal proceeding. Termination of this Agreement shall not release the parties from any liability which, at the time of termination, has already accrued or which thereafter may accrue with respect to any act or omission before termination, or from any obligation which is expressly stated in this Agreement to survive termination. Notwithstanding the foregoing, the party terminating this Agreement shall incur no additional liability merely by virtue of such termination. Termination of this Agreement regardless of cause or nature shall be without prejudice to any other rights or remedies of the parties and shall be without liability for any loss or damage occasioned thereby. Upon any expiration or termination of this Agreement (i) you must promptly discontinue use of the Licensed Software, and (ii) you must promptly destroy or return to NVIDIA all copies of the Licensed Software and all portions thereof in your possession or control, and each party will promptly destroy or return to the other all of the other party’s Confidential Information within its possession or control, provided that your prior distributions in accordance with this Agreement are not affected by the expiration or termination of this Agreement. Upon written request, you will certify in writing that you have complied with your obligations under this section. Sections 2 through 8 will survive the expiration or termination of this Agreement for any reason.

  1. MISCELLANEOUS.

8.1 NVIDIA Entities. NVIDIA Corporation and its subsidiaries, including, but not limited to, NVIDIA Singapore Pte Ltd., have agreed to their respective rights and obligations regarding the distribution of the Licensed Software and the performance of obligations related to the Licensed Software. Ordering and delivery shall be with the NVIDIA entity with distribution rights for the geographic region in which the Licensed Software will be used, as communicated by NVIDIA to you.

8.2 Audit. During the term of this Agreement and for a period of three (3) years thereafter, you will maintain complete and accurate books and records regarding use of the Licensed Software and your performance and administration of this Agreement. During such period and upon written notice to you, NVIDIA or its authorized third party auditors subject to confidentiality obligations will have the right to inspect and audit your Enterprise books and records for the purpose of confirming your compliance with the terms of this Agreement. Any such inspection and audit will be conducted during regular business hours, in a manner that minimizes interference with your normal business activities, and no more frequent than annually unless non-compliance was previously found. If such an inspection and audit reveals an underpayment of any amounts payable to NVIDIA, then you will promptly remit the full amount of such underpayment to NVIDIA, including interest that will accrue (without the requirement of a notice) at the lower of 1.5% per month or the highest rate permissible by law. If the underpaid amount exceeds five percent (5%) of the amounts payable to NVIDIA for the period audited and/or such an inspection and audit reveals a material non-conformance with the terms of this Agreement, then you will also pay NVIDIA’s reasonable costs of conducting the inspection and audit. Further, you agree that the party delivering the Licensed Software to you may collect and disclose to NVIDIA (subject to confidentiality obligations) information for NVIDIA to verify your compliance with the terms of this Agreement including (without limitation) information regarding your usage of the Licensed Software.

8.3 Trademarks. You are granted no rights to use any of NVIDIA’s trademarks under this Agreement. NVIDIA’s trademarks include company names, product or service names, marks, logos, designs and trade dress. You may not remove, alter, or add to any of NVIDIA’s trademarks that appear in or as part of the Licensed Software.

8.4 Indemnity. You agree to defend, indemnify and hold harmless NVIDIA and its affiliates, and their respective employees, contractors, agents, officers and directors, from and against any and all claims, damages, obligations, losses, liabilities, costs or debt, fines, restitutions and expenses (including but not limited to attorney’s fees and costs incident to establishing the right of indemnification) arising out of or related to you and your Enterprise, and their respective employees, contractors, agents, officers and directors: (i) use of a Licensed Software with any system or application where the use or failure of such system or application can reasonably be expected to threaten or result in personal injury, death, or catastrophic loss including, for example, use in connection with any nuclear, avionics, navigation, military, medical, life support or other life critical application; (ii) violation of any third party right, including without limitation any right of privacy or intellectual property rights; (iii) failure to comply with any applicable export and import laws, rules or regulations; or (iv) negligence or willful misconduct.

8.5 Injunctive Relief. The parties agree that a breach of any of the promises or agreements contained in this Agreement may result in irreparable and continuing injury for which monetary damages would not be an adequate remedy and therefore the parties are entitled to seek injunctive relief as well as such other and further relief as may be appropriate.

8.6 Waiver. The failure by either party to enforce its rights under this Agreement at any time for any period will not constitute a waiver of future enforcement of that right or any other right. Any waiver will be effective only if in writing and signed by duly authorized representatives of each party.

8.7 Severability. If for any reason a court of competent jurisdiction finds any provision of this Agreement invalid or unenforceable, that provision of this Agreement will be enforced to the maximum extent permissible so as to effect the intent of the parties, and the other provisions of this Agreement will remain in full force and effect.

8.8 U.S. Government Legend. You agree and certify that you will comply with all laws, regulations, rules, and other requirements applicable to transaction(s) with any government(s) occurring pursuant to this Agreement and all related matters. The Licensed Software has been developed entirely at private expense and is “commercial items” consisting of “commercial software” and “commercial software documentation” provided with RESTRICTED RIGHTS. Use, duplication or disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the restrictions set forth in this Agreement under which Licensed Software was obtained pursuant to DFARS 227.7202-3(a) or as set forth in subparagraphs (c)(1) and (2) of the Commercial Computer Software - Restricted Rights clause at FAR 52.227-19, as applicable. Contractor/manufacturer is NVIDIA, 2701 San Tomas Expressway, Santa Clara, CA 95050.

8.9 Force Majeure. Neither party will be responsible for any failure or delay in its performance under this Agreement to the extent due to causes beyond its reasonable control, including, but not limited to, acts of God, fire, flood, war, earthquake, environmental conditions, governmental action, acts of civil or military authority, riots, wars, sabotage, strikes, compliance with laws or regulations, strikes, lockouts or other serious labor disputes, or shortage of or inability to obtain material or equipment for so long as such event of force majeure continues in effect.

8.10 Export Control. You acknowledge that the Licensed Software, technology and related documentation described under this Agreement are subject to the U.S. Export Administration Regulations (EAR) and economic sanctions regulations administered by the U.S. Department of Treasury’s Office of Foreign Assets Control (OFAC). You agree to comply with the EAR and OFAC regulations and all applicable international and national export and import laws. You agree not to export or re-export the Licensed Software, technology and related documentation to any destination requiring an export license or other approval under the EAR or OFAC regulations otherwise without first obtaining such export license or approval and NVIDIA’s permission. You will not, without prior governmental authorization, export or re-export NVIDIA Licensed Software, technology and related documentation, directly or indirectly, (i) to any end-user whom you know or have reason to know will utilize them in the design, development or production of nuclear, chemical or biological weapons, or rocket systems, space launch vehicles, and sounding rockets, or unmanned air vehicle systems; (ii) to any end-user who has been prohibited from participating in U.S. export transactions by any federal agency of the U.S. government; or (iii) to any countries that are subject to U.S. export restrictions (currently including, but not necessarily limited to, Cuba, Iran, North Korea, Sudan, and Syria and the Region of Crimea).

8.11 General. This Agreement constitutes the entire agreement of the parties with respect to the subject matter hereto and supersede all prior negotiations, conversations, or discussions between the parties relating to the subject matter hereto, oral or written, and all past dealing or industry custom. Any notice delivered by NVIDIA to you under this Agreement will be delivered via mail, email or fax. Any additional and/or conflicting terms and conditions on purchase order(s) or any other documents issued by you are null, void, and invalid. This Agreement and the rights and obligations hereunder may not be assigned by you, in whole or in part, including by merger, consolidation, dissolution, operation of law, or any other manner, without written consent of NVIDIA, and any purported assignment in violation of this provision shall be void and of no effect. Each party acknowledges and agrees that the other is an independent contractor in the performance of this Agreement, and each is solely responsible for all of its employees, agents, contractors, and labor costs and expenses arising in connection therewith. This Agreement will be governed by and construed under the laws of the State of Delaware and the United States without regard to the conflicts of law provisions thereof and without regard to the United Nations Convention on Contracts for the International Sale of Goods. The parties consent to the personal jurisdiction of the federal and state courts located in Santa Clara County, California. If one or more provisions of this Agreement are held to be unenforceable under applicable law, such provision shall be excluded from this Agreement and the balance of this Agreement shall be interpreted as if such provision were so excluded and shall be enforceable in accordance with its terms. Any amendment or waiver under this Agreement must be in writing and signed by representatives of both parties.

GPUDetect

https://github.com/GameTechDev/gpudetect

Apache License

Version 2.0, January 2004

http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

  1. Definitions.

“License” shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

“Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

“Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License.

“Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

“Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

“Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

“Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

“Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.”

“Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

You must give any other recipients of the Work or Derivative Works a copy of this License; and

You must cause any modified files to carry prominent notices stating that You changed the files; and

You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work

To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.

Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Sound files

https://freesound.org/people/paep3nguin/sounds/388046/ https://freesound.org/people/paep3nguin/sounds/388047/

CC0 1.0 Universal
https://creativecommons.org/publicdomain/zero/1.0/

CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN “AS-IS” BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. Statement of Purpose The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an “owner”) of an original work of authorship and/or a database (each, a “Work”).

Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works (“Commons”) that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.

For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the “Affirmer”), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.

  1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights (“Copyright and Related Rights”). Copyright and Related Rights include, but are not limited to, the following:

the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; moral rights retained by the original author(s) and/or performer(s); publicity and privacy rights pertaining to a person’s image or likeness depicted in a Work; rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; rights protecting the extraction, dissemination, use and reuse of data in a Work; database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “Waiver”). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer’s heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer’s express Statement of Purpose.

  1. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer’s express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer’s Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “License”). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer’s express Statement of Purpose.
  2. Limitations and Disclaimers.

No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person’s Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.