Jump to content

Install Error PaintDotNet.Direct2D.NoHardwareDeviceException (0x8899000B)


James_Mont

Recommended Posts

Hi, i never had a single issue with Paint.net in last 2 years, but after the last W10 update (the anniversary one) my Paint.net didn't work anymore.
I tried to reinstall and this error pop up after the file extraction.
I tried to reinstall video card drivers or use compatibility settings but nothing happens.
Seems it can't recognize my video card or something similar.

Here the complete error text.

Spoiler

Le informazioni su come richiamare il debug JIT (Just-In-Time) anziché questa finestra
sono riportate in fondo al messaggio.

************** Testo dell'eccezione **************
PaintDotNet.Direct2D.NoHardwareDeviceException (0x8899000B): ..\Direct2D\D2DFactory.cpp (95) : hr = m_pFactory->CreateDCRenderTarget( &NativeConversions::ToNative(renderTargetProperties), &spDCRenderTarget); (PaintDotNet.Controls.PdnBanner)
   in PaintDotNet.Interop.InteropErrorInfo.ThrowIfError() in D:\src\pdn\src\Base\Interop\InteropErrorInfo.cs:riga 89
   in PaintDotNet.SystemLayer.Native.x64.NativeUtilities.ThrowOnErrorImpl(Int32 hr, SByte* szHr, IUnknown* pFxErrorInfo)
   in PaintDotNet.SystemLayer.Native.x64.Direct2D.D2DFactory.CreateDCRenderTarget(RenderTargetProperties renderTargetProperties)
   in PaintDotNet.Direct2D.Proxies.Direct2DFactoryProxy.CreateDCRenderTarget(RenderTargetProperties renderTargetProps) in D:\src\pdn\src\Base\Direct2D\Proxies\Direct2DFactoryProxy.cs:riga 75
   in PaintDotNet.Controls.Direct2DControlHandler.RecreateRenderTarget(Boolean invalidateControl) in D:\src\pdn\src\Framework\Controls\Direct2DControlHandler.cs:riga 426
   in PaintDotNet.Controls.Direct2DControlHandler.RelayGdiPaintImpl(GdiPaintContext ctx) in D:\src\pdn\src\Framework\Controls\Direct2DControlHandler.cs:riga 500
   in PaintDotNet.Controls.Direct2DControlHandler.RelayGdiPaint(GdiPaintContext ctx) in D:\src\pdn\src\Framework\Controls\Direct2DControlHandler.cs:riga 483
   in PaintDotNet.Controls.Direct2DControl.OnGdiPaint(GdiPaintContext ctx) in D:\src\pdn\src\Framework\Controls\Direct2DControl.cs:riga 347
   in PaintDotNet.SystemLayer.GdiPaintHandler.OnWmPaint(Message& m) in D:\src\pdn\src\SystemLayer\GdiPaintHandler.cs:riga 184
   in PaintDotNet.SystemLayer.GdiPaintHandler.RelayWndProc(Message& m) in D:\src\pdn\src\SystemLayer\GdiPaintHandler.cs:riga 233
   in PaintDotNet.SystemLayer.GdiPaintControl.WndProc(Message& m) in D:\src\pdn\src\SystemLayer\GdiPaintControl.cs:riga 130
   in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Assembly caricati **************
mscorlib
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2046.0 built by: NET47REL1
    Base di codice: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
SetupFrontEnd
    Versione assembly: 4.16.6315.38530
    Versione Win32: 4.16.6315.38530
    Base di codice: file:///C:/Users/monte/AppData/Local/Temp/PdnSetup/SetupFrontEnd.exe
----------------------------------------
PaintDotNet.Core
    Versione assembly: 4.16.6315.38530
    Versione Win32: 4.16.6315.38530
    Base di codice: file:///C:/Users/monte/AppData/Local/Temp/PdnSetup/PaintDotNet.Core.DLL
----------------------------------------
System.Windows.Forms
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2046.0 built by: NET47REL1
    Base di codice: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2046.0 built by: NET47REL1
    Base di codice: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2046.0 built by: NET47REL1
    Base di codice: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
