Cameron Gutman
8392bdc98f
feat(capture/windows): hook APIs to avoid output reparenting that breaks DDA ( #3530 )
...
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
localize / Update Localization (push) Waiting to run
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
* Revert "feat(ddprobe): allow to manually specify gpu preference (#3521 )"
This reverts commit 6a233cbcbf .
* Keep display revert delay input type change from 6a233cbcb
* Remove ddprobe
* feat(capture/windows): hook APIs to avoid output reparenting that breaks DDA
2025-01-12 17:11:03 -06:00
Lukas Senionis
6a233cbcbf
feat(ddprobe): allow to manually specify gpu preference ( #3521 )
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
localize / Update Localization (push) Has been cancelled
Build GH-Pages / prep (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
Build GH-Pages / call-jekyll-build (push) Has been cancelled
2025-01-08 18:44:11 -05:00
Lukas Senionis
1543f584ab
feat(display)!: Add libdisplaydevice dependency and output name mapping ( #2894 )
2024-12-11 14:17:44 -05:00
Cameron Gutman
5b435fd0c1
fix(display): fix logic to remember ddprobe already ran ( #3293 )
2024-10-13 18:04:52 -05:00
Lukas Senionis
e90b71ce62
fix(boost)!: migrate boost to 1.86 ( #3256 )
2024-10-03 21:42:16 -04:00
Chase Payne
fceda35d44
fix: automatic selection for hybrid GPU and IDDSampleDriver users ( #3002 )
...
* Fix frame capture and output duplication for dual GPU setups and virtual displays
- Added `test_frame_capture` function to verify if frames are successfully captured and not empty.
- Fixes issues with virtual displays such as IDDSampleDriver when using more than one GPU.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com >
Co-authored-by: Cameron Gutman <aicommander@gmail.com >
2024-09-29 20:32:34 +00:00
ns6089
adf068e44e
fix(windows): properly break on the first matching DXGI output ( #2962 )
2024-08-04 22:40:28 +00:00
ns6089
18e7dfb190
Refactor periodic loggers and limit batch size for small packets ( #2835 )
...
* Refactor periodic loggers
* Limit network batch size also by packet count
Previously it was limited only by size, and exceeding 64 packets in a
single batch is asking for problems.
2024-07-13 20:55:03 +00:00
ns6089
037c61dc99
Implement basic network flow control ( #2803 )
...
Co-authored-by: Cameron Gutman <aicommander@gmail.com >
2024-07-11 00:03:16 +00:00
ReenigneArcher
1dd4b68e1c
docs(src): add examples alias and general cleanup ( #2763 )
2024-06-28 08:34:14 -04:00
Tejas Rao
287ac4c0fb
feat(win): new capture method, Windows.Graphics.Capture ( #2580 )
2024-05-27 18:16:14 +00:00
Gilles Schintgen
fcd4c07bd0
Improve frametiming for linux capture ( #2333 )
2024-04-12 19:36:56 -04:00
ReenigneArcher
2af0ce364d
Revert "Add capture using WinRT Windows.Graphics.Capture API." ( #2320 )
2024-03-29 12:43:44 -04:00
Tejas Rao
8f1692a5ac
Add capture using WinRT Windows.Graphics.Capture API. ( #2149 )
...
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com >
2024-03-27 23:47:26 -04:00
Cameron Gutman
a0d5973799
Avoid display switching unexpectedly when the UAC secure desktop appears
2024-02-27 23:12:31 -06:00
Cameron Gutman
69a3edd9b0
Use Win32 APIs for UTF-16<->UTF-8 conversion
...
std::codecvt is deprecated since C++17 and broken for some characters/locales
2024-02-12 18:43:44 -06:00
ReenigneArcher
8689469ea8
refactor(main): move remaining entry related code ( #2127 )
2024-02-11 14:15:45 -05:00
ReenigneArcher
0aa4f06c39
refactor(logging): separate logging from main ( #2110 )
2024-02-07 09:59:24 -05:00
Cameron Gutman
ff8c8ce3ab
Skip encoder reprobing if no GPU changes have occurred
2024-02-06 20:00:24 -06:00
Cameron Gutman
404b434754
Fix starvation of encoder thread when not receiving new captured frames
...
This often happens when switching to the UAC secure desktop.
2024-01-18 19:14:45 -06:00
Cameron Gutman
f64712f277
Always reset the thread desktop before calling DuplicateOutput()
...
Otherwise capture will fail if the thread desktop is different than the current input desktop (ex: UAC secure desktop is active)
2024-01-18 19:14:45 -06:00
ns6089
e98d7577bb
Support capturing rotated displays on Windows ( #1602 )
2023-09-13 10:34:26 -04:00
ns6089
646a569210
nvenc: add option to disable realtime hags
2023-09-07 18:03:19 -05:00
ns6089
dfd6eaefcb
Don't use rounded refresh rate in info log
2023-09-07 18:03:19 -05:00
ns6089
7662fe8616
Don't accumulate errors in capture frame pacing
2023-08-27 13:13:43 -05:00
ns6089
b494d06f89
Adjust capture rate to better match display
2023-08-27 13:13:43 -05:00
ns6089
6683ea2ac1
Rework capture sleeps for better frame stability
2023-08-27 13:13:43 -05:00
ns6089
42a77b247e
Release duplication frame after snapshot
2023-08-27 13:13:43 -05:00
ns6089
730fce4b1c
Move client frame interval to local variable
2023-08-27 13:13:43 -05:00
ns6089
d81e2cecaa
Add high_precision_sleep() method
2023-08-27 13:13:43 -05:00
ns6089
8dc51a21df
Remove DwmFlush()
2023-08-27 13:13:43 -05:00
Cameron Gutman
190c9b4216
Move AMF version check into display_vram_t to avoid blocking software encoding
2023-08-19 18:36:48 -05:00
Cameron Gutman
4186d83027
Disable HDR encoding for AMF versions below 1.4.23
2023-08-11 18:27:39 -05:00
ns6089
6dfe56518c
Decrease gpu scheduling priority for NVIDIA
...
Fixes #1031
2023-07-09 18:50:10 -05:00
Cameron Gutman
33dafbc801
Add warning when Desktop Duplication API masks protected content from capture
2023-05-14 14:28:03 -05:00
ReenigneArcher
4ca6dc6c8e
docs: update file level doxygen blocks ( #1258 )
2023-05-07 18:12:39 -04:00
ReenigneArcher
979f7f4e60
docs: improvements to source code documentation ( #1236 )
2023-05-07 15:01:44 -04:00
Cameron Gutman
c8d4fd9f69
Keep/turn the display on during streaming
...
IDXGIDuplication::DuplicateOutput() may fail with 0x80070005 if the display is off and cause streaming to fail
2023-05-03 00:07:01 -05:00
ns6089
eed27d3c0a
Decrease normal capture buffer to single image
2023-04-11 18:17:48 -05:00
Cameron Gutman
f04d5e12de
Combine the separate HDR and SDR capture formats
...
Since we support multi-encoding from a single display context, we have
to ensure our capture format allows for HDR color even if the initial
encoding session is SDR.
2023-04-06 22:37:05 -05:00
ReenigneArcher
21eb4eb6dd
clang: adjust formatting rules ( #1015 )
2023-03-27 21:45:29 -04:00
Cameron Gutman
bcd5188ac5
Implement HDR support for Windows ( #825 )
2023-01-25 19:48:55 -06:00
Cameron Gutman
9181028bcf
HDR prep work ( #808 )
2023-01-23 20:54:08 -06:00
Cameron Gutman
da390c37db
Improve reliability of hybrid graphics detection ( #801 )
2023-01-20 22:12:16 -06:00
Cameron Gutman
49fc618682
Add support for hybrid graphics systems (NVIDIA Optimus) ( #782 )
2023-01-17 23:55:44 -06:00
Cameron Gutman
7f6383833c
Replace frame capture busy loop with waitable timer ( #778 )
2023-01-17 09:09:15 -05:00
Cameron Gutman
0439d7a83a
Use separate encoding and capture devices to enable parallel encoding and capture ( #668 )
2023-01-02 15:56:58 -05:00
Cameron Gutman
76ffa2a0b5
Fix unexpected format switching in display_vram ( #667 )
2023-01-02 12:11:45 -05:00
Cameron Gutman
0c6d0edacf
Dynamic capture format selection (IDXGIOutput5) ( #654 )
...
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com >
2022-12-31 17:38:29 -05:00
Cameron Gutman
bb092c0723
Fix streaming with non-B8G8R8A8 desktop mode ( #609 )
2022-12-22 20:48:31 -05:00