- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is it somehow possible to use HW acceleration via the MSDK when the Intel HD 2000/3000 GPUisn't the primary GPU?
From the documentation it's implied that you cancall MFXInit() with MFX_IMPL_HARDWARE_XXX.
The MFXInit function returns MFX_ERR_UNSUPPORTED.
Test platform:
* Window 7 Ultimate 64 bit
* Latest Intel GPU driver (2509) from Sep. 9
* 64 bit and 32 bit versions of the SDK (3.0 Beta 4 and 2.0 gold)
From the documentation it's implied that you cancall MFXInit() with MFX_IMPL_HARDWARE_XXX.
The MFXInit function returns MFX_ERR_UNSUPPORTED.
Test platform:
* Window 7 Ultimate 64 bit
* Latest Intel GPU driver (2509) from Sep. 9
* 64 bit and 32 bit versions of the SDK (3.0 Beta 4 and 2.0 gold)
Link Copied
9 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Eric,
This feature is only supported for systems with switchable graphics. More details can be found here:
http://www.intel.com/support/graphics/sb/CS-031103.htm
Details about how to set this up can be very system specific. We're hoping to add some clarifications to the documentation in the future.
Regards,
Jeff
This feature is only supported for systems with switchable graphics. More details can be found here:
http://www.intel.com/support/graphics/sb/CS-031103.htm
Details about how to set this up can be very system specific. We're hoping to add some clarifications to the documentation in the future.
Regards,
Jeff
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the answer.But I'm looking for a more general purpose solution.
Is it technically possible to utilize both GPUs in the same process?
If not, is it it a driver limitation or an OS limitation?
A good example for such use would be decoding with QuickSync and doing complex custom post processing using CUDA/OpenCL on a discrete (powerful)GPU?
This would be the best of both worlds.
The aboveshould bepossible with 2 processes (Lucid Virtu installed):
Process 1 (uses Intel GPU): decode video -> copy frames/meta data to shared system memory
Process 2 (uses Nvidia/AMD GPU): read frames from shared memory and process them via CUDA/OpenCL.
Is it technically possible to utilize both GPUs in the same process?
If not, is it it a driver limitation or an OS limitation?
A good example for such use would be decoding with QuickSync and doing complex custom post processing using CUDA/OpenCL on a discrete (powerful)GPU?
This would be the best of both worlds.
The aboveshould bepossible with 2 processes (Lucid Virtu installed):
Process 1 (uses Intel GPU): decode video -> copy frames/meta data to shared system memory
Process 2 (uses Nvidia/AMD GPU): read frames from shared memory and process them via CUDA/OpenCL.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In theory, this could be possible. However, this type of configuration is not validated or supported for Media SDK.
We will post here and elsewhereas supportedplatforms or usage scenarios are added, so stay tuned.
Jeff
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I don't know if it helps, but I use the HD 2000 as secondary GPU with MFX_IMPL_HARDWARE_ANY. The first GPU is from NVidia. You have to activate the iGPU in the Bios and plug in a display or a VGA-Dummy.
I don't know if it helps, but I use the HD 2000 as secondary GPU with MFX_IMPL_HARDWARE_ANY. The first GPU is from NVidia. You have to activate the iGPU in the Bios and plug in a display or a VGA-Dummy.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting superrudi
Hi,
I don't know if it helps, but I use the HD 2000 as secondary GPU with MFX_IMPL_HARDWARE_ANY. The first GPU is from NVidia. You have to activate the iGPU in the Bios and plug in a display or a VGA-Dummy.
I don't know if it helps, but I use the HD 2000 as secondary GPU with MFX_IMPL_HARDWARE_ANY. The first GPU is from NVidia. You have to activate the iGPU in the Bios and plug in a display or a VGA-Dummy.
Does anyone know if there's a way to do it programmatically?
Seems that Remote Desktop creates a virtual screen and MSDK works on such a screen. This way the decoder can work on the D3D adapter on the virtual screen (Intel) and the renderer can work on the real screen - connected to the display.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can find the VGA-Dummy here: http://soerennielsen.dk/mod/VGAdummy/index_en.php
I have switched from RemoteDesktop to UltraVNC but at the moment it is very unstable.
I have switched from RemoteDesktop to UltraVNC but at the moment it is very unstable.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Found a working workaround without cables!
* Connect display to dGPU (Nvidia/AMD).
* Right click on desktop and select Screen Resolutions.
* Click the Detect button. A few disconnected screens will appear ("Another Display not Connected").
* Select a disconnected screen that belongs to the Intel GPU (e.g. VGA connection).
* In the Multiple Displays combo box, select Extend Desktop to this display.
* Position the disconnect display to a corner of the primary display so mouse boundaries are left intact (top left corner is best).
* Click OK. This setup survives reboots so it a one time thing.
Now DirectX will enumerate the disconned display and enable video accelration to work on it.
Within MSDK based APP, initialize the session with the argument MFX_IMPL_AUTO_ANY.
A returned implementation value will probably be MFX_IMPL_HARDWARE2 so always compare against != MFX_IMPL_SOFTWARE to check for HW acceleration instead of checking == MFX_IMPL_HARDWARE.
This allows using both Intel and discrete GPUs (e.g. Intel decoder and dGPU renderer).
I used it within my ffdshow with Intel QuickSync Decoder:
Passing D3D surfaces between devices is something I didn't try. I copied the D3D surfaces to system memory to get this work. My code has the fastest copy method available for this task which uses a dedicated SSE4.1 instruction.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sorry for necro-ing this post, but how would this work on windows 10 x64 ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Should work the same as Windows 8.1 as long as BIOS enables the iGPU.
I do not longer develop with the MSDK so I can't say that it actually works or not.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page