eoyilmaz/displaycal-py3

Resolve Patches do not update.

mytechliving opened this issue · 127 comments

When running DisplayCal through DaVinci Resolve, I receive the following output. While attempting to calibrate, the color patch on reference monitor does not update past the initial gray/white balance patch.

`sh-3.2# displaycal
Acquired lock file: <DisplayCAL.main.AppLock object at 0x7ff5480bb0d0>
displaycal 3.9.11 2023-06-05T17:07:58Z
Mac OS X 10.16 x86_64
Python 3.8.0 (v3.8.0:fa919fdf25, Oct 14 2019, 10:23:27)
[Clang 6.0 (clang-600.0.57)]
CA file /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/certifi/cacert.pem
Faulthandler
wxPython 4.2.1 osx-cocoa (phoenix) wxWidgets 3.2.2.1
Encoding: utf-8
File system encoding: utf-8
Loading /var/root/Library/Preferences/DisplayCAL/DisplayCAL.ini
listening
writing to lock file: port: 15411
Starting up...
SDL2: None
SDL2_mixer: None
Audio module: wx 4.2.1
Enumerating display devices and communication ports...
/Volumes/Assets & Media/Argyll_V2.3.1/bin
ArgyllCMS 2.3.1b
Argyll has virtual display support
...ok.
Initializing GUI...

instrument_name: Spyder5
display_name : Resolve
...ok.
Ready.
Setting up scripting host at 127.0.0.1:15411
Check for application update...
DisplayCAL is up-to-date.
ArgyllCMS is up-to-date.
Connection established

Calibrate & profile
Detecting output levels range...

Session log: 0_16

Working directory:
/
tmp/
DisplayCAL-bd5m1n1z/

Command line:
/Volumes/Assets & Media/Argyll_V2.3.1/bin/dispread
-C
'/usr/bin/env python ./.wait'
-v
-K
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/DisplayCAL/linear.cal
-ddummy
-c1
-yn
0_16

DisplayCAL: Setting ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS 1000
DisplayCAL: Sending RGB 0.500 0.500 0.500, background RGB 0.000 0.000 0.000, x 0.3891, y 0.3028, w 0.2215, h 0.3937
DisplayCAL: caffeinate started, preventing screensaver and display/system sleep - waiting for dispread (PID 40230) to exit
DisplayCAL: Starting interaction with subprocess
Number of patches = 3

Setting up the instrument

Instrument Type: Datacolor Spyder5

Serial Number: 50303892

Hardware version: 0x0a0f

Created dummy window

Place instrument on test window.

DisplayCAL: Waiting for send buffer
DisplayCAL: Detected instrument placement (screen/spot) message
DisplayCAL: Prompting to place instrument on screen
DisplayCAL: Instrument on screen
DisplayCAL: Send buffer received:
DisplayCAL: Sending buffer: ' '
Hit Esc or Q to give up, any other key to continue:

DisplayCAL: Patch update count: 1
Patch 1 of 3env: python: No such file or directory

dispread: Warning - System command '/usr/bin/env python ./.wait 255 255 255 1.000000 1.000000 1.000000' failed with 32512

Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 2
Patch 2 of 3env: python: No such file or directory

dispread: Warning - System command '/usr/bin/env python ./.wait 0 0 0 0.000000 0.000000 0.000000' failed with 32512

Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 3
Patch 3 of 3env: python: No such file or directory

dispread: Warning - System command '/usr/bin/env python ./.wait 16 16 16 0.062500 0.062500 0.062500' failed with 32512

The instrument can be removed from the screen.

Warning - did we loose sync with the pattern generator?
Written '0_16.ti3'

DisplayCAL: caffeinate exited with code 0
DisplayCAL: Subprocess no longer alive (timeout)
DisplayCAL: Subprocess no longer alive (timeout)
dispread exitcode: 0
RGB level 0 is 22.536733 cd/m2
RGB level 16 is 22.529299 cd/m2
Using limited range output levels

Session log: Resolve 2023-11-03 12-53 D6500 2.2 M-S XYZLUT+MTX

Working directory:
/
tmp/
DisplayCAL-bd5m1n1z/

Command line:
/Volumes/Assets & Media/Argyll_V2.3.1/bin/dispcal
-C
'/usr/bin/env python ./.wait'
-v2
-ddummy
-c1
-yn
-qm
-t6500
-g2.2
-f1.0
-k0
-A4.0
-b
'Resolve 2023-11-03 12-53 D6500 2.2 M-S XYZLUT+MTX'

DisplayCAL: Setting ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS 1000
DisplayCAL: Sending RGB 0.500 0.500 0.500, background RGB 0.000 0.000 0.000, x 0.3891, y 0.3028, w 0.2215, h 0.3937
DisplayCAL: caffeinate started, preventing screensaver and display/system sleep - waiting for dispcal (PID 40235) to exit
DisplayCAL: Starting interaction with subprocess
Setting up the instrument

Instrument Type: Datacolor Spyder5

Serial Number: 50303892

Hardware version: 0x0a0f

Created dummy window

Place instrument on test window.

DisplayCAL: Detected instrument placement (screen/spot) message
DisplayCAL: Waiting for send buffer
DisplayCAL: Skipping place instrument on screen message...
DisplayCAL: Send buffer received:
DisplayCAL: Sending buffer: ' '
Hit Esc or Q to give up, any other key to continue:

dispcal: Warning - Unable to access to VideoLUTs so can't be sure colors are native

Display type is 'n'

Target white = 6500.000000 degrees kelvin Daylight spectrum

Target white brightness = native brightness

Target black brightness = native brightness

Black point device hack is enabled

Target advertised gamma = 2.200000

Display adjustment menu:

Press 1 .. 7

  1. Black level (CRT: Offset/Brightness)

  2. White point (Color temperature, R,G,B, Gain/Contrast)

  3. White level (CRT: Gain/Contrast, LCD: Brightness/Backlight)

  4. Black point (R,G,B, Offset/Brightness)

  5. Check all

  6. Measure and set ambient for viewing condition adjustment

  7. Continue on to calibration

  8. Exit

DisplayCAL: Waiting for send buffer
DisplayCAL: Send buffer received: 7
DisplayCAL: Sending buffer: '7'
Commencing display calibration

DisplayCAL: Patch update count: 1
Patch 1 of 9env: python: No such file or directory

dispcal: Warning - System command '/usr/bin/env python ./.wait 0 0 0 0.000000 0.000000 0.000000' failed with 32512

Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 2
Patch 2 of 9env: python: No such file or directory

dispcal: Warning - System command '/usr/bin/env python ./.wait 255 0 0 1.000000 0.000000 0.000000' failed with 32512

Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 3
Patch 3 of 9env: python: No such file or directory

dispcal: Warning - System command '/usr/bin/env python ./.wait 255 255 255 1.000000 1.000000 1.000000' failed with 32512

Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 4
Patch 4 of 9env: python: No such file or directory

dispcal: Warning - System command '/usr/bin/env python ./.wait 0 0 0 0.000000 0.000000 0.000000' failed with 32512

Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 5
Patch 5 of 9env: python: No such file or directory

dispcal: Warning - System command '/usr/bin/env python ./.wait 0 255 0 0.000000 1.000000 0.000000' failed with 32512

Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 6
Patch 6 of 9env: python: No such file or directory

dispcal: Warning - System command '/usr/bin/env python ./.wait 0 0 0 0.000000 0.000000 0.000000' failed with 32512

`

Same issue.
Hopefully a fix can be found.

Hey @BastienChilloux I wanted to look in to this one, I have a DaVinci Resolve license, but I think I need to have an external monitor to run this through DaVinci Resolve... Can you help me to reproduce this?

aah okay, I see, I can simulate the pattern generator with a Python socket and that should be enough, no worries.

Hey @eoyilmaz !
Feel free to reach out to me for any information or to do any testing :)

@BastienChilloux I think I found the reason it is not updating the patches, can you try installing and testing this:

You need to unzip the file before running pip install DisplayCAL-3.9.12-cp311-cp311-macosx_13_0_arm64.whl

DisplayCAL-3.9.12-cp311-cp311-macosx_13_0_arm64.whl.zip

The file unzipped is in my Downloads folder.
Once I enter the command in the terminal I get this error -bash: pip: command not found
I guess I am doing something wrong here.

I yes sorry... let's do it in this way:

If you don't have python3 installed, you can install it with brew:

brew install git glib gtk+3 python@3.11

And then let's clone the source, that will be easier if we'll be keep testing the code:

cd ~/Downloads
git clone https://github.com/eoyilmaz/displaycal-py3
cd ./displaycal-py3/
git checkout 302-resolve-patches-do-not-update
make build
make install
make launch

The first cmd gave me the same error but I think I had already installed python3 because I tested your version last year.
Also the second step work properly in the terminal, except that I got these last messages :
Installing collected packages: DisplayCAL Successfully installed DisplayCAL-3.9.12 WARNING: You are using pip version 21.2.4; however, version 24.0 is available.

Will be available tomorrow for further testing :)

Yeah it seems you've successfully installed the DisplayCAL 3.9.12. What happens after you run make launch do you see DisplayCAL UI?

I have restarted the terminal and the cmd DisplayCAL-3.9.12 make launch returns me this -bash: DisplayCAL-3.9.12: command not found
I guess your cmd was made to be used right after the previous terminal process ?

Okay so let's this, inside the displaycal-py3 folder, run the following:

source .venv/bin/activate
./DisplayCAL.pyw

Sorry but I don't really understand the way to do this, can you explain further.

On the other side, what I used to do to launch DisplayCal is to go in the displaycal-py3>scripts folder and launch displaycal in the terminal.
This works for me and launches the DisplayCal python app.

Let me know what I can do.

No worries, run the following on a fresh terminal:

cd ~/Downloads/displaycal-py3/
make build
make install
source .venv/bin/activate
./DisplayCAL.pyw

And it would be very helpful if you copy and paste your terminal output.

There you go :

