How to attach pyautogui to the virtual display?

How do I attach pyautogui to the display in multithreaded mode?

In the example of my code, pyautogui always has access to the upper display.

Is it possible to have pyautogui control on each display?

import os
from selenium import webdriver
from pyvirtualdisplay import Display
import Xlib.display
# ...

# let's say i run this function in two threads
def do_work(data):
    v_display = Display(visible=0, size=(900, 600))
    v_display.start()

    # How can i attach v_display to the pyautogui?
    import pyautogui

    print(v_display)
    # https://stackoverflow.com/questions/35798478/how-i-can-attach-the-mouse-movement-pyautogui-to-pyvirtualdisplay-with-seleniu
    pyautogui._pyautogui_x11._display = Xlib.display.Display(os.environ['DISPLAY'])

    print(pyautogui._pyautogui_x11._display)

    chrome_options = Options()
    chrome_options.add_argument('--user-data-dir='+str(data['profile']))
    chrome_options.add_argument("--start-maximized")


    driver = webdriver.Chrome('chromedriver', chrome_options=chrome_options)

    driver.get('https://my_resource.co/?'+data['param'])


    pyautogui.click(x=880, y=580)
    # Click always goes through the upper display
    # I also tried to take screenshots they are always the same

    # ...

    driver.quit()
    v_display.stop()

Output:

<Display cmd_param=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '900x600x24', ':1086'] cmd=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '900x600x24', ':1086'] oserror=None return_code=None stdout="None" stderr="None" timeout_happened=False>
<Display cmd_param=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '900x600x24', ':1087'] cmd=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '900x600x24', ':1087'] oserror=None return_code=None stdout="None" stderr="None" timeout_happened=False>
<Xlib.display.Display object at 0x7f4f5493aa90>
<Xlib.display.Display object at 0x7f4f5493a8d0>

P.S.
I know how to make clicks through selenium, but I need exactly pyautogui events.

Answer

From pyautogui documentation at https://pyautogui.readthedocs.io/en/latest/ :

Q: Does PyAutoGUI work on multi-monitor setups.
A: No, right now PyAutoGUI only handles the primary monitor.