PaintDotNet.Base
    Versione assembly: 4.16.6315.38530
    Versione Win32: 4.16.6315.38530
    Base di codice: file:///C:/Users/monte/AppData/Local/Temp/PdnSetup/PaintDotNet.Base.DLL
----------------------------------------
PaintDotNet.SystemLayer
    Versione assembly: 4.16.6315.38530
    Versione Win32: 4.16.6315.38530
    Base di codice: file:///C:/Users/monte/AppData/Local/Temp/PdnSetup/PaintDotNet.SystemLayer.DLL
----------------------------------------
PaintDotNet.Framework
    Versione assembly: 4.16.6315.38530
    Versione Win32: 4.16.6315.38530
    Base di codice: file:///C:/Users/monte/AppData/Local/Temp/PdnSetup/PaintDotNet.Framework.DLL
----------------------------------------
PaintDotNet
    Versione assembly: 4.16.6315.38530
    Versione Win32: 4.16.6315.38530
    Base di codice: file:///C:/Users/monte/AppData/Local/Temp/PdnSetup/PaintDotNet.EXE
----------------------------------------
PaintDotNet.Resources
    Versione assembly: 4.16.6315.38530
    Versione Win32: 4.16.6315.38530
    Base di codice: file:///C:/Users/monte/AppData/Local/Temp/PdnSetup/PaintDotNet.Resources.DLL
----------------------------------------
WindowsBase
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2046.0 built by: NET47REL1
    Base di codice: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_4.0.0.0__31bf3856ad364e35/WindowsBase.dll
----------------------------------------
System.Core
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2046.0 built by: NET47REL1
    Base di codice: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
PaintDotNet.SystemLayer.Native.x64
    Versione assembly: 4.16.6315.38530
    Versione Win32: 4.16.6315.38530
    Base di codice: file:///C:/Users/monte/AppData/Local/Temp/PdnSetup/x64/PaintDotNet.SystemLayer.Native.x64.DLL
----------------------------------------
System.Configuration
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2046.0 built by: NET47REL1
    Base di codice: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2046.0 built by: NET47REL1
    Base di codice: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Windows.Forms.resources
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2046.0 built by: NET47REL1
    Base di codice: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_it_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2046.0 built by: NET47REL1
    Base di codice: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_it_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------

************** Debug JIT **************
Per abilitare il debug JIT, è necessario impostare il valore
jitDebugging nella sezione system.windows.forms del file di configurazione
dell'applicazione o del computer (machine.config).
L'applicazione inoltre deve essere compilata con il debug
abilitato.

Ad esempio:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Quando il debug JIT è abilitato, tutte le eccezioni non gestite
vengono inviate al debugger JIT registrato nel computer,
anziché essere gestite da questa finestra di dialogo.
 


Anyone have a solution ?

Additional information:
-Windows 10 Home Build 15063.138
-Gpu:Nvidia GT540M Driver: 381.65

PaintDotNet Error.txt

Link to comment
Share on other sites

I've been getting a few reports of this "NoHardwareDeviceException" error. The weird thing is that it's happening on code paths which are using Direct2D's software rendering facilities.

 

I honestly have no idea right now, but I'll keep gathering the crash logs to build a pile of evidence and I'll see what I can do from there.

 

 

MODERATOR EDIT:

The issue can be solved by changing this setting:

NVIDIA control panel. → 3D Settings Management. → Selected graphics processor. Change to: "Auto-select

Default.png.447d4f6f7539c977c48f17e25b2c

Edited by toe_head2001
Add solution

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

On 21/4/2017 at 7:03 PM, Rick Brewster said:

I've been getting a few reports of this "NoHardwareDeviceException" error. The weird thing is that it's happening on code paths which are using Direct2D's software rendering facilities.

 

I honestly have no idea right now, but I'll keep gathering the crash logs to build a pile of evidence and I'll see what I can do from there.