`Ignoring dbus-python: markers 'sys_platform == "linux"' don't match your environment
Requirement already satisfied: build in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 1)) (1.1.1)
Requirement already satisfied: certifi in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 2)) (2024.2.2)
Requirement already satisfied: distro in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 4)) (1.9.0)
Requirement already satisfied: numpy in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 5)) (1.26.4)
Requirement already satisfied: Pillow in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 6)) (10.2.0)
Requirement already satisfied: PyChromecast in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 7)) (13.1.0)
Requirement already satisfied: Send2Trash in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 8)) (1.8.2)
Requirement already satisfied: wxPython>=4.1.1 in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 9)) (4.2.1)
Requirement already satisfied: zeroconf in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 10)) (0.131.0)
Requirement already satisfied: pyproject_hooks in ./.venv/lib/python3.9/site-packages (from build->-r requirements.txt (line 1)) (1.0.0)
Requirement already satisfied: importlib-metadata>=4.6 in ./.venv/lib/python3.9/site-packages (from build->-r requirements.txt (line 1)) (7.0.2)
Requirement already satisfied: packaging>=19.0 in ./.venv/lib/python3.9/site-packages (from build->-r requirements.txt (line 1)) (24.0)
Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from build->-r requirements.txt (line 1)) (2.0.1)
Requirement already satisfied: casttube>=0.2.0 in ./.venv/lib/python3.9/site-packages (from PyChromecast->-r requirements.txt (line 7)) (0.2.1)
Requirement already satisfied: protobuf>=3.19.1 in ./.venv/lib/python3.9/site-packages (from PyChromecast->-r requirements.txt (line 7)) (4.25.3)
Requirement already satisfied: six in ./.venv/lib/python3.9/site-packages (from wxPython>=4.1.1->-r requirements.txt (line 9)) (1.16.0)
Requirement already satisfied: ifaddr>=0.1.7 in ./.venv/lib/python3.9/site-packages (from zeroconf->-r requirements.txt (line 10)) (0.2.0)
Requirement already satisfied: async-timeout>=3.0.0 in ./.venv/lib/python3.9/site-packages (from zeroconf->-r requirements.txt (line 10)) (4.0.3)
Requirement already satisfied: requests in ./.venv/lib/python3.9/site-packages (from casttube>=0.2.0->PyChromecast->-r requirements.txt (line 7)) (2.31.0)
Requirement already satisfied: zipp>=0.5 in ./.venv/lib/python3.9/site-packages (from importlib-metadata>=4.6->build->-r requirements.txt (line 1)) (3.17.0)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./.venv/lib/python3.9/site-packages (from requests->casttube>=0.2.0->PyChromecast->-r requirements.txt (line 7)) (2.2.1)
Requirement already satisfied: idna<4,>=2.5 in ./.venv/lib/python3.9/site-packages (from requests->casttube>=0.2.0->PyChromecast->-r requirements.txt (line 7)) (3.6)
Requirement already satisfied: charset-normalizer<4,>=2 in ./.venv/lib/python3.9/site-packages (from requests->casttube>=0.2.0->PyChromecast->-r requirements.txt (line 7)) (3.3.2)
WARNING: You are using pip version 21.2.4; however, version 24.0 is available.
You should consider upgrading via the '/Users/Bastien/Downloads/displaycal-py3/.venv/bin/python3 -m pip install --upgrade pip' command.
Requirement already satisfied: black in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 1)) (24.2.0)
Requirement already satisfied: coverage in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 2)) (7.4.3)
Requirement already satisfied: darglint in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 3)) (1.8.1)
Requirement already satisfied: flake8 in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 4)) (7.0.0)
Requirement already satisfied: flake8-bugbear in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 5)) (24.2.6)
Requirement already satisfied: flake8-docstrings in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 6)) (1.7.0)
Requirement already satisfied: flake8-import-order in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 7)) (0.18.2)
Requirement already satisfied: flake8-mutable in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 8)) (1.2.0)
Requirement already satisfied: flake8-pep3101 in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 9)) (2.1.0)
Requirement already satisfied: flake8-spellcheck in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 10)) (0.28.0)
Requirement already satisfied: matplotlib in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 11)) (3.8.3)
Requirement already satisfied: ppdir in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 12)) (0.1.0)
Requirement already satisfied: py2app in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 13)) (0.28.7)
Requirement already satisfied: pyglet in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 14)) (2.0.14)
Requirement already satisfied: pytest in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 15)) (8.1.1)
Requirement already satisfied: pytest-cov in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 16)) (4.1.0)
Requirement already satisfied: pytest-github-actions-annotate-failures in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 17)) (0.2.0)
Requirement already satisfied: pytest-xdist in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 18)) (3.5.0)
Requirement already satisfied: snowballstemmer in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 19)) (2.2.0)
Requirement already satisfied: twine in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 20)) (5.0.0)
Requirement already satisfied: yappi in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 21)) (1.6.0)
Requirement already satisfied: wheel in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 23)) (0.42.0)
Requirement already satisfied: packaging>=22.0 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (24.0)
Requirement already satisfied: pathspec>=0.9.0 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (0.12.1)
Requirement already satisfied: click>=8.0.0 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (8.1.7)
Requirement already satisfied: platformdirs>=2 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (4.2.0)
Requirement already satisfied: mypy-extensions>=0.4.3 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (1.0.0)
Requirement already satisfied: typing-extensions>=4.0.1 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (4.10.0)
Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (2.0.1)
Requirement already satisfied: pyflakes<3.3.0,>=3.2.0 in ./.venv/lib/python3.9/site-packages (from flake8->-r requirements-dev.txt (line 4)) (3.2.0)
Requirement already satisfied: mccabe<0.8.0,>=0.7.0 in ./.venv/lib/python3.9/site-packages (from flake8->-r requirements-dev.txt (line 4)) (0.7.0)
Requirement already satisfied: pycodestyle<2.12.0,>=2.11.0 in ./.venv/lib/python3.9/site-packages (from flake8->-r requirements-dev.txt (line 4)) (2.11.1)
Requirement already satisfied: attrs>=19.2.0 in ./.venv/lib/python3.9/site-packages (from flake8-bugbear->-r requirements-dev.txt (line 5)) (23.2.0)
Requirement already satisfied: pydocstyle>=2.1 in ./.venv/lib/python3.9/site-packages (from flake8-docstrings->-r requirements-dev.txt (line 6)) (6.3.0)
Requirement already satisfied: setuptools in ./.venv/lib/python3.9/site-packages (from flake8-import-order->-r requirements-dev.txt (line 7)) (58.0.4)
Requirement already satisfied: importlib-resources>=3.2.0 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (6.1.3)
Requirement already satisfied: contourpy>=1.0.1 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (1.2.0)
Requirement already satisfied: fonttools>=4.22.0 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (4.49.0)
Requirement already satisfied: cycler>=0.10 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (0.12.1)
Requirement already satisfied: python-dateutil>=2.7 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (2.9.0.post0)
Requirement already satisfied: pyparsing>=2.3.1 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (3.1.2)
Requirement already satisfied: pillow>=8 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (10.2.0)
Requirement already satisfied: kiwisolver>=1.3.1 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (1.4.5)
Requirement already satisfied: numpy<2,>=1.21 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (1.26.4)
Requirement already satisfied: colorama>=0.4.3 in ./.venv/lib/python3.9/site-packages (from ppdir->-r requirements-dev.txt (line 12)) (0.4.6)
Requirement already satisfied: altgraph>=0.17.3 in ./.venv/lib/python3.9/site-packages (from py2app->-r requirements-dev.txt (line 13)) (0.17.4)
Requirement already satisfied: modulegraph>=0.19.6 in ./.venv/lib/python3.9/site-packages (from py2app->-r requirements-dev.txt (line 13)) (0.19.6)
Requirement already satisfied: macholib>=1.16.2 in ./.venv/lib/python3.9/site-packages (from py2app->-r requirements-dev.txt (line 13)) (1.16.3)
Requirement already satisfied: pluggy<2.0,>=1.4 in ./.venv/lib/python3.9/site-packages (from pytest->-r requirements-dev.txt (line 15)) (1.4.0)
Requirement already satisfied: iniconfig in ./.venv/lib/python3.9/site-packages (from pytest->-r requirements-dev.txt (line 15)) (2.0.0)
Requirement already satisfied: exceptiongroup>=1.0.0rc8 in ./.venv/lib/python3.9/site-packages (from pytest->-r requirements-dev.txt (line 15)) (1.2.0)
Requirement already satisfied: execnet>=1.1 in ./.venv/lib/python3.9/site-packages (from pytest-xdist->-r requirements-dev.txt (line 18)) (2.0.2)
Requirement already satisfied: pkginfo>=1.8.1 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (1.10.0)
Requirement already satisfied: readme-renderer>=35.0 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (43.0)
Requirement already satisfied: rfc3986>=1.4.0 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (2.0.0)
Requirement already satisfied: urllib3>=1.26.0 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (2.2.1)
Requirement already satisfied: requests-toolbelt!=0.9.0,>=0.8.0 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (1.0.0)
Requirement already satisfied: importlib-metadata>=3.6 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (7.0.2)
Requirement already satisfied: keyring>=15.1 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (24.3.1)
Requirement already satisfied: requests>=2.20 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (2.31.0)
Requirement already satisfied: rich>=12.0.0 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (13.7.1)
Requirement already satisfied: zipp>=0.5 in ./.venv/lib/python3.9/site-packages (from importlib-metadata>=3.6->twine->-r requirements-dev.txt (line 20)) (3.17.0)
Requirement already satisfied: jaraco.classes in ./.venv/lib/python3.9/site-packages (from keyring>=15.1->twine->-r requirements-dev.txt (line 20)) (3.3.1)
Requirement already satisfied: six>=1.5 in ./.venv/lib/python3.9/site-packages (from python-dateutil>=2.7->matplotlib->-r requirements-dev.txt (line 11)) (1.16.0)
Requirement already satisfied: docutils>=0.13.1 in ./.venv/lib/python3.9/site-packages (from readme-renderer>=35.0->twine->-r requirements-dev.txt (line 20)) (0.20.1)
Requirement already satisfied: Pygments>=2.5.1 in ./.venv/lib/python3.9/site-packages (from readme-renderer>=35.0->twine->-r requirements-dev.txt (line 20)) (2.17.2)
Requirement already satisfied: nh3>=0.2.14 in ./.venv/lib/python3.9/site-packages (from readme-renderer>=35.0->twine->-r requirements-dev.txt (line 20)) (0.2.15)
Requirement already satisfied: certifi>=2017.4.17 in ./.venv/lib/python3.9/site-packages (from requests>=2.20->twine->-r requirements-dev.txt (line 20)) (2024.2.2)
Requirement already satisfied: idna<4,>=2.5 in ./.venv/lib/python3.9/site-packages (from requests>=2.20->twine->-r requirements-dev.txt (line 20)) (3.6)
Requirement already satisfied: charset-normalizer<4,>=2 in ./.venv/lib/python3.9/site-packages (from requests>=2.20->twine->-r requirements-dev.txt (line 20)) (3.3.2)
Requirement already satisfied: markdown-it-py>=2.2.0 in ./.venv/lib/python3.9/site-packages (from rich>=12.0.0->twine->-r requirements-dev.txt (line 20)) (3.0.0)
Requirement already satisfied: mdurl~=0.1 in ./.venv/lib/python3.9/site-packages (from markdown-it-py>=2.2.0->rich>=12.0.0->twine->-r requirements-dev.txt (line 20)) (0.1.2)
Requirement already satisfied: more-itertools in ./.venv/lib/python3.9/site-packages (from jaraco.classes->keyring>=15.1->twine->-r requirements-dev.txt (line 20)) (10.2.0)
WARNING: You are using pip version 21.2.4; however, version 24.0 is available.
You should consider upgrading via the '/Users/Bastien/Downloads/displaycal-py3/.venv/bin/python3 -m pip install --upgrade pip' command.
source ./.venv/bin/activate; \
	python3 -m build;
* Creating venv isolated environment...
* Installing packages in isolated environment... (pywin32; platform_system=="Windows", setuptools)
* Getting build dependencies for sdist...
Trying to get git version information...
Trying to get git information...
Generating __version__.py
Version 3.9.12
['egg_info']
*** /Users/Bastien/Downloads/displaycal-py3/.venv/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py egg_info
using distutils
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-3dlut-maker.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-apply-profiles.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-curve-viewer.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-profile-info.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-scripting-client.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-synthprofile.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-testchart-editor.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-vrml-to-x3d-converter.desktop
warning: no files found matching 'MANIFEST'
warning: no files found matching 'use-distutils'
warning: no files found matching '_in_process.py'
warning: no files found matching '_in_process.cfg'
warning: no files found matching 'DisplayCAL/quirk.json'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.backup' found anywhere in distribution
warning: no previously-included files matching '*.bak' found anywhere in distribution
* Building sdist...
Trying to get git version information...
Trying to get git information...
Generating __version__.py
Version 3.9.12
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-3dlut-maker.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-apply-profiles.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-curve-viewer.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-profile-info.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-scripting-client.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-synthprofile.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-testchart-editor.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-vrml-to-x3d-converter.desktop
['sdist', '--formats', 'gztar', '--dist-dir', '/Users/Bastien/Downloads/displaycal-py3/dist/.tmp-bt0nndgh']
*** /Users/Bastien/Downloads/displaycal-py3/.venv/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py sdist --formats gztar --dist-dir /Users/Bastien/Downloads/displaycal-py3/dist/.tmp-bt0nndgh
using distutils
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-3dlut-maker.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-apply-profiles.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-curve-viewer.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-profile-info.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-scripting-client.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-synthprofile.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-testchart-editor.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-vrml-to-x3d-converter.desktop
warning: no files found matching 'MANIFEST'
warning: no files found matching 'use-distutils'
warning: no files found matching '_in_process.py'
warning: no files found matching '_in_process.cfg'
warning: no files found matching 'DisplayCAL/quirk.json'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.backup' found anywhere in distribution
warning: no previously-included files matching '*.bak' found anywhere in distribution
* Building wheel from sdist
* Creating venv isolated environment...
* Installing packages in isolated environment... (pywin32; platform_system=="Windows", setuptools)
* Getting build dependencies for wheel...
['egg_info']
*** /Users/Bastien/Downloads/displaycal-py3/.venv/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py egg_info
using distutils
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-3dlut-maker.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-apply-profiles.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-curve-viewer.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-profile-info.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-scripting-client.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-synthprofile.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-testchart-editor.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-vrml-to-x3d-converter.desktop
warning: no files found matching 'MANIFEST'
warning: no files found matching 'use-distutils'
warning: no files found matching '_in_process.py'
warning: no files found matching '_in_process.cfg'
warning: no files found matching 'DisplayCAL/quirk.json'
warning: no previously-included files found matching 'misc/Argyll'
warning: no previously-included files found matching 'misc/*.rules'
warning: no previously-included files found matching 'misc/*.usermap'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.backup' found anywhere in distribution
warning: no previously-included files matching '*.bak' found anywhere in distribution
* Installing packages in isolated environment... (wheel)
* Building wheel...
['bdist_wheel', '--dist-dir', '/Users/Bastien/Downloads/displaycal-py3/dist/.tmp-moopucop']
*** /Users/Bastien/Downloads/displaycal-py3/.venv/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py bdist_wheel --dist-dir /Users/Bastien/Downloads/displaycal-py3/dist/.tmp-moopucop
using distutils
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-3dlut-maker.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-apply-profiles.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-curve-viewer.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-profile-info.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-scripting-client.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-synthprofile.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-testchart-editor.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-bkjk4mfd/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-vrml-to-x3d-converter.desktop
DisplayCAL/RealDisplaySizeMM.c:398:22: warning: 'CGDisplayIOServicePort' is deprecated: first deprecated in macOS 10.9 - No longer supported [-Wdeprecated-declarations]
        if ((dport = CGDisplayIOServicePort(dids[i])) == MACH_PORT_NULL) {
                     ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDisplayConfiguration.h:372:24: note: 'CGDisplayIOServicePort' has been explicitly marked deprecated here
CG_EXTERN io_service_t CGDisplayIOServicePort(CGDirectDisplayID display)
                       ^
DisplayCAL/RealDisplaySizeMM.c:372:19: warning: comparison of integers of different signs: 'int' and 'CGDisplayCount' (aka 'unsigned int') [-Wsign-compare]
    for (i = 0; i < dcount; i++) {
                ~ ^ ~~~~~~
DisplayCAL/RealDisplaySizeMM.c:383:19: warning: comparison of integers of different signs: 'int' and 'CGDisplayCount' (aka 'unsigned int') [-Wsign-compare]
    for (i = 0; i < dcount; i++) {
                ~ ^ ~~~~~~
3 warnings generated.
DisplayCAL/RealDisplaySizeMM.c:398:22: warning: 'CGDisplayIOServicePort' is deprecated: first deprecated in macOS 10.9 - No longer supported [-Wdeprecated-declarations]
        if ((dport = CGDisplayIOServicePort(dids[i])) == MACH_PORT_NULL) {
                     ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDisplayConfiguration.h:372:24: note: 'CGDisplayIOServicePort' has been explicitly marked deprecated here
CG_EXTERN io_service_t CGDisplayIOServicePort(CGDirectDisplayID display)
                       ^
DisplayCAL/RealDisplaySizeMM.c:372:19: warning: comparison of integers of different signs: 'int' and 'CGDisplayCount' (aka 'unsigned int') [-Wsign-compare]
    for (i = 0; i < dcount; i++) {
                ~ ^ ~~~~~~
DisplayCAL/RealDisplaySizeMM.c:383:19: warning: comparison of integers of different signs: 'int' and 'CGDisplayCount' (aka 'unsigned int') [-Wsign-compare]
    for (i = 0; i < dcount; i++) {
                ~ ^ ~~~~~~
3 warnings generated.
warning: no files found matching 'MANIFEST'
warning: no files found matching 'use-distutils'
warning: no files found matching '_in_process.py'
warning: no files found matching '_in_process.cfg'
warning: no files found matching 'DisplayCAL/quirk.json'
warning: no previously-included files found matching 'misc/Argyll'
warning: no previously-included files found matching 'misc/*.rules'
warning: no previously-included files found matching 'misc/*.usermap'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.backup' found anywhere in distribution
warning: no previously-included files matching '*.bak' found anywhere in distribution
Successfully built DisplayCAL-3.9.12.tar.gz and DisplayCAL-3.9.12-cp39-cp39-macosx_10_9_universal2.whl
MacBook-Pro-de-Bastien:displaycal-py3 Bastien$ make install
source ./.venv/bin/activate; \
	pip install ./dist/DisplayCAL-3.9.12-*.whl;
Processing ./dist/DisplayCAL-3.9.12-cp39-cp39-macosx_10_9_universal2.whl
Requirement already satisfied: distro in ./.venv/lib/python3.9/site-packages (from DisplayCAL==3.9.12) (1.9.0)
Requirement already satisfied: build in ./.venv/lib/python3.9/site-packages (from DisplayCAL==3.9.12) (1.1.1)
Requirement already satisfied: Pillow in ./.venv/lib/python3.9/site-packages (from DisplayCAL==3.9.12) (10.2.0)
Requirement already satisfied: Send2Trash in ./.venv/lib/python3.9/site-packages (from DisplayCAL==3.9.12) (1.8.2)
Requirement already satisfied: zeroconf in ./.venv/lib/python3.9/site-packages (from DisplayCAL==3.9.12) (0.131.0)
Requirement already satisfied: numpy in ./.venv/lib/python3.9/site-packages (from DisplayCAL==3.9.12) (1.26.4)
Requirement already satisfied: wxPython in ./.venv/lib/python3.9/site-packages (from DisplayCAL==3.9.12) (4.2.1)
Requirement already satisfied: certifi in ./.venv/lib/python3.9/site-packages (from DisplayCAL==3.9.12) (2024.2.2)
Requirement already satisfied: PyChromecast in ./.venv/lib/python3.9/site-packages (from DisplayCAL==3.9.12) (13.1.0)
Requirement already satisfied: packaging>=19.0 in ./.venv/lib/python3.9/site-packages (from build->DisplayCAL==3.9.12) (24.0)
Requirement already satisfied: importlib-metadata>=4.6 in ./.venv/lib/python3.9/site-packages (from build->DisplayCAL==3.9.12) (7.0.2)
Requirement already satisfied: pyproject_hooks in ./.venv/lib/python3.9/site-packages (from build->DisplayCAL==3.9.12) (1.0.0)
Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from build->DisplayCAL==3.9.12) (2.0.1)
Requirement already satisfied: zipp>=0.5 in ./.venv/lib/python3.9/site-packages (from importlib-metadata>=4.6->build->DisplayCAL==3.9.12) (3.17.0)
Requirement already satisfied: casttube>=0.2.0 in ./.venv/lib/python3.9/site-packages (from PyChromecast->DisplayCAL==3.9.12) (0.2.1)
Requirement already satisfied: protobuf>=3.19.1 in ./.venv/lib/python3.9/site-packages (from PyChromecast->DisplayCAL==3.9.12) (4.25.3)
Requirement already satisfied: requests in ./.venv/lib/python3.9/site-packages (from casttube>=0.2.0->PyChromecast->DisplayCAL==3.9.12) (2.31.0)
Requirement already satisfied: async-timeout>=3.0.0 in ./.venv/lib/python3.9/site-packages (from zeroconf->DisplayCAL==3.9.12) (4.0.3)
Requirement already satisfied: ifaddr>=0.1.7 in ./.venv/lib/python3.9/site-packages (from zeroconf->DisplayCAL==3.9.12) (0.2.0)
Requirement already satisfied: charset-normalizer<4,>=2 in ./.venv/lib/python3.9/site-packages (from requests->casttube>=0.2.0->PyChromecast->DisplayCAL==3.9.12) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in ./.venv/lib/python3.9/site-packages (from requests->casttube>=0.2.0->PyChromecast->DisplayCAL==3.9.12) (3.6)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./.venv/lib/python3.9/site-packages (from requests->casttube>=0.2.0->PyChromecast->DisplayCAL==3.9.12) (2.2.1)
Requirement already satisfied: six in ./.venv/lib/python3.9/site-packages (from wxPython->DisplayCAL==3.9.12) (1.16.0)
DisplayCAL is already installed with the same version as the provided wheel. Use --force-reinstall to force an installation of the wheel.
WARNING: You are using pip version 21.2.4; however, version 24.0 is available.
You should consider upgrading via the '/Users/Bastien/Downloads/displaycal-py3/.venv/bin/python3 -m pip install --upgrade pip' command.
MacBook-Pro-de-Bastien:displaycal-py3 Bastien$ source .venv/bin/activate
(.venv) MacBook-Pro-de-Bastien:displaycal-py3 Bastien$ ./DisplayCAL.pyw
Acquired lock file: <DisplayCAL.main.AppLock object at 0x1093fcac0>
DisplayCAL.pyw 3.9.12 2024-03-11T09:00:17Z
Mac OS X 14.4 x86_64
Python 3.9.6 (default, Feb  3 2024, 15:58:28) 
[Clang 15.0.0 (clang-1500.3.9.4)]
CA file /Users/Bastien/Downloads/displaycal-py3/.venv/lib/python3.9/site-packages/certifi/cacert.pem
Faulthandler 
wxPython 4.2.1 osx-cocoa (phoenix) wxWidgets 3.2.2.1
Encoding: utf-8
File system encoding: utf-8
Loading /Users/Bastien/Library/Preferences/DisplayCAL/DisplayCAL.ini
Loading /Users/Bastien/Library/Preferences/DisplayCAL/DisplayCAL-testchart-editor.ini
Existing client using port 15411
Connecting to 15411...
Connection to 127.0.0.1:15411 failed: [Errno 61] Connection refused
listening
writing to lock file: port: 53353
/Users/Bastien/Downloads/displaycal-py3/.venv/lib/python3.9/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(
/Users/Bastien/Downloads/displaycal-py3/DisplayCAL/wxMeasureFrame.py:42: Warning: No module named 'DisplayCAL.lib64.RealDisplaySizeMM'
  warnings.warn(str(exception), Warning)
Starting up...
2024-03-11 10:00:50.176 Python[2368:72611] WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:.
Audio module: pyglet 2.0.14
Enumerating display devices and communication ports...
/Library/Application Support/Argyll_V3.1.0/bin
[Errno 86] Bad CPU type in executable: '/Library/Application Support/Argyll_V3.1.0/bin/dispwin'
...ok.
Initializing GUI...

input_value_clipping_bmp should have been hidden
output_profile_ctrl should have been hidden
...ok.
Ready.
Setting up scripting host at 127.0.0.1:53353
Check for application update...
DisplayCAL is up-to-date.
ArgyllCMS is up-to-date.

Cool, I see that you're able to run the GUI, from now on you can run the following to run UI:

cd ~/Downloads/displaycal-py3/
source .venv/bin/activate
./DisplayCAL.pyw

Now, is the "Resolve do not update patches" issue resolved?

I noticed Bad CPU type in executable: '/Library/Application Support/Argyll_V3.1.0/bin/dispwin'

Did you download ArgyllCMS by yourself? Which version you have downloaded? Do you have Rosetta installed?

I downloaded it myself last year I think.
But I can't remember which version. How can I check this ?

I am not using a Silicon Mac but an Intel one, is Rosetta relevant here ?

Thank you !

Now, is the "Resolve do not update patches" issue resolved?

I cannot choose any Display as the list is empty in DisplayCal.
I have no issue choosing a display on the Windows version (Windows 11 VM via VMware Fusion).

Capture d’écran 2024-03-11 à 10 19 38

There should be an error message on the terminal related to that, can you copy & paste it please.

Acquired lock file: <DisplayCAL.main.AppLock object at 0x105a424c0>
DisplayCAL.pyw 3.9.12 2024-03-11T09:00:17Z
Mac OS X 14.4 x86_64
Python 3.9.6 (default, Feb  3 2024, 15:58:28) 
[Clang 15.0.0 (clang-1500.3.9.4)]
CA file /Users/Bastien/Downloads/displaycal-py3/.venv/lib/python3.9/site-packages/certifi/cacert.pem
Faulthandler 
wxPython 4.2.1 osx-cocoa (phoenix) wxWidgets 3.2.2.1
Encoding: utf-8
File system encoding: utf-8
Loading /Users/Bastien/Library/Preferences/DisplayCAL/DisplayCAL.ini
Loading /Users/Bastien/Library/Preferences/DisplayCAL/DisplayCAL-testchart-editor.ini
Existing client using port 15411
Connecting to 15411...
Connection to 127.0.0.1:15411 failed: [Errno 61] Connection refused
listening
writing to lock file: port: 63371
/Users/Bastien/Downloads/displaycal-py3/.venv/lib/python3.9/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(
/Users/Bastien/Downloads/displaycal-py3/DisplayCAL/wxMeasureFrame.py:42: Warning: No module named 'DisplayCAL.lib64.RealDisplaySizeMM'
  warnings.warn(str(exception), Warning)
Starting up...
2024-03-11 12:16:23.250 Python[4256:221669] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/com.apple.python3.savedState
Audio module: pyglet 2.0.14
Enumerating display devices and communication ports...
/Library/Application Support/Argyll_V3.1.0/bin
[Errno 86] Bad CPU type in executable: '/Library/Application Support/Argyll_V3.1.0/bin/dispwin'
...ok.
Initializing GUI...

input_value_clipping_bmp should have been hidden
output_profile_ctrl should have been hidden
...ok.
Ready.
Setting up scripting host at 127.0.0.1:63371
Check for application update...
DisplayCAL is up-to-date.
ArgyllCMS is up-to-date.
2024-03-11 12:16:42.418 Python[4256:221669] WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:.

Yeah it comes down to that line again: [Errno 86] Bad CPU type in executable: '/Library/Application Support/Argyll_V3.1.0/bin/dispwin'

I would say download ArgyllCMS from here: https://www.argyllcms.com/Argyll_V3.1.0_osx10.6_x86_64_bin.tgz

extract it to somewhere and through DisplayCAL -> File Menu -> Locate ArgyllCMS executables... show the bin folder inside the ArgylCMS_v3.1.0.

I have no issue choosing a display on the Windows version (Windows 11 VM via VMware Fusion).

I'm guessing that you have the Windows version of ArgyllCMS...

/Users/Bastien/Downloads/displaycal-py3/DisplayCAL/wxMeasureFrame.py:42: Warning: No module named 'DisplayCAL.lib64.RealDisplaySizeMM'

This is also concerning, I need to double check the output of make build with you:

So can you run the following again:

cd ~/Downloads/displaycal-py3
make build

and paste the output here again.

Still downloading the ArgyllCMS (slow speed from the server).

Here is the output for make build :

python3 -m venv .venv; \
	source ./.venv/bin/activate; \
	pip install -r requirements.txt; \
	pip install -r requirements-dev.txt;
Ignoring dbus-python: markers 'sys_platform == "linux"' don't match your environment
Requirement already satisfied: build in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 1)) (1.1.1)
Requirement already satisfied: certifi in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 2)) (2024.2.2)
Requirement already satisfied: distro in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 4)) (1.9.0)
Requirement already satisfied: numpy in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 5)) (1.26.4)
Requirement already satisfied: Pillow in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 6)) (10.2.0)
Requirement already satisfied: PyChromecast in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 7)) (13.1.0)
Requirement already satisfied: Send2Trash in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 8)) (1.8.2)
Requirement already satisfied: wxPython>=4.1.1 in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 9)) (4.2.1)
Requirement already satisfied: zeroconf in ./.venv/lib/python3.9/site-packages (from -r requirements.txt (line 10)) (0.131.0)
Requirement already satisfied: importlib-metadata>=4.6 in ./.venv/lib/python3.9/site-packages (from build->-r requirements.txt (line 1)) (7.0.2)
Requirement already satisfied: packaging>=19.0 in ./.venv/lib/python3.9/site-packages (from build->-r requirements.txt (line 1)) (24.0)
Requirement already satisfied: pyproject_hooks in ./.venv/lib/python3.9/site-packages (from build->-r requirements.txt (line 1)) (1.0.0)
Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from build->-r requirements.txt (line 1)) (2.0.1)
Requirement already satisfied: casttube>=0.2.0 in ./.venv/lib/python3.9/site-packages (from PyChromecast->-r requirements.txt (line 7)) (0.2.1)
Requirement already satisfied: protobuf>=3.19.1 in ./.venv/lib/python3.9/site-packages (from PyChromecast->-r requirements.txt (line 7)) (4.25.3)
Requirement already satisfied: six in ./.venv/lib/python3.9/site-packages (from wxPython>=4.1.1->-r requirements.txt (line 9)) (1.16.0)
Requirement already satisfied: async-timeout>=3.0.0 in ./.venv/lib/python3.9/site-packages (from zeroconf->-r requirements.txt (line 10)) (4.0.3)
Requirement already satisfied: ifaddr>=0.1.7 in ./.venv/lib/python3.9/site-packages (from zeroconf->-r requirements.txt (line 10)) (0.2.0)
Requirement already satisfied: requests in ./.venv/lib/python3.9/site-packages (from casttube>=0.2.0->PyChromecast->-r requirements.txt (line 7)) (2.31.0)
Requirement already satisfied: zipp>=0.5 in ./.venv/lib/python3.9/site-packages (from importlib-metadata>=4.6->build->-r requirements.txt (line 1)) (3.17.0)
Requirement already satisfied: charset-normalizer<4,>=2 in ./.venv/lib/python3.9/site-packages (from requests->casttube>=0.2.0->PyChromecast->-r requirements.txt (line 7)) (3.3.2)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./.venv/lib/python3.9/site-packages (from requests->casttube>=0.2.0->PyChromecast->-r requirements.txt (line 7)) (2.2.1)
Requirement already satisfied: idna<4,>=2.5 in ./.venv/lib/python3.9/site-packages (from requests->casttube>=0.2.0->PyChromecast->-r requirements.txt (line 7)) (3.6)
WARNING: You are using pip version 21.2.4; however, version 24.0 is available.
You should consider upgrading via the '/Users/Bastien/Downloads/displaycal-py3/.venv/bin/python3 -m pip install --upgrade pip' command.
Requirement already satisfied: black in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 1)) (24.2.0)
Requirement already satisfied: coverage in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 2)) (7.4.3)
Requirement already satisfied: darglint in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 3)) (1.8.1)
Requirement already satisfied: flake8 in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 4)) (7.0.0)
Requirement already satisfied: flake8-bugbear in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 5)) (24.2.6)
Requirement already satisfied: flake8-docstrings in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 6)) (1.7.0)
Requirement already satisfied: flake8-import-order in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 7)) (0.18.2)
Requirement already satisfied: flake8-mutable in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 8)) (1.2.0)
Requirement already satisfied: flake8-pep3101 in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 9)) (2.1.0)
Requirement already satisfied: flake8-spellcheck in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 10)) (0.28.0)
Requirement already satisfied: matplotlib in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 11)) (3.8.3)
Requirement already satisfied: ppdir in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 12)) (0.1.0)
Requirement already satisfied: py2app in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 13)) (0.28.7)
Requirement already satisfied: pyglet in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 14)) (2.0.14)
Requirement already satisfied: pytest in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 15)) (8.1.1)
Requirement already satisfied: pytest-cov in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 16)) (4.1.0)
Requirement already satisfied: pytest-github-actions-annotate-failures in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 17)) (0.2.0)
Requirement already satisfied: pytest-xdist in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 18)) (3.5.0)
Requirement already satisfied: snowballstemmer in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 19)) (2.2.0)
Requirement already satisfied: twine in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 20)) (5.0.0)
Requirement already satisfied: yappi in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 21)) (1.6.0)
Requirement already satisfied: wheel in ./.venv/lib/python3.9/site-packages (from -r requirements-dev.txt (line 23)) (0.42.0)
Requirement already satisfied: mypy-extensions>=0.4.3 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (1.0.0)
Requirement already satisfied: click>=8.0.0 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (8.1.7)
Requirement already satisfied: pathspec>=0.9.0 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (0.12.1)
Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (2.0.1)
Requirement already satisfied: packaging>=22.0 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (24.0)
Requirement already satisfied: platformdirs>=2 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (4.2.0)
Requirement already satisfied: typing-extensions>=4.0.1 in ./.venv/lib/python3.9/site-packages (from black->-r requirements-dev.txt (line 1)) (4.10.0)
Requirement already satisfied: mccabe<0.8.0,>=0.7.0 in ./.venv/lib/python3.9/site-packages (from flake8->-r requirements-dev.txt (line 4)) (0.7.0)
Requirement already satisfied: pyflakes<3.3.0,>=3.2.0 in ./.venv/lib/python3.9/site-packages (from flake8->-r requirements-dev.txt (line 4)) (3.2.0)
Requirement already satisfied: pycodestyle<2.12.0,>=2.11.0 in ./.venv/lib/python3.9/site-packages (from flake8->-r requirements-dev.txt (line 4)) (2.11.1)
Requirement already satisfied: attrs>=19.2.0 in ./.venv/lib/python3.9/site-packages (from flake8-bugbear->-r requirements-dev.txt (line 5)) (23.2.0)
Requirement already satisfied: pydocstyle>=2.1 in ./.venv/lib/python3.9/site-packages (from flake8-docstrings->-r requirements-dev.txt (line 6)) (6.3.0)
Requirement already satisfied: setuptools in ./.venv/lib/python3.9/site-packages (from flake8-import-order->-r requirements-dev.txt (line 7)) (58.0.4)
Requirement already satisfied: pyparsing>=2.3.1 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (3.1.2)
Requirement already satisfied: cycler>=0.10 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (0.12.1)
Requirement already satisfied: numpy<2,>=1.21 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (1.26.4)
Requirement already satisfied: contourpy>=1.0.1 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (1.2.0)
Requirement already satisfied: kiwisolver>=1.3.1 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (1.4.5)
Requirement already satisfied: python-dateutil>=2.7 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (2.9.0.post0)
Requirement already satisfied: pillow>=8 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (10.2.0)
Requirement already satisfied: importlib-resources>=3.2.0 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (6.1.3)
Requirement already satisfied: fonttools>=4.22.0 in ./.venv/lib/python3.9/site-packages (from matplotlib->-r requirements-dev.txt (line 11)) (4.49.0)
Requirement already satisfied: colorama>=0.4.3 in ./.venv/lib/python3.9/site-packages (from ppdir->-r requirements-dev.txt (line 12)) (0.4.6)
Requirement already satisfied: modulegraph>=0.19.6 in ./.venv/lib/python3.9/site-packages (from py2app->-r requirements-dev.txt (line 13)) (0.19.6)
Requirement already satisfied: altgraph>=0.17.3 in ./.venv/lib/python3.9/site-packages (from py2app->-r requirements-dev.txt (line 13)) (0.17.4)
Requirement already satisfied: macholib>=1.16.2 in ./.venv/lib/python3.9/site-packages (from py2app->-r requirements-dev.txt (line 13)) (1.16.3)
Requirement already satisfied: pluggy<2.0,>=1.4 in ./.venv/lib/python3.9/site-packages (from pytest->-r requirements-dev.txt (line 15)) (1.4.0)
Requirement already satisfied: iniconfig in ./.venv/lib/python3.9/site-packages (from pytest->-r requirements-dev.txt (line 15)) (2.0.0)
Requirement already satisfied: exceptiongroup>=1.0.0rc8 in ./.venv/lib/python3.9/site-packages (from pytest->-r requirements-dev.txt (line 15)) (1.2.0)
Requirement already satisfied: execnet>=1.1 in ./.venv/lib/python3.9/site-packages (from pytest-xdist->-r requirements-dev.txt (line 18)) (2.0.2)
Requirement already satisfied: keyring>=15.1 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (24.3.1)
Requirement already satisfied: rich>=12.0.0 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (13.7.1)
Requirement already satisfied: requests>=2.20 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (2.31.0)
Requirement already satisfied: requests-toolbelt!=0.9.0,>=0.8.0 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (1.0.0)
Requirement already satisfied: readme-renderer>=35.0 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (43.0)
Requirement already satisfied: rfc3986>=1.4.0 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (2.0.0)
Requirement already satisfied: importlib-metadata>=3.6 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (7.0.2)
Requirement already satisfied: urllib3>=1.26.0 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (2.2.1)
Requirement already satisfied: pkginfo>=1.8.1 in ./.venv/lib/python3.9/site-packages (from twine->-r requirements-dev.txt (line 20)) (1.10.0)
Requirement already satisfied: zipp>=0.5 in ./.venv/lib/python3.9/site-packages (from importlib-metadata>=3.6->twine->-r requirements-dev.txt (line 20)) (3.17.0)
Requirement already satisfied: jaraco.classes in ./.venv/lib/python3.9/site-packages (from keyring>=15.1->twine->-r requirements-dev.txt (line 20)) (3.3.1)
Requirement already satisfied: six>=1.5 in ./.venv/lib/python3.9/site-packages (from python-dateutil>=2.7->matplotlib->-r requirements-dev.txt (line 11)) (1.16.0)
Requirement already satisfied: docutils>=0.13.1 in ./.venv/lib/python3.9/site-packages (from readme-renderer>=35.0->twine->-r requirements-dev.txt (line 20)) (0.20.1)
Requirement already satisfied: Pygments>=2.5.1 in ./.venv/lib/python3.9/site-packages (from readme-renderer>=35.0->twine->-r requirements-dev.txt (line 20)) (2.17.2)
Requirement already satisfied: nh3>=0.2.14 in ./.venv/lib/python3.9/site-packages (from readme-renderer>=35.0->twine->-r requirements-dev.txt (line 20)) (0.2.15)
Requirement already satisfied: certifi>=2017.4.17 in ./.venv/lib/python3.9/site-packages (from requests>=2.20->twine->-r requirements-dev.txt (line 20)) (2024.2.2)
Requirement already satisfied: idna<4,>=2.5 in ./.venv/lib/python3.9/site-packages (from requests>=2.20->twine->-r requirements-dev.txt (line 20)) (3.6)
Requirement already satisfied: charset-normalizer<4,>=2 in ./.venv/lib/python3.9/site-packages (from requests>=2.20->twine->-r requirements-dev.txt (line 20)) (3.3.2)
Requirement already satisfied: markdown-it-py>=2.2.0 in ./.venv/lib/python3.9/site-packages (from rich>=12.0.0->twine->-r requirements-dev.txt (line 20)) (3.0.0)
Requirement already satisfied: mdurl~=0.1 in ./.venv/lib/python3.9/site-packages (from markdown-it-py>=2.2.0->rich>=12.0.0->twine->-r requirements-dev.txt (line 20)) (0.1.2)
Requirement already satisfied: more-itertools in ./.venv/lib/python3.9/site-packages (from jaraco.classes->keyring>=15.1->twine->-r requirements-dev.txt (line 20)) (10.2.0)
WARNING: You are using pip version 21.2.4; however, version 24.0 is available.
You should consider upgrading via the '/Users/Bastien/Downloads/displaycal-py3/.venv/bin/python3 -m pip install --upgrade pip' command.
source ./.venv/bin/activate; \
	python3 -m build;
* Creating venv isolated environment...
* Installing packages in isolated environment... (pywin32; platform_system=="Windows", setuptools)
* Getting build dependencies for sdist...
Trying to get git version information...
Trying to get git information...
Generating __version__.py
Version 3.9.12
['egg_info']
*** /Users/Bastien/Downloads/displaycal-py3/.venv/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py egg_info
using distutils
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-3dlut-maker.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-apply-profiles.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-curve-viewer.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-profile-info.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-scripting-client.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-synthprofile.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-testchart-editor.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-vrml-to-x3d-converter.desktop
warning: no files found matching 'MANIFEST'
warning: no files found matching 'use-distutils'
warning: no files found matching '_in_process.py'
warning: no files found matching '_in_process.cfg'
warning: no files found matching 'DisplayCAL/quirk.json'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.backup' found anywhere in distribution
warning: no previously-included files matching '*.bak' found anywhere in distribution
* Building sdist...
Trying to get git version information...
Trying to get git information...
Generating __version__.py
Version 3.9.12
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-3dlut-maker.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-apply-profiles.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-curve-viewer.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-profile-info.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-scripting-client.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-synthprofile.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-testchart-editor.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-vrml-to-x3d-converter.desktop
['sdist', '--formats', 'gztar', '--dist-dir', '/Users/Bastien/Downloads/displaycal-py3/dist/.tmp-atod3b4r']
*** /Users/Bastien/Downloads/displaycal-py3/.venv/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py sdist --formats gztar --dist-dir /Users/Bastien/Downloads/displaycal-py3/dist/.tmp-atod3b4r
using distutils
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-3dlut-maker.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-apply-profiles.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-curve-viewer.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-profile-info.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-scripting-client.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-synthprofile.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-testchart-editor.desktop
desktopfile: /Users/Bastien/Downloads/displaycal-py3/DisplayCAL/../misc/displaycal-vrml-to-x3d-converter.desktop
warning: no files found matching 'MANIFEST'
warning: no files found matching 'use-distutils'
warning: no files found matching '_in_process.py'
warning: no files found matching '_in_process.cfg'
warning: no files found matching 'DisplayCAL/quirk.json'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.backup' found anywhere in distribution
warning: no previously-included files matching '*.bak' found anywhere in distribution
* Building wheel from sdist
* Creating venv isolated environment...
* Installing packages in isolated environment... (pywin32; platform_system=="Windows", setuptools)
* Getting build dependencies for wheel...
['egg_info']
*** /Users/Bastien/Downloads/displaycal-py3/.venv/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py egg_info
using distutils
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-3dlut-maker.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-apply-profiles.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-curve-viewer.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-profile-info.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-scripting-client.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-synthprofile.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-testchart-editor.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-vrml-to-x3d-converter.desktop
warning: no files found matching 'MANIFEST'
warning: no files found matching 'use-distutils'
warning: no files found matching '_in_process.py'
warning: no files found matching '_in_process.cfg'
warning: no files found matching 'DisplayCAL/quirk.json'
warning: no previously-included files found matching 'misc/Argyll'
warning: no previously-included files found matching 'misc/*.rules'
warning: no previously-included files found matching 'misc/*.usermap'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.backup' found anywhere in distribution
warning: no previously-included files matching '*.bak' found anywhere in distribution
* Installing packages in isolated environment... (wheel)
* Building wheel...
['bdist_wheel', '--dist-dir', '/Users/Bastien/Downloads/displaycal-py3/dist/.tmp-zy6aka36']
*** /Users/Bastien/Downloads/displaycal-py3/.venv/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py bdist_wheel --dist-dir /Users/Bastien/Downloads/displaycal-py3/dist/.tmp-zy6aka36
using distutils
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-3dlut-maker.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-apply-profiles.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-curve-viewer.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-profile-info.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-scripting-client.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-synthprofile.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-testchart-editor.desktop
desktopfile: /private/var/folders/d5/q7mlnxyd7dqbyhmt9r1pz9kh0000gp/T/build-via-sdist-2azz8g0f/DisplayCAL-3.9.12/DisplayCAL/../misc/displaycal-vrml-to-x3d-converter.desktop
DisplayCAL/RealDisplaySizeMM.c:398:22: warning: 'CGDisplayIOServicePort' is deprecated: first deprecated in macOS 10.9 - No longer supported [-Wdeprecated-declarations]
        if ((dport = CGDisplayIOServicePort(dids[i])) == MACH_PORT_NULL) {
                     ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDisplayConfiguration.h:372:24: note: 'CGDisplayIOServicePort' has been explicitly marked deprecated here
CG_EXTERN io_service_t CGDisplayIOServicePort(CGDirectDisplayID display)
                       ^
DisplayCAL/RealDisplaySizeMM.c:372:19: warning: comparison of integers of different signs: 'int' and 'CGDisplayCount' (aka 'unsigned int') [-Wsign-compare]
    for (i = 0; i < dcount; i++) {
                ~ ^ ~~~~~~
DisplayCAL/RealDisplaySizeMM.c:383:19: warning: comparison of integers of different signs: 'int' and 'CGDisplayCount' (aka 'unsigned int') [-Wsign-compare]
    for (i = 0; i < dcount; i++) {
                ~ ^ ~~~~~~
3 warnings generated.
DisplayCAL/RealDisplaySizeMM.c:398:22: warning: 'CGDisplayIOServicePort' is deprecated: first deprecated in macOS 10.9 - No longer supported [-Wdeprecated-declarations]
        if ((dport = CGDisplayIOServicePort(dids[i])) == MACH_PORT_NULL) {
                     ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDisplayConfiguration.h:372:24: note: 'CGDisplayIOServicePort' has been explicitly marked deprecated here
CG_EXTERN io_service_t CGDisplayIOServicePort(CGDirectDisplayID display)
                       ^
DisplayCAL/RealDisplaySizeMM.c:372:19: warning: comparison of integers of different signs: 'int' and 'CGDisplayCount' (aka 'unsigned int') [-Wsign-compare]
    for (i = 0; i < dcount; i++) {
                ~ ^ ~~~~~~
DisplayCAL/RealDisplaySizeMM.c:383:19: warning: comparison of integers of different signs: 'int' and 'CGDisplayCount' (aka 'unsigned int') [-Wsign-compare]
    for (i = 0; i < dcount; i++) {
                ~ ^ ~~~~~~
3 warnings generated.
warning: no files found matching 'MANIFEST'
warning: no files found matching 'use-distutils'
warning: no files found matching '_in_process.py'
warning: no files found matching '_in_process.cfg'
warning: no files found matching 'DisplayCAL/quirk.json'
warning: no previously-included files found matching 'misc/Argyll'
warning: no previously-included files found matching 'misc/*.rules'
warning: no previously-included files found matching 'misc/*.usermap'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.backup' found anywhere in distribution
warning: no previously-included files matching '*.bak' found anywhere in distribution
Successfully built DisplayCAL-3.9.12.tar.gz and DisplayCAL-3.9.12-cp39-cp39-macosx_10_9_universal2.whl

Can you copy&paste the output of the following:

ls ~/Downloads/displaycal-py3/DisplayCAL/lib64

aah okay, I get the same error message, I think that's okay...

ls ~/Downloads/displaycal-py3/DisplayCAL/lib64

Looks like this one does nothing on my terminal.

Let's try with the new ArgylCMS executables that you're downloading...

Now I get this when launching DisplayCal via the terminal (I had no issue before, even launching via terminal) :

Capture d’écran 2024-03-11 à 14 18 26 Capture d’écran 2024-03-11 à 14 18 39 Capture d’écran 2024-03-11 à 14 18 47

An this is the message I get when clicking "Locate ArgyllCMS executables" :

Capture d’écran 2024-03-11 à 14 18 57

I think you didn't change the ArgyllCMS executable, it is still showing the previous path of "/Library/Application Support/ArgyllCMS/ArgyllCMS_V3.1.0"

Did you try choosing the "ArgyllCMS_V3.1.0/bin" folder from the newest downloaded version?

but you had an error about ArgyllCMS version retrieval, I just fixed that, can you run the following:

cd ~/Downloads/displaycal-py3
git pull

and then you can run DisplayCAL as I showed before.

EDIT: Can you also copy&paste the output of the following command:

git status

It appears to be working now.
I am just setting up my I/O device to do a proper test within Resolve on an external monitor.
Will keep you updated !

Patches are sent properly to the I/O device and external monitor threw Resolve, that's a good point !
However, after waiting quite a bit, I am still at this final step of the calibration measurements, since about 10+min.
I haven't canceled it yet but maybe I should consider restarting the calibration process ?

Capture d’écran 2024-03-11 à 15 24 47

Restarting the measurements...

Check the terminal when it stops, there could be an error message 👍

It looks like I am stuck on a patch for this new test :

Capture d’écran 2024-03-11 à 15 51 09

Restarting the measurements...

Interesting... The last color patch sent seems to be a greenish color, but your display shows the previous redish patch. Can you try entering the ip address as localhost:20002 I'm guessing it would be better to go through the loopback adapter.

Similar issue from my previous test :

Capture d’écran 2024-03-11 à 16 40 47

Will try your suggestion :)

I get this message and can't continue :

Capture d’écran 2024-03-11 à 16 43 24

Those are the last lines on my terminal (I guess some are related to the previous test that I manually canceled) :

`Sample read stopped at user request!
DisplayCAL: Waiting for send buffer
DisplayCAL: Send buffer received:

isplayCAL: Sending buffer: '\x1b'
Hit Esc or Q to give up, any other key to retry:
The instrument can be removed from the screen.
dispcal: Error - display read failed with 'User Aborted'
DisplayCAL: caffeinate exited with code 0
DisplayCAL: Subprocess no longer alive (timeout)
DisplayCAL: Subprocess no longer alive (timeout)
dispcal exitcode: 1
...aborted.
┌──────────────────────────────────────────────────────────────────────────────┐
│ [Errno 32] Broken pipe │
└──────────────────────────────────────────────────────────────────────────────┘
`

It seems like a network issue. Can you also try 0.0.0.0 for the ip address

At this point I want to release this and let people try it. It could be specific to your network setup, as I see that it randomly stops updating.

I get this message :

Capture d’écran 2024-03-11 à 16 51 12

I am trying again after rebooting both Resolve and DisplayCal.

okay, let's try calling other people and see if anybody else would have the same problem with you.

For people who are MacOS users and want to try this feature and help us, run the following:

(change the ~/Downloads folder as you wish!)

cd ~/Downloads
git clone https://github.com/eoyilmaz/displaycal-py3
cd ./displaycal-py3/
git checkout 302-resolve-patches-do-not-update
make build
make install
source .venv/bin/activate
./DisplayCAL.pyw

Ignore previous comment that I erased if you saw it. Running the patches now. Running Sonoma 14.2.1 on an M3 Max. Good news is that it hasn't thrown any errors yet. I'm not seeing any colored patches at the moment, but I'll let it run and see where we get to...

@MikeGurfield you should have seen the patches through Resolve, can you check your terminal output and see if you get any errors there.

By the way is there a way in Resolve to simulate this without an external monitor. I've a Resolve Studio license/dongle.

oh actually I can write a little application that can retrieve the data from DisplayCAL and display those colors in a window, just to simuate the network communication. Let's try this...

the patches are running. I'm on 57/64 a the moment. A lot of the patches are appearing as black/nearly black here. I did get some red/green patches, but the majority have thus far seemed to be displaying black.

No errors in terminal, and nothing kicked back in the python app yet.

ah okay... let's see if it is going to finish properly.

A lot of the patches are appearing as black/nearly black here.

This made me concerned about the patches are properly interpretted. I have no experience calibrating this way through Resolve, does the gamma settings of your project affect what's been displayed in the monitor while running the calibration?

Yeah I don't think you can simulate an external monitor in Resolve for calibration. You can mirror a monitor to a window. Fairlight Viewer gives you floating or docked options

A lot of the patches are appearing as black/nearly black here.

This made me concerned about the patches are properly interpretted. I have no experience calibrating this way through Resolve, does the gamma settings of your project affect what's been displayed in the monitor while running the calibration?

Gamma settings shouldn't affect the image that drastically, but I'm in a rec 709 gamma 2.4 space.

I mean, gamma obviously affects the image, but it wouldn't turn a colored patch black unless there was a HUGE shift in gamma.

ah okay sure, you might want to test it setting the color science to ACEScc/ACEScct and with no input transform just to see if the patches are going to go crazzy...

Although, thinking the purpose of having a calibration/profile LUT for your video I/O is to correct the output to match the intended one even if we are baking the gamma in to the LUT, it should correct the shift in the gamma properly, but I presume there will be quite a bit of banding issues... anyways, I really need to test this personally...

Yeah I can try that when this finishes. Seems to have hung at the moment "Created dummy window" on patch 24 of 34. Will let it run and see if I get an error or it's just stuck in a loop

I did several other tests and I am still stuck at some point during the process :

Capture d’écran 2024-03-11 à 19 15 51

Yeah I got stuck here: DisplayCAL: Patterngenerator sent count: 22
DisplayCAL: Patch update count: 23
Patch 23 of 34
Current RGB 165 167 170 0.647052 0.654951 0.665790
DisplayCAL: Sending RGB 0.647 0.655 0.666, background RGB 0.135 0.133 0.131, x 0.3756, y 0.1844, w 0.3281, h 0.5076
DisplayCAL: Patterngenerator sent count: 23
DisplayCAL: Patch update count: 24
Patch 24 of 34
Current RGB 175 176 179 0.684835 0.691654 0.702482

Just a partial snippet, but I can copy pasta everything if it helps

Interesting, so the issue is not only on my side, that's reassuring, in a sense ahah

Interesting, so the issue is not only on my side, that's reassuring, in a sense ahah

Well, this is already leaps and bounds further than it was before. It sends patches, although maybe not all of them... but yeah it hung there for 20 mins after running for about 35.

Yes, it's already a big step forward, because before we weren't even able to send patches threw Resolve.
Thank you @eoyilmaz for supporting us and our specific DaVinci Resolve use of DisplayCal 👍

No worries, I'll solve this soon 👍

Hi all, wanted to add my own anecdata to this discussion.
First off, I have not had issues with patches displaying or updating in Resolve as noted in the original issue of this thread; that whole pipeline functions the same for me as it did back in the Python 2/Ventura version.
However, I have issues with a Resolve profile not completing, which it seems this discussion has shifted to address.

I first encountered this last week running the latest commit of the develop branch (c1930ec I think), Argyll 3.1.0, an i1 Display Pro Plus, Resolve 18.6.5, Apple M2, and macOS Sonoma 14.4.
Starting a profile, connecting to Resolve, the calibrate step, and beginning the profile work fine. The profile starts and the patches update, but after a (frustratingly inconsistent) period, the process hangs/freezes/stalls and requires the user to abort the process. DisplayCAL then shows a window simply saying "The profile was not completed."
I tried this on multiple testcharts and varying patch sizes. For some unknown reason, the profile would only complete when using the "Large testchart for LUT profiles" which has 778 patches. But with any patch size of the "Auto-optimized" chart or even using a custom-sized testchart the process failed.

So when I saw this discussion today, I was hopeful it might be the same problem. My fail states were the same as Bazitor in their screenshot here. The DisplayCAL window says "Measured display update delay..." and the terminal shows the last patch info and no error codes.

I installed the new branch as Erkan posted here, and ran several tests.

  1. Auto-optimized chart of 115 patches completed successfully.

Ok, great, I'll try a more typically-sized chart.

  1. Auto-optimized chart of 1553 patches failed after ~50 minutes at patch 772 of 1519 (~50% progress).
    Screenshot 2024-03-11 at 5 50 12 PM

Ok, I'll try a chart with fewer than 700 patches.

  1. Auto-optimized chart of 596 patches failed after ~20 minutes at patch 176 of 562 (~32% progress).
    Screenshot 2024-03-11 at 6 23 08 PM

Ok, I'll try turning the ArgyllCMS debugging output back on.

  1. Auto-optimized chart of 596 patches failed after ~27 minutes at patch 388 of 562 (~69% progress).
    This showed the same behavior I'd seen last week, which is that it doesn't show an error code or anything, it just repeats this output over-and-over in the terminal until the process is aborted:

i1d3_command: Sending cmd 'GetDiffuserPosition' args '94 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' icoms_hid_write: 64 bytes, tout 1.000000 icoms_hid_write: wrote 64 bytes, ICOM err 0x0 i1d3_command: ICOM err 0x0 i1d3_command: Reading response icoms_hid_read: 64 bytes, tout 1.000000 HID callback called with size 64, result 0x0 icoms_hid_read: About to return hid read 64 bytes, ICOM err 0x0 i1d3_command: got '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' ICOM err 0x0 i1d3_get_diffpos: got 0

Screenshot 2024-03-11 at 6 51 42 PM

As there are no actual error codes or any seeming consistency to the fail states, I'm not sure if any of this is helpful.

Thank you again, Erkan, for all your work on this project! Much appreciated! Would love to contribute in any way I can by running more tests if needed.

Hey @ethanbrookins thanks for the detailed feedback that will definitely help 👍

So, I've written a simple Qt application that consumes and displays the colors that DisplayCAL is generating in a small window, essentially simulating DaVinci Resolve. And an Auto Optimized chart with 34 colors (ended up measuring over 200+ color patches) finished successfully. Now trying an Auto Optimized chart with 175 colors and... yeah just I was writing this, I think I managed to have the freeze on 48th patch... It is good that I can reproduce the bug... Let's see where is it breaking...

I've got more anecdata from testing today, unfortunately not definitive, but sharing anyway.

I made some changes to my local code to fix the colorimeter correction workflow and then thought I found something related to Resolve, so went back to running profile tests to A-B that. Same setup from 2 days ago.

I ran 2x each auto-optimized charts of 115, 175, 425, 596, and 833 patches and all 10 completed successfully.

I then did a fresh install of the 302-resolve-patches-do-not-update branch in a new folder and a 425 patch completed successfully. So the edits I'd made locally seemed to have no effect.

I went back my original installation of the develop branch from last week and a 425 patch chart failed at patch 315. The process self-aborted this time and the terminal included “Sample read failed due to communication problem.” and “Sample read failed with unhandled error.” This was new, but wasn't sure if it was actually a brief drop in the connection to the i1D3, since it's been running for several hours straight by now.

Then I did a fresh install to a new folder of the develop branch and attempted a 425 patch chart. It got stuck at patch 52 with the same familiar hang state and required me to cancel it.

Then just for the heck of it, I went back to the original install from last week of the develop branch and it just successfully completed a 425 patch chart.

The only other variable I can think of that changed is that yesterday I ran a brew upgrade and the packages it updated were "node, jpeg-xl, openexr, glib, python@3.12, xz, ca-certificates". At first I thought python update might have affected it, but I double-checked and it did not. Since I didn't manually relink 3.12 as the default, my default python is still 3.11.8 and has been all 4 of the installations I mentioned.

So again, still not sure what exactly is going on. I'll try some more tests tomorrow with the 302-resolve-patches-do-not-update installation that was working consistently today to see if it will complete a profile with the full ~2000 patches I typically use to build a LUT. ¯_(ツ)_/¯

I think I found the culprit :)

As I see we are running a ".wait" file, essentially a Python script, that we are generating before running the measurements, it runs every time a colorpatch is generated, and it seems this file gets stuck in a wihle loop while checking if the process is aborted...

By the way @ethanbrookins if you tried any other branch then 302-resolve-patches-do-not-update the code should not work at all, as there was a bug relating to the parsing of ArgyllCMS's output. So, I'm puzzled when you said it worked in the develop branch... Also, none of the libraries that you have updated should be relevant.

I modified the .wait script a little so that it timeouts after 5 seconds, I'm not sure if it did timeout at all, didn't check the output, but I was able to finish a 175 patch profile.

I made the timeout panic message a little more apparent, and I'll keep running the profiling a couple more times, trying to see if it will timeout and recover from the freezed state.

Finished another 175 patch profile without any errors, now running a 425 patch one...

Finished 425 patch one... I'll update the branch in a minute, please try and let me know if it working for you guys 👍

okay good to go... let's try it.

also started a 2000+ patch profile...

Terrific! I'll try on my end in a few hours. Since I'm a total newb at GitHub and commits, can you just post a walkthrough on how to run that latest branch?

Ready for testing !
Yes, @eoyilmaz please let us know how to run the updated branch you mention 👍

So to test it you just need to run the following in the displaycal-py3 folder:

git fetch --all
git checkout 302-resolve-patches-do-not-update
git pull
make venv
source .venv/bin/activate
./DisplayCAL.pyw

Apart from this the 2000+ patch profile finished, but I see a lot of PANIC.... Checking Abort/OK TIMEOUT! messages that included to the .wait callback, so my "fix" is running and breaking the while..loop there when it gets stuck, and the color patches that it get stuck are fairly bright, so it is not that we are panicking early for a dark patch. And then Argyll throws Warning - did we loose sync with the pattern generator? error...

DisplayCAL stucks there because it couldn't find an .ok or .abort file, I think my "fix" is not fixing the real cause, the real cause should be around this line: https://github.com/eoyilmaz/displaycal-py3/blob/302-resolve-patches-do-not-update/DisplayCAL/worker.py#L13087

These while loops are killing me. Normally you would have a signal slot mechanism as in Qt to trigger things, here we loop and constantly check a variable, that's not an adaptive solution...

So to test it you just need to run the following in the displaycal-py3 folder

What do you mean by this ?
Sorry I am not an expert like you ahah

So to test it you just need to run the following in the displaycal-py3 folder

What do you mean by this ? Sorry I am not an expert like you ahah

you just need to point terminal at the right folder where your python3 is located. cd is change directory, then the path. so if it's in your downloads, cd ~/Downloads

then you can just copy pasta the rest of his instructions

Sorry I am not an expert like you ahah

Ah sorry, no worries, I'm not an expert either (at least not in the level I wanted to be). Do exactly as @MikeGurfield said, change the directory to the displaycal-py3 folder by running cd {what_ever_the_path_is}/displaycal-py3 and run the commands I gave.

By the way, I think there is no use of testing it right now, I believe the socket is getting stuck in recv or in send mode in some ways, I'm still debugging the code, hopefully I'll pinpoint the real culprit soon.

Thank you for the infos @MikeGurfield and @eoyilmaz !

I did one test and it didn't get stuck during the process.
Indeed, I got some PANIC.... Checking Abort/OK TIMEOUT! messages, just like you mentioned @eoyilmaz .

It looks like it may take a bit longer than what I was used too, but it may just be me.
Hopefully you can get a more solid version @eoyilmaz if it's even possible, you have already done a great work here !

This is a big improvement considering that the profiling can be completed now 👍
Thank you very much @eoyilmaz !

Capture d’écran 2024-03-14 à 19 23 01 Capture d’écran 2024-03-14 à 19 26 56 Capture d’écran 2024-03-14 à 19 38 37 Capture d’écran 2024-03-14 à 19 47 46

Sorry I am not an expert like you ahah

Ah sorry, no worries, I'm not an expert either (at least not in the level I wanted to be). Do exactly as @MikeGurfield said, change the directory to the displaycal-py3 folder by running cd {what_ever_the_path_is}/displaycal-py3 and run the commands I gave.

By the way, I think there is no use of testing it right now, I believe the socket is getting stuck in recv or in send mode in some ways, I'm still debugging the code, hopefully I'll pinpoint the real culprit soon.

@Bastizor I wouldn't trust the calibration you are getting until @eoyilmaz solves these issues... But also @eoyilmaz thank you so much for all your hard work continuing to develop this much needed software.

@Bastizor I wouldn't trust the calibration you are getting until @eoyilmaz solves these issues... But also @eoyilmaz thank you so much for all your hard work continuing to develop this much needed software.

Of course this only for testing purposes, I am not generating a LUT from this calibration profile.

I tested profiling the auto-optimized 2069 patch chart.

On my original install of the 302-resolve-patches-do-not-update branch from March 11, the first attempt stalled on patch 6 of 34 in the initial greyscale ramp, which was new. However, the next attempt completed successfully in almost exactly 2 hours.

I then did a separate fresh install of the302-resolve-patches-do-not-update branch to get the new commits added today. The first attempt completed successfully, also within a minute of 2 hours. So it didn't seem to affect the runtime.

I did not get any PANIC.... Checking Abort/OK TIMEOUT! messages in the terminal. If they are only in the GUI, like the screenshots Bastizor posted, I didn't see them as I wasn't watching the screen for the full two hours haha.

But also @eoyilmaz thank you so much for all your hard work continuing to develop this much needed software.

Hey @MikeGurfield happy if I'm helpful in anyways. Also, there are other hard working developers in the project and I accept your gratuate on behalf of them.

@ethanbrookins you would normally see the message on the terminal too, you can do a textual search.

But, I think I found (or hope that I did) the root cause of this. It is a regular expression that supposed to be matching the "Current" part of the "Current RGB..." message and it is not. I fixed it and I removed the timout and completed a 2000+ patch profile wihtout any issues. The only weird thing left is the incorrectly triggered "Warning - did we loose sync with the pattern generator?" messages.

I pushed my changes, it would be nice if you guys can test it.

Also I just realized that we had a fix for #231 which might also introduce this bug in handling the OSError.

@eoyilmaz Ah, I didn’t word that clearly enough. I did do a text search of the terminal after it completed and it did not contain the PANIC.... Checking Abort/OK TIMEOUT! message at all.

I just pulled the new commit and started another 2069 patch profile and will report back.

Ok this one was different. Starting with the first patch I get the Warning - did we loose sync with the pattern generator? message twice for each patch. So the Patterngenerator sent count is quickly offset from the Patch update count.

Here are the first 5 patches:

Measured display update delay of 45 msec, using delay of 160 msec & 0 msec inst reaction
DisplayCAL: Patch update count: 1
Patch 1 of 34
Current RGB 255 255 255 1.000000 1.000000 1.000000
DisplayCAL: Sending RGB 1.000 1.000 1.000, background RGB 0.000 0.000 0.000, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 1
DisplayCAL: Patch update count: 2
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 3
Patch 2 of 34
Current RGB 255 255 255 1.000000 1.000000 1.000000
DisplayCAL: Sending RGB 1.000 1.000 1.000, background RGB 0.000 0.000 0.000, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 2
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 4
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 5
Patch 3 of 34
Current RGB 255 255 255 1.000000 1.000000 1.000000
DisplayCAL: Sending RGB 1.000 1.000 1.000, background RGB 0.000 0.000 0.000, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 3
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 6
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 7
Patch 4 of 34
Current RGB 255 255 255 1.000000 1.000000 1.000000
DisplayCAL: Sending RGB 1.000 1.000 1.000, background RGB 0.000 0.000 0.000, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 4
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 8
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 9
Patch 5 of 34
Current RGB 0 0 0 0.000000 0.000000 0.000000
DisplayCAL: Sending RGB 0.000 0.000 0.000, background RGB 0.327 0.327 0.327, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 5
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 10
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 11

And the last five patches before it got stuck and I manually paused then cancelled:

Patch 758 of 2035
Current RGB 255 148 111 1.000000 0.580232 0.437045
DisplayCAL: Sending RGB 1.000 0.580 0.437, background RGB 0.000 0.000 0.000, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 758
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 1516
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 1517
Patch 759 of 2035
Current RGB 74 0 45 0.289960 0.000000 0.174520
DisplayCAL: Sending RGB 0.290 0.000 0.175, background RGB 0.186 0.327 0.242, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 759
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 1518
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 1519
Patch 760 of 2035
Current RGB 75 0 66 0.292721 0.000000 0.259252
DisplayCAL: Sending RGB 0.293 0.000 0.259, background RGB 0.184 0.327 0.201, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 760
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 1520
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 1521
Patch 761 of 2035
Current RGB 0 65 159 0.000000 0.254583 0.622654
DisplayCAL: Sending RGB 0.000 0.255 0.623, background RGB 0.327 0.203 0.023, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 761
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 1522
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 1523
Patch 762 of 2035
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 1524
Current RGB 0 86 162 0.000000 0.335720 0.635247
DisplayCAL: Pausing...

Also, it got stuck a little after 1 hour, with about 2 hours estimated remaining, so seems to be going about 50% slower overall. I'll try running it again in the morning to see if I get a different result.

I ran another 2069 patch test. This one again had Warning - did we loose sync with the pattern generator? twice per patch. It made it to patch 1910 after about 3 hours and 10 minutes before it got stuck in the same familiar way and I had to cancel it. Here are the final 5 patches:

Patch 1906 of 2035
Current RGB 105 121 179 0.411162 0.472893 0.700413
DisplayCAL: Sending RGB 0.411 0.473 0.700, background RGB 0.118 0.090 0.000, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 1906
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 3812
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 3813
Patch 1907 of 2035
Current RGB 130 146 202 0.511261 0.572481 0.791941
DisplayCAL: Sending RGB 0.511 0.572 0.792, background RGB 0.041 0.025 0.000, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 1907
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 3814
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 3815
Patch 1908 of 2035
Current RGB 25 158 95 0.096154 0.617659 0.371231
DisplayCAL: Sending RGB 0.096 0.618 0.371, background RGB 0.281 0.026 0.146, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 1908
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 3816
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 3817
Patch 1909 of 2035
Current RGB 60 172 109 0.235271 0.675367 0.429371
DisplayCAL: Sending RGB 0.235 0.675 0.429, background RGB 0.211 0.000 0.117, x 0.2798, y 0.1163, w 0.4297, h 0.7639
DisplayCAL: Patterngenerator sent count: 1909
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 3818
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 3819
Patch 1910 of 2035
Warning - did we loose sync with the pattern generator?
DisplayCAL: Patch update count: 3820
Current RGB 63 201 200 0.248097 0.788895 0.783867
DisplayCAL: Pausing...

I found how it is getting stuck and I'm working on a solution. Basically the message "Current RGB i i i f f f" normally delivered as a single line message for DisplayCAL to parse it, but some times (because of the nature of sockets) the message delivered in parts, more than one line that is. So the rgb variable is never filled and the .ok file is not created and the .wait file stuck in a while loop. I'm thinking of creating a mechanism that will store the messages until all been delivered and the join them to retrieve the rgb data.

Okay gents, I have a working version now, doing a last test and I'll release it for you to test...

Okay it seems to be working fine, let's try it:

git fetch --all
git checkout 302-resolve-patches-do-not-update
git pull
make venv
source .venv/bin/activate
./DisplayCAL.pyw

Pulled and started another 2069 patch profile. Zero sync warnings so far.

It successfully completed with zero sync warnings in the terminal. Patch update count and Patterngenerator sent count remained equal the entire time. Took the nominal ~2 hours to complete.

Yeah, you would have warnings like "Data is not fully received, storing partial data:" and "Combining previous data of:" log messages if there are any errors that DisplayCAL is now able to handle.