Bug 2397248 - displaycal doesn't work with Python 3.14: RuntimeError: Need Python version >= 3.8 <= 3.13, got 3.14.0rc3
Summary: displaycal doesn't work with Python 3.14: RuntimeError: Need Python version >...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: DisplayCAL
Version: 43
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Neal Gompa
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.14
TreeView+ depends on / blocked
 
Reported: 2025-09-22 09:00 UTC by Karolina Surma
Modified: 2026-01-03 00:19 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Karolina Surma 2025-09-22 09:00:08 UTC
Description of problem:

From: https://bodhi.fedoraproject.org/updates/FEDORA-2025-40fbce042c

❯ displaycal
Traceback (most recent call last):
  File "/usr/bin/displaycal", line 4, in <module>
    from DisplayCAL.main import main
  File "/usr/lib/python3.14/site-packages/DisplayCAL/main.py", line 21, in <module>
    raise RuntimeError(
    ...<6 lines>...
    )
RuntimeError: Need Python version >= 3.8 <= 3.13, got 3.14.0rc3


Unfortunately package doesn't run any tests, so we didn't catch it during the year of integration. Please add at least an import check or some other smoke test to the specfile.

Comment 1 Miro Hrončok 2025-09-22 10:07:51 UTC
The version is read from https://github.com/eoyilmaz/displaycal-py3/blob/3.9.16/DisplayCAL/meta.py#L57 and the RuntimError is raised in https://github.com/eoyilmaz/displaycal-py3/blob/3.9.16/DisplayCAL/main.py#L20

For the purpose of distro packaging, I think the entire check should be packaged out.

I am setting the severity to high, as this package is completely non-functional.

Comment 2 Neal Gompa 2025-09-22 13:39:37 UTC
Yes, I agree it should be patched out. Would you be willing to send a PR for it? I can take it and build it.

Comment 3 Miro Hrončok 2025-09-22 15:44:10 UTC
The patch is simple, but even then, I have trouble running a basic smoke test in %check.

  xwfb-run -c mutter -- displaycal --version / --help

Both hang, as if the options do nothing.

Comment 4 Michael Cronenworth 2026-01-03 00:19:28 UTC
Patching out the version check won't help much. It does let the app start, but a calibration does not complete. There is at least two issues presented in calibration.

1) DisplayCAL usage of json.dumps() and an encoding parameter (gone in Python 3.14)
2) Calibration does not complete after #1 is patched. DisplayCAL complains "DisplayCAL is already running" and does not finish a calibration.

I had to install into a Python 3.13 virtual environment and a calibration completed successfully inside of it.


Note You need to log in before you can comment on or make changes to this bug.