Thx for the answer !
I hope u'll find a solution as far as possible !
I'll wait for the next update ;)

Regards James

Link to comment
Share on other sites

I ran into the same error after a clean install of Windows 10 and upgrade to Creators Update.

 

Some other problems led me to believe there was a video issue.

 

Error was on a Dell Precision M4600 laptop with Intel HD 3000 and NVidia Quadro 2000M w/Optimus switchable graphics.  NVidia driver 377.11

 

In the NVidia Control Panel --> Set PhysX configuration screen 

     Changed Select a PhysX processor to Auto-select.  (was set to Quadro 2000M)

 

Problem resolved.

 

 

Link to comment
Share on other sites

On 24/4/2017 at 8:48 AM, Danialr said:

I ran into the same error after a clean install of Windows 10 and upgrade to Creators Update.

 

Some other problems led me to believe there was a video issue.

 

Error was on a Dell Precision M4600 laptop with Intel HD 3000 and NVidia Quadro 2000M w/Optimus switchable graphics.  NVidia driver 377.11

 

In the NVidia Control Panel --> Set PhysX configuration screen 

     Changed Select a PhysX processor to Auto-select.  (was set to Quadro 2000M)

 

Problem resolved.

 

 

I tried with every physics settings (it was already on auto-select) but won't work for me :/

Link to comment
Share on other sites

SOLVED:
I reinstalled the old 368.39 nvidia drivers and now all magically works !

Edited by James_Mont
Link to comment
Share on other sites

  • 5 weeks later...

Nope, didn't work.

Tried to install recommended ver. 368.39.

It started to check system comparability and gave me the message "This NVidia graphics driver is not compatible with this version of windows".

Also made sure  NVidia Control Panel --> Set PhysX configuration screen was set to "Auto-select".

I'm running Lenovo W520 w/Nvidia Quadro 1000M, 64 bit Windows 10 Creator ver. 1703

Edited by JNP
Link to comment
Share on other sites

  • 2 weeks later...

Same issue here.

 

Interestingly, I'm also on a W520 with a Quadro 2000m with Win10 Creators Update.

 

Did a completely clean install of Windows to see if that would help. Nothing. 

 

Any hope of a fix for this? 

 

Cheers,

A

Link to comment
Share on other sites

  • 3 weeks later...
On 17/6/2017 at 6:48 PM, Rick Brewster said:

Did you install the latest drivers for your Quadro 2000m? From nvidia.com?

any news ?
rolling back the drivers no longer works, idk why...
 

Link to comment
Share on other sites

I received this e-mail about this, perhaps someone can give another verification if this works?

 

After upgrading to Windows 10 Creator (over the Education version), Paint.Net stopped working.
I tried many things amongst removing all traces of Paint.Net and PaintDotNet from the registry.
I ended up with no Paint.Net at all. Installation of version 4.0.16 halted on some 'unexpected exception'.
This looks like a message from deep throat MS .Net Framework. I checked the registry and found version 4.7 (460798).

I read numerous mails, questions and post. Some mentioned a NVIDIA issue.
My configuration: a Lenovo W520 with also a NVDIA Quadro 2000M.

==> My work around (after many hours):
- Deactivate the NVIDIA adapter
- Install Paint.Net
- Reactivate NVIDIA
- Run Paint on the Integrated Graphics (Intel HD Graphics 3000)
Hope this can be of help for some of the 'tormented' Paint.Net-lovers.

Who is when going to give a thorough solution and PUBLISH it loud and clear?

Kind regards, Frans

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

I'm betting that telling the NVIDIA driver to "Run this app on the Integrated Graphs" is the key. This can be done via right-clicking on the Paint.NET shortcut, or through the NVIDIA control panel.

  • Upvote 1

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

  • 5 weeks later...

Success!
NVIDIA control panel. -> 3d settings management. -> selected graphics processor.
Select the drop-down menu "Auto-Select".
Thanks for the tips!

Link to comment
Share on other sites

  • 1 month later...
  • 3 months later...
On 11/07/2017 at 10:17 PM, Rick Brewster said:

I'm betting that telling the NVIDIA driver to "Run this app on the Integrated Graphs" is the key. This can be done via right-clicking on the Paint.NET shortcut, or through the NVIDIA control panel.

 

 

Yes, I tried this and it finally actually installed OK. Thanks. :)

Link to comment
Share on other sites

  • 3 weeks later...

I had the same problem.

Just change settings in Nvidia control panel - GPU Auto.

After changes program must install Paint with intergated Intel GPU.

Edited by kilopio
Link to comment
Share on other sites

  • 7 months later...

I'm still seeing people reporting this issue, so I've ordered a laptop off of eBay, a Dell 4600M with a Core i7 and Quadro 2000M. Hopefully that'll help me get to the bottom of this.

 

My hypothesis ... the NVIDIA driver and its "Optimus" technology seems to muck with the way (and particularly with the order) that graphics devices are reported to DXGI (DirectX Graphics Infrastructure), and thus Direct3D, and thus Direct2D. There's a little footnote in the documentation for IDXGIFactory1 which states that if the graphics devices change then the IsCurrent method will return false and you need to release and re-create the IDXGIFactory1 object. My hypothesis is that the NVIDIA driver is shuffling the ordering around for whatever reasons, Direct2D is not paying attention to this, and it's using the old IDXGIFactory1 object. Direct2D then thinks it's initializing a software device (e.g. WARP) but it's really initializing a hardware device, and an error is returned.

 

I have two ideas for solutions, but I need some hands-on time with a device that is experiencing this problem. My first idea is that if a NoHardwareDeviceException is encountered then the Direct2D factory needs to be released and recreated. Another idea is that I'll have to use a different mechanism for instantiating a software rendering device -- that is, to create the DXGI device, and then create the Direct2D device on top of that. This may reduce performance but it's preferable to crashing.

  • Like 1

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Alright, so the eBay buy-it-now laptop came with a dubious copy of Windows 10 Pro (I'm pretty sure "KMS-R@1n.exe" is a fake hacked Key Management / Volume Licensing Server), which I then opened up and replaced the HDD with an SSD and reinstalled a legit copy of Windows 10 v1709 ............

 

.... I have a repro! I'm really curious to see why on earth this is happening ...

 

nohwdev.jpg

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

This is definitely a bug in some interaction between the NVIDIA Optimus driver and Direct3D.

 

If the NVIDIA control panel is set to prefer "High-performance NVIDIA processor" then it is not possible to create a WARP device (the software renderer) via a call to D3D11CreateDevice when using D3D_DRIVER_TYPE_WARP. It just returns DXGI_ERROR_UNSUPPORTED.

 

However, if you get WARP's IDXGIAdapter straight from DXGI itself, you can then use that in a call to D3D11CreateDevice along with D3D_DRIVER_TYPE_UNKNOWN... (the method takes either a specific D3D_DRIVER_TYPE or an IDXGIAdapter along with D3D_DRIVER_TYPE_UNKNOWN)

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

  • 11 months later...

sorry to necro this thread but i'm also still getting this error on a w520 with quadro 2000m and core i7. i tried the workaround mozzis used for running the installer from the command line, though i couldnt find any "PaintDotNetMSI" folder to continue with it. wondering if there was ever any progress on this issue? i've used paint dot net on my desktop for quite awhile and love it. thanks in advance and sorry again for the necro!

Link to comment
Share on other sites

4 minutes ago, ink0r said:

sorry to necro this thread but i'm also still getting this error on a w520 with quadro 2000m and core i7. i tried the workaround mozzis used for running the installer from the command line, though i couldnt find any "PaintDotNetMSI" folder to continue with it. wondering if there was ever any progress on this issue? i've used paint dot net on my desktop for quite awhile and love it. thanks in advance and sorry again for the necro!

 

The solution is listed above: https://forums.getpaint.net/topic/111269-install-error-paintdotnetdirect2dnohardwaredeviceexception-0x8899000b/?do=findComment&comment=534214

 

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...