P2D & P3D (OpenGL) not working on secondary displays

I have a new desktop Windows 10 computer that has NVS 810 and NVS 310 graphics cards added to expand the amount of screens which can be attached. I have an older version of this project working fine with the exact same graphics cards and is also Windows 10.

My problem is that I cannot run P3D (or P2D) on any of the screens attached to the graphics cards but it will run on the integrated graphics. My application calls for fullScreen so it’s pretty straightforward but if I use size instead and set the “run processing on monitor: x” setting to any of the external screens, it also won’t run. For the latter, I get a white screen on screen 1. For fullScreen, the application does show up in the taskbar but I get nothing on the screen(s). If you hover over the taskbar item, it basically shows no window exists for the application.

This has to be some sort of OpenGL issue but I have looked into every possible 3D setting with no luck. All the graphics drivers have been updated and I believe I saw windows was running OpenGL 4.5.

The issue occurs with both 64 and 32 bit, both when run from the IDE and exported and with Processing 2.7, 3.1, 3.3, and 3.4. As mentioned, I do have another PC across the country running P3D on the exact same cards (the PC is different though). There is no error message given either.
I have several other windows computers it will run fine on.
Any ideas?
The code I’m testing is just this:

void settings()
fullScreen(P3D, 4);
void setup()

try that

float r;

void setup() {

void draw() {
  background(255, 0, 0);
  translate(width/2, height-height/4, 100);

I have found the problem but still no idea on the solution. P3D will run on any display so long as it is my “main display” according to windows settings. My applications requires P3D on a different display than the desktop icons though so I can’t simply change the main display for a fix. I looked at my other machine for the graphics drivers and windows build version and the windows build was the same and I tried reverting to the older drivers and that did not fix it. On the other machine I do have the main display and P3D on different displays.

I knwo this is a very old post, but if anyone has this issue when first starting (like I did) the fix is pretty simple. If you go to preferences in Processing, you can choose the display that sketches run on. At first this didn’t work for me, but at the bottom of the preferences window there is a link to the file location for references. If you open the file and find “run.display”, set the value to the monitor set as the main monitor through windows. This can be identified by going into display settings in windows and pressing the identify button. Each screen will show a number in the bottom left corner. Whichever number screen is the one that opens the processing application, that is the display number that you want to set the run.display variable to. For me I had to do display.run = 2. NOTE: Processing tells you this when you go to open the preferences.txt file, but DO NOT change the file while Processing is running.