P2D P3D not working in processing

I am using windows 10 & intel i5-7600K , Intel HD graphics 630. The driver is updated.
the code shows no error but the window is never displayed with P2D & P3D.
I am using current processing version 3.5.3.

1 Like

OP use processing 3.5.3 what comes with JAVA 8

and it should not matter what else is installed on windows 10.

@dan850 , what you think interferes with the renderer?

@Ruchi, is it a system what has NO graphic card,
or it has one and you can use
internal Motherboard/CPU graph && || graphic card output?

@Ruchi Also, do you have a smaller version of the sketch that you are working on? Does the same issue happen when try to run the Processing examples that use P2D and P3D?

And my mistake guys about installing or updating Java separately because it is not needed. :slight_smile:

1 Like

@kll I don’t have add on graphic card. was relying on built in graphics of intel. I guess i will need one.

@dan850 The window is never displayed with both P2D & P3D. Tried drawing simple sphere.

no, that should not be that way, also it would have been reported already.

my old PC runs only win7
on a AMD Athlon II X2 250 and a Asrock N68C-S UCC MB without extra graphic card,
only internal Nvidia GeForce 7025 / nForce 630a
but can use processing 3.5.3 ( just slow )

I checked the earlier issues regarding the same but there didn’t seem like a proper solution. Of all, majority of them reported problems with windows 10 & P2D,P3D compatibility.

1 Like

sadly not many report if problem solved…
( like in your case install graphic driver from mother board manufacturer, ignore the windows default driver install/update function )

i here just run from the old PC
but run my latest stress test in P3D
and use key [p] for report about graphic card.

and i want share

float rset=120, r;
int x = 0;
int w = 400;
int h = 200;
int grid=20, many = grid*grid;
boolean stressenable=true;

