Comments (5)
Added the wiki article and a mention in the README.
from d3dshot.
I have this same problem as well, it would be great if you could help us to find a workaround. Thank you very much.
from d3dshot.
Does your computer (or laptop) have both integrated and dedicated GPUs? If so, then maybe it's related to the following issue: Error generated when Desktop Duplication API-capable application is run against discrete GPU.
Basically, the Desktop Duplication API doesn't support being run against the dedicated GPU in this case. Thus, the function DuplicateOutput fails and returns the error DXGI_ERROR_UNSUPPORTED (as we can see in the log you posted).
This was exactly my case and all I had to do was to force the python application to use the integrated GPU.
I'd suggest @nbrochu to document this since it's a quite shady issue and makes d3dshot unusable!
from d3dshot.
@Gabriel-Dev Thanks for making me aware of the use case of using it on laptops with hybrid GPUs (where I assume rendering gets switched from one to the other for power management purposes). I personally couldn't have anticipated this problem as I don't have a Windows laptop but it's very clear from what you linked that it runs into an issue on hybrid GPU systems.
To clarify for anyone else reading, it only causes an issue on laptops. I have multiple displays attached on my desktop, some on my discrete GPU, others on my integrated graphics and D3DShot works fine capturing any of them.
I'm really curious about the output of d.displays
on laptop like these. If someone could help me out with that one that would be great.
I'd love to add a note to the documentation but I need to know what I'm dealing with first. Is the issue resolved by doing something in D3DShot (e.g. Picking a display set on the integrated graphics) or do you have do something outside to force Python to use that display adapter?
Also, not sure that this is necessarily the issue @hujiangchuan encountered but it could be. DXGI_ERROR_UNSUPPORTED can be raised in a lot of other cases like Windows<->Python bitness mismatch for example.
from d3dshot.
Someone getting this error in the dual-gpu laptop scenario reached out to me and we managed to get D3DShot fully working. There is no code fix required. As mentioned by @Gabriel-Dev, you need to make sure your python.exe and related processes you use (ipython, jupyter etc.) are set to be rendered exclusively on the integrated GPU. I will write a little guide for the wiki tomorrow and link to it from the readme in a warning to laptop users.
from d3dshot.
Related Issues (20)
- Support OpenCV Mat as a capture format HOT 2
- Code doesn't work HOT 2
- No way to delete D3DShot instance. HOT 1
- 1,000,000+ fps in screen capture HOT 2
- Slow performance HOT 3
- Support for resizing (downscaling) the output HOT 2
- It randomly raises an indexerror. HOT 1
- Create an anaconda package
- Bump pillow version for Python 3.9 support on Windows HOT 9
- Sceenshot active monitor
- Is this maintained? feature query HOT 1
- monitor resolution not detected properly HOT 2
- Errors in Virtual Machines
- Feature to wait for any change
- Does not work with games HOT 2
- Screenshot from wrong display is sometimes returned
- pip install d3dshot isn't working HOT 1
- Bug? D3Dshot continously giving lower frames when benchmarked HOT 1
- d3dshot.create() cant work HOT 1
- can't capture full screen game
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from d3dshot.