Resolving Simple-SCADA Can't Create D3D Device Errors

Karen Mitchell10 min read
HMI / SCADAOther ManufacturerTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Simple-SCADA can open to a black screen and stop with ERROR! Can't create d3d device before the Editor, Server, or Client reaches normal project operation. What the screen is telling you is specific: the graphics engine could not create its rendering device. Start at the selected renderer and display driver; do not begin with OPC tags, controller logic, or the project database.

What does the black screen identify?

The failure occurs in the graphics path during application startup. Simple-SCADA renders through DirectX or OpenGL, so it needs a display driver that correctly exposes the selected graphics interface. A virtual machine adds another layer: the guest driver talks to an emulated virtual graphics adapter, which then depends on the virtualization platform and host graphics stack.

Operator symptom Subsystem to inspect What it does not yet implicate
Black screen followed by ERROR! Can't create d3d device DirectX renderer, guest display driver, and virtual 3D support OPC address, PLC value, tag binding, or alarm configuration
Editor and Server start after selecting OpenGL The OpenGL path is usable; the DirectX path was the blocking layer The project itself was not preventing startup
Editor starts after virtual 3D support is installed The original guest driver lacked usable Direct3D support Installing another application framework was not the required correction
Settings report that they were saved but revert after reopening Write access to the settings file or security-software interference This is a separate failure from renderer capability

A missing or defective Direct3D interface can produce the same message whether the underlying cause is an incomplete guest-driver installation, disabled virtual 3D support, or a driver implementation that cannot create the requested device. Installing DirectX alone does not replace a missing functional display driver. One Windows Server installation and a VirtualBox guest still failed after a DirectX installation; changing the renderer to OpenGL allowed Editor and Server to start in that virtual machine.

Where does startup fail in the application path?

The normal startup path is application, graphics engine, selected render API, display driver, graphics adapter. In a virtual machine, the final two stages become guest additions, virtual adapter, virtualization platform, and host graphics system. The error appears before the SCADA runtime can present the project normally.

Layer Diagnostic question Deciding observation
Application Do both Editor and runtime components fail? Multiple components failing with the same display error points to their shared graphics libraries.
Renderer Is DirectX or OpenGL selected in Options.exe? If only one renderer starts, its API and driver path distinguish the failure.
Guest display driver Are the matching virtualization guest additions and 3D component installed? Successful startup after installing them identifies missing Direct3D support.
Display mode Is the session using 16-, 24-, or 32-bit color? Full-screen Simple-SCADA requires 32-bit color; 16- or 24-bit operation may work only in a window.
Project and control system Does the failure occur before the project display appears? If yes, defer OPC, controller, and tag diagnostics until the renderer starts.

The shared rendering dependency also explains why restoring graphics support for the Editor is expected to restore the other Simple-SCADA components that use the same libraries. Verify each executable separately, however, because a successful Editor launch does not prove that the Server and Client start sequence is intact.

Which supported recovery approach fits the fault?

Two configurations solved reported VirtualBox startup failures: retaining DirectX after installing the guest 3D component, or selecting OpenGL in Options.exe. The deciding factor is whether the virtual display driver provides a working Direct3D interface.

Approach Use it when Required change Observed result Limitation
Switch to OpenGL The DirectX renderer fails and OpenGL is exposed correctly by the guest driver. Change the render selection in Options.exe. Editor and Server started in a VirtualBox Windows Server 2008 32-bit guest after DirectX installation and the attempted 3D installation had not solved the problem. This bypasses the failing DirectX path; it does not repair that path.
Repair virtual Direct3D support DirectX is the intended renderer and the guest lacks the virtualization platform's 3D driver. Install the matching guest additions and their 3D component. The Editor started in a VirtualBox Windows XP SP3 guest after the 3D component was installed in safe mode. Guest additions must match the installed VirtualBox version; the documented ISO was VBoxGuestAdditions_4.3.6.iso, not a universal version for every host.
Use a tested virtualization platform The selected platform cannot expose either renderer reliably. Move the guest workload to a platform with a validated graphics path. Simple-SCADA was tested successfully on VMware. The evidence supplies no VMware product release, guest-driver version, or performance comparison.

For the fastest fault isolation in VirtualBox, try OpenGL first. It is the smaller reversible change and directly tests whether the failure is confined to DirectX. Retain OpenGL when all required components and project displays pass verification. Repair the guest Direct3D driver when DirectX is an operational requirement or when OpenGL also fails.

What should be checked before changing the renderer?

  1. Record the exact message. Diagnose this path only when the screen reports ERROR! Can't create d3d device; a missing Server.exe or a security-product block is a different startup fault.
  2. Open Options.exe and note whether the renderer is DirectX or OpenGL.
  3. Record whether the system is physical or virtual. For a virtual system, record the virtualization platform and whether its guest additions and 3D component are installed.
  4. Read the active color depth. A terminal limited to 16- or 24-bit modes cannot meet the stated 32-bit requirement for full-screen operation.
  5. Close and reopen Options.exe after any change. A saved notification is not sufficient if the selection reverts.
  6. Test the Editor before changing the project, OPC configuration, or controller. A renderer initialization failure precedes those layers.

Do not combine multiple corrections before the first retest. Changing the renderer, reinstalling drivers, and altering the project together removes the evidence needed to identify the failing layer.

How do you test the OpenGL workaround?

  1. Close the Simple-SCADA components that are displaying the error.
  2. Start Options.exe.
  3. Change the renderer from DirectX to OpenGL.
  4. Save the setting, close Options.exe, reopen it, and confirm that OpenGL remains selected.
  5. Start the Editor and open the same project that previously produced the black screen.
  6. Start Server.exe, then start the Client and confirm that the project display renders.

If OpenGL starts all three components, use that configuration unless the application has a tested requirement for DirectX. Both rendering paths are part of the graphics-engine design, and neither changes the OPC value, tag address, controller program, or alarm logic. The change selects a different driver interface for drawing the same project.

If the renderer selection reverts, correct settings-file access before judging the OpenGL test. Run Options.exe with administrator rights as a diagnostic. Security software may also block the write; use a controlled temporary test to identify that interference, then configure the required access through the site's security process.

How do you restore Direct3D in VirtualBox?

Use this path when DirectX must remain selected or when the guest has no functional virtual 3D driver. The successful Windows XP SP3 recovery installed the VirtualBox guest 3D component from the matching Guest Additions image while the guest was in safe mode.

  1. Identify the installed VirtualBox version.
  2. Obtain the Guest Additions ISO that matches that version. The reported installation used VBoxGuestAdditions_4.3.6.iso; select that file only for the corresponding VirtualBox release.
  3. Mount the ISO in the guest virtual machine.
  4. Start the Windows guest in safe mode.
  5. Run the Guest Additions installation and include the 3D acceleration component.
  6. Restart the guest normally.
  7. Open Options.exe, select DirectX, save, close, and reopen the utility to confirm persistence.
  8. Start the Editor and check whether the D3D device error has cleared.

If this procedure does not restore DirectX, do not treat a separate DirectX package installation as proof that the display stack is functional. The Windows Server 2008 cases included a 64-bit installation and a VirtualBox 32-bit guest; installing DirectX did not resolve the error, and the attempted 3D installation also did not correct the virtual-machine case. OpenGL did allow the Editor and Server to start in that guest.

Does color depth change the result?

Yes. Full-screen operation requires 32-bit color because that requirement comes from the graphics engine. Simple-SCADA may start in windowed mode on a display environment limited to 16- or 24-bit color, but that is a compatibility test, not a full-screen correction.

Display condition Expected decision Operational effect
32-bit color Proceed with DirectX or OpenGL diagnostics. Meets the stated full-screen color-depth requirement.
16- or 24-bit color Test windowed mode. Windowed startup may be possible; full-screen mode remains unavailable.
NComputing L300 terminal limited to 16 and 24 bits Use windowed mode as the available test path. The terminal cannot supply the required 32-bit full-screen mode.

The same 32-bit full-screen requirement was stated for Simple-SCADA 2. Reworking the engine for 24-bit rendering was described as substantial development, so treat display depth as a deployment constraint rather than a cosmetic setting.

Why does Options say saved but revert later?

A confirmation message only shows that the application processed the save request. If the selection resets after closing and reopening, test whether Options.exe can modify its settings file.

  1. Run Options.exe with administrator rights.
  2. Change one setting, save it, close the program, and reopen it.
  3. If the change now persists, correct the installation's file permissions so routine configuration does not depend on elevated operation.
  4. If it still reverts, perform a controlled test with antivirus or firewall interference removed.
  5. Restore protection after the test and configure the approved access rule rather than leaving protection disabled.

This persistence check belongs ahead of renderer validation. Otherwise, an engineer may select OpenGL, receive a saved message, and then unknowingly launch again with DirectX. Antivirus interference can also affect executable startup: one Simple-SCADA 2 installation failed because Avast first blocked and then deleted Server.exe. Starting Server.exe directly exposed that separate fault.

How do you verify the complete repair?

Check Pass condition If it fails
Settings persistence The selected renderer remains unchanged after closing and reopening Options.exe. Correct write permissions or security-software interference.
Editor startup The Editor opens without a black screen or ERROR! Can't create d3d device. Return to renderer and display-driver diagnostics.
Project rendering The affected project pages draw without missing or corrupted graphics. Compare a blank project with the affected project to separate engine startup from project content.
Server startup Server.exe remains present and starts normally. Check whether security software blocked or removed the executable.
Client startup The Client connects to the running Server and displays the project. Start Server.exe first to separate a server-launch failure from a client display failure.
  1. Restart Windows so the final test includes driver initialization from a clean boot.
  2. Confirm the intended color depth and display mode.
  3. Reopen Options.exe and confirm the retained renderer.
  4. Start the Editor and load the affected project.
  5. Close the Editor, start Server.exe, then start the Client.
  6. Open each required project page and check that the graphics remain correctly rendered.

FAQ

Can I fix Can't create d3d device by installing DirectX?

Not when the guest display driver lacks a working Direct3D interface. DirectX installation did not solve the reported Windows Server cases; use OpenGL or repair the virtualization guest 3D driver.

Can I run Simple-SCADA in VirtualBox?

Yes, when the guest exposes a usable DirectX or OpenGL path. One Windows XP SP3 guest started after installation of the matching Guest Additions 3D component, while a Windows Server 2008 32-bit guest started after switching to OpenGL.

Does Simple-SCADA require 32-bit color?

Full-screen operation requires 32-bit color. A 16- or 24-bit terminal may run the program in windowed mode, but it does not meet the full-screen requirement.

Can antivirus software cause the same startup failure?

Antivirus interference can block settings writes or remove Server.exe, but that is distinct from ERROR! Can't create d3d device. Check that the renderer setting persists and start Server.exe directly to identify which path is failing.

Can I consider the renderer fix complete when the Editor opens?

No. After a clean restart, confirm the renderer in Options.exe, start the Editor, start Server.exe followed by the Client, and verify every required project page renders without the D3D error.

Back to blog