You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Download the CEF distribution and extract it to a local folder (e.g. C:\cef_133): https://cef-builds.spotifycdn.com/index.html
32
-
33
-
- Most recently tested release is version 136
34
-
35
-
- Proximal versions will most likely be compatible, but are not officially supported.
36
-
37
-
- The "Minimal Distribution" is sufficient.
38
-
39
-
2. Build 64-bit Debug and Release configurations (replace "CefDir" with the full path to the directory you downloaded into):
28
+
The bootstrap script:
40
29
41
-
```bat
42
-
> cmake -G "Visual Studio 17" -A x64 -DUSE_SANDBOX=OFF -S CefDir -B CefDir\build
43
-
> cmake --build CefDir\build --config Debug
44
-
> cmake --build CefDir\build --config Release
45
-
```
30
+
- Restores the locked Chromium Embedded Framework (CEF) payload.
31
+
- Pulls the pinned auxiliary test data.
32
+
- Installs and builds the AppCef web UI.
46
33
47
-
3. Copy the required build outputs into AppCef by running the following:
34
+
See the detailed guides for [CEF lock management](IntelPresentMon/AppCef/ceflock.md), [AppCef web UI setup](IntelPresentMon/AppCef/webui.md), and [auxiliary test data](Tests/auxdata.md).
4. You can now delete the local cef directory if you wish.
54
-
55
-
3. Download and build the web asset dependencies via NPM. This only needs to be run once on fresh clone, or after new packages are added:
56
-
57
-
```bat
58
-
> pushd IntelPresentMon\AppCef\ipm-ui-vue
59
-
> npm ci
60
-
> npm run build
61
-
> popd
62
-
```
63
-
64
-
Note: instead of using the production build as described above, you can use a development process with a local server with hotloading support. To do this, use `npm run dev` instead, and use the `--ui-option url "http://localhost:5173/"` command line argument when running the *PresentMon Capture Application*. This causes the app to load web content from localhost rather than the files in ipm-ui-vue/.
65
-
66
-
4. Create and install a trusted test certificate. This is only required for the Release build. Open a command shell as administrator and run the following:
36
+
2. Create and install a trusted test certificate. This is only required for the Release build. Open a command shell as administrator and run the following:
67
37
68
38
```bat
69
39
> makecert -r -pe -n "CN=Test Certificate - For Internal Use Only" -ss PrivateCertStore testcert.cer
@@ -80,13 +50,21 @@ Build `PresentMon.sln` in Visual Studio or msbuild. e.g.:
Intel PresentMon is the UI application, `PresentMon.exe`.
56
+
57
+
For Debug builds, the easiest IDE workflow is to set `Client/KernelProcess` as the startup project and launch `PresentMon.exe` with the service running as a child process:
- PresentMon Service Command Line Interface: `build\Release\PresentMonCli.exe`
63
+
For Release builds, either move the full Release output payload to a secure directory such as "Program Files" or "System32", or disable the secure directory check for local development. You cannot run release builds from the IDE typically. The installer is often the easier path for Release validation:
@@ -104,34 +82,26 @@ When you are finished, stop and remove the service with:
104
82
> sc.exe delete PresentMonService
105
83
```
106
84
107
-
### PresentMon Capture Application
85
+
### PresentMon Standalone Console
108
86
109
-
You must run the PresentMon Capture Application from its directory, with the *PresentMon Service* already running. e.g.:
87
+
The standalone console application is `PresentMon-dev-x64.exe`:
110
88
111
89
```bat
112
-
> cd build\Debug
113
-
> PresentMon.exe
90
+
> build\Release\PresentMon-dev-x64.exe
114
91
```
115
92
116
-
Further, for the Release build, the application must be run from a secure location (e.g. "Program Files" or "System32") so it will need to be copied there first. The Release build also cannot be started from Visual Studio, irregardless of whether the debugger is attached, and even if VS is running with admin privilege.
117
93
118
94
## Troubleshooting
119
95
120
-
- If you are seeing vcpkg errors when updating to a new version of PresentMon (e.g., "error: while checking out baseline from commit...") then try updating or removing and re-adding vcpkg:
96
+
- If you are seeing vcpkg errors when updating to a new version of PresentMon (e.g., "error: while checking out baseline from commit...") then try updating your vcpkg checkout.
97
+
98
+
- Make sure vcpkg is using the same Visual Studio installation as the solution build. If needed, set `VCPKG_VISUAL_STUDIO_PATH` before running vcpkg.
0 commit comments