void settings() {
  // size(w, h); // default use JAVA2D 
  //  size(w, h,FX2D);
  //  size(w, h,P2D);
    size(w, h,P3D);

void setup() {
  println("target "+rset+" FPS");
  background(200, 200, 0);
  println("use key [p] for sysinfo, [n] numinfo, \n[s] stresstest ( "+grid+"*"+grid+" = "+many+" ) points, [+][-] grid +-5" );

void draw() {
  surface.setTitle("SYS INFO "+ nf(r, 0, 1)+" FPS" );
  if ( stressenable ) stress();
  r = frameRate;
  if ( r > 30 )      stroke(0, 200, 0); 
  else               stroke(200, 0, 0);
  line(x, height-2, x, height-2-r);            // FPS graph
  if ( x > width ) { 
    x = 0; 
    background(200, 200, 0);
// TEST: delete later following 3 lines

void stress() {
  for ( int i=0; i<grid; i++) {
    for ( int j=0; j<grid; j++) {
      stroke(random(255), random(255), random(255) );
      point(5+i, 5+j);

void sysinfo() {
  println( "__SYS INFO :");
  println( "System     : " + System.getProperty("os.name") + "  " + System.getProperty("os.version") + "  " + System.getProperty("os.arch") );
  println( "JAVA       : " + System.getProperty("java.home")  + " rev: " +javaVersionName);
  //println( System.getProperty("java.class.path") );
  //println( "\n" + isGL() + "\n" );
  println( "user.home  : " + System.getProperty("user.home") );
  println( "user.dir   : " + System.getProperty("user.dir") );
  println( "user.name  : " + System.getProperty("user.name") );
  println( "sketchPath : " + sketchPath() );
  println( "dataPath   : " + dataPath("") );
  println( "dataFile   : " + dataFile("") );
  println( "frameRate  : target "+nf(rset, 0, 1)+" actual "+nf(r, 0, 1));
  println( "canvas     : width "+width+" height "+height+" pix "+(width*height));

void numinfo() {
  println( "__NUM INFO :");
  println( "byte    min: "+Byte.MIN_VALUE+   "\t\t\t max: "+Byte.MAX_VALUE);
  println( "short   min: "+Short.MIN_VALUE+  "\t\t\t max: "+Short.MAX_VALUE);
  println( "int     min: "+Integer.MIN_VALUE+"\t\t max: "  +Integer.MAX_VALUE);
  println( "long    min: "+Long.MIN_VALUE+   "\t max: "    +Long.MAX_VALUE);
  println( "float   min: "+Float.MIN_VALUE+  "\t\t\t max: "+Float.MAX_VALUE);
  println( "double  min: "+Double.MIN_VALUE+ "\t\t\t max: "+Double.MAX_VALUE);

void keyPressed() {
  if ( key == 'p' ) sysinfo();
  if ( key == 'n' ) numinfo();
  if ( key == 's' ) stressenable = ! stressenable;
  if ( key == '+' ) {
    grid +=5;
    many = grid*grid;
    println("stresstest ( "+grid+"*"+grid+" = "+many+" ) points" );
  if ( key == '-' ) {
    grid -=5;
    many = grid*grid;
    println("stresstest ( "+grid+"*"+grid+" = "+many+" ) points" );

this is a mod for you ( the sphere should not be part of the tool as it not runs in P2D…)

what i am up to is the graphic card info processing sees in P3D
after press [p] find OPENGL info?

It doesn’t show anything with P3D or P2D renderer. It doesn’t take key P input either.

It shows null in graphics card info for default renderer.

1 Like

yes without P2D P3D see


sorry bad idea, a stress test on a graphic that does not work LOL

so what you find about software for your motherboard?
or from?

from CPU info:

 DirectX* Support 12
OpenGL* Support 4.5
1 Like

Tried installing this already but the set up pops up the message that this driver is not validated for this computer.

@Ruchi is your computer new, refurbished or built on your own? I’m guessing you have already tried hardware diagnostic software. Correct? Or what else have you tried so far? Do you have access to another computer to test your sketch on?

Have you tried importing OpenGL?

@dan850 I tried shutting windows defender & anti virus, reinstalled windows updates & intel driver from the intel driver update utility. My PC is assembled.
imported openGL library but nothing again.

import processing.opengl.*;

float a; 
void setup() {
  size(800, 600, OPENGL);
  fill(0, 153);
void draw() {
  translate(width/2, height/2);
  rect(-200, -200, 400, 400);
  rect(-200, -200, 400, 400);
  a += 0.01;

When cursor on opengl, it displayed ‘The field PConstants.OPENGL is deprecated’ on console.

with the hardware diagnostic software, I haven’t done it before. I will be trying that out first now.
Although I am searching it, could you guide me on it little?

1 Like

sorry, again my question about the motherboard?
( looks little bit like you are avoiding that )

but i would not ask microsoft or intel why
this motherboard with this CPU can not show OPENGL

i would check if that board supports

  • this CPU
  • with this windows version

and what driver i should use for the graphics to download for that mb.

worst case would be that not even a add graphic card would work, so pls. check there.

( in internet i found some info about problems to find stable gaming driver for that cpu for win 7. /
specific for motherboard i could not search as you not reported it )

1 Like

@kll hi sorry, was juggling between windows 10 & cpu, didn’t look at mother board.
My motherboard is gigabyte GA-Z270 HD3P.
When I assembled it, i did check on the compabilitiy with cpu & windows. But I lack thorough knowledge of specifics.

1 Like

and did you check on using ?

1 Like

Both the set up files supports intel generation 6 onwards. Although the website shows i5 cpu support.

1 Like

@kll worst scenario happened- temporarily installed nvidia Geforce GTX-610 but same output with P3D. no display of window & no errors.

still can’t figure out the problem.

it seems to me the issue could be with windows10. my last bet is to install windows 7 & check.

?? sorry, could you just try a USB stick linux,
some have that live + + feature

so you could test linux on your hardware,
install processing and test

and you not have to touch your win 10 at all…

1 Like

@kll sorry for the delayed response! ubuntu live is working but somehow the processing.exe is not working. The linux version of processing is not recognized .