Aller au contenu
View in the app

A better way to browse. Learn more.

Forumdephotos.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

DisplayCAL est enfin disponible en python 3

Featured Replies

Posté(e)

Bonjour à tous et à toutes.

DisplayCAL en Python 3

displaycal.webp

DisplayCAL est une interface graphique pour ArgyllCMS qui sert à calibrer des écrans. Ce sont tous les deux des logiciels libres.

Florian Höch, le développeur original de DisplayCAL pendant la pandémie a perdu sa passion pour le projet. Le problème, c’est que le logiciel est écrit en Python 2, une version qui n’est plus supportée. Les distributions GNU/Linux ont toutes supprimé les unes après les autres Python 2 donc ont supprimé DisplayCAL de leurs dépôts. Le problème, c’est que c’est la seule solution abordable pour calibrer ses écrans avec une interface graphique sous GNU/Linux.

Erkan Ozgur Yilmaz sous le pseudo de eoyilmaz a décidé de porter DisplayCAL en Python 3. Même si il reste quelques bogues, DisplayCAL est néanmoins utilisable. Vous pouvez donc l’utiliser sur votre distribution GNU/Linux préféré.
Il n’y a pas encore de paquets disponibles, mais une installation à la main est possible et ce n’est pas très compliqué.

Installation

Sous Debian, Ubuntu et Mint, installez les dépendances requises pour l’installation :

apt-get install build-essential dbus libglib2.0-dev pkg-config libgtkd-3-dev libxxf86vm-dev

Dans terminal, créez un répertoire displaycal dans votre répertoire Téléchargements et allez dedans.

mkdir Téléchagements/displaycal/
cd Téléchargements/displaycal/

Téléchargez les sources, créez un environnement virtuel et installez le logiciel :

git clone https://github.com/eoyilmaz/displaycal-py3
python -m venv ./displaycal_venv
source ./displaycal_venv/bin/activate
cd ./displaycal-py3/
pip install -r requirements.txt
python -m build
pip install dist/DisplayCAL-3.9.*.whl

Ça y est, DisplayCAL en Python 3 est installé.
Testez le logiciel avec la commande dans le même terminal :

displaycal

Le logiciel devrait démarrer.

displaycal-python-3-1024x841.webp DisplayCAL

Pour les utilisations suivantes, taper la commande displaycal ne fonctionnera pas car l’environnement n’est pas défini.

Pour remédier à cela, j’ai créé un script Shell. Ouvrez votre éditeur de texte préféré et copiez les lignes suivantes dedans :

#!/bin/shcd
cd Téléchargements/displaycal/
python -m venv ./displaycal_venv
source ./displaycal_venv/bin/activate
displaycal

Enregistrez le fichier dans le répertoire bin de votre dossier personnel sous le nom displaycal.sh.
Avec votre gestionnaire de fichiers, rendez ce fichier exécutable en faisant un clic droit sur le fichier, choisissez « Propriétés… » puis dans l’onglet « Permissions », dans la ligne « Programme », cochez « Autoriser ce fichier à être exécuté comme un programme ».
Testez votre fichier dans un terminal par :

bin/displaycal.sh

Plutôt que lancer DisplayCAL depuis un terminal, vous pouvez créer un lanceur.
La procédure peut changer suivant votre environnement de bureau.
Avec XFce, faites un clic droit sur votre bureau à un endroit vide et choisissez « Créer un lanceur… »
La fenêtre suivante s’ouvre :

creer-un-lanceur.webp Créer un lanceur

Dans le champ « Nom », mettez DisplayCAL.
Dans le champ « Commentaire », mettez une description du logiciel (ce n’est pas obligatoire).
Dans le champ « Commande », mettez bin/displaycal.sh
Laissez le champ « Répertoire de travail » vide.
À « Icône », cliquez sur « Pas d’icône » et sélectionnez l’icône qui est dans le répertoire « Téléchargements/displaycal/displaycal-py3/theme/icons/ ».
Vous pouvez laisser le lanceur sur le bureau ou le glisser-déposer sur un tableau de bord.

Ignace.

 

Posté(e)
  • Auteur

Pourquoi est-ce que ce passage de Python 2 vers Python 3 est si important ?

Python 2 n'est plus supporté depuis 2020, ce qui veut dire qu'il n'y a plus de mises à jour depuis cette date, il n'y a même plus de mises à jour de sécurité ce qui veut dire que même s’il y a bogue découvert ou s’il y a une faille de sécurité, il n'y aura pas de correction, donc l'utilisation d'un logiciel utilisant Python 2 peut devenir problématique et même dangereux pour une faille de sécurité.

Ignace.

Posté(e)
  • Auteur

[b]Installation par un paquet avec Pacman pour ArchLinux et Manjaro Linux[/b]

Si vous voulez, vous pouvez installer cette version en un paquet pour Pacman car il est disponible dans les dépôts testing d’ArchLinux.
Sur Manjaro Linux, il manque trois dépendances : python-send2trash, python-wxpython et python-build qui sont disponibles ici :
https://archlinux.org/packages/community/any/python-send2trash/download

https://archlinux.org/packages/community/x86_64/python-wxpython/download

https://archlinux.org/packages/community/any/python-build/download
Installez-les avec

sudo pacman -U python-build-0.7.0-4-any.pkg.tar.zst python-send2trash-1.8.0-3-any.pkg.tar.zst python-wxpython-1\ 4.0.7.2-3-x86_64.pkg.tar.zst


En suite, allez sur cette page https://github.com/archlinux/svntogit-community/blob/packages/displaycal/trunk/PKGBUILD et copier le code du PKGBUILD que vous enregistrez dans un fichier du même nom.
Faites un makepkg.
Et installez le paquet produit avec un :

sudo pacman -U displaycal-3.9.2-1-x86_64.pkg.tar.zst


Voilà, pour lancer le programme, allez dans votre menu, catégorie « Graphisme » et cliquez sur « DisplayCAL ».

Ignace.

Modifié par ignace72

Posté(e)
  • Auteur

D'après ce qu'on m'a dit, les trois paquets de dépendance ne doivent pas être installés séparément avec Manjaro Linux, car ils sont déjà présents dans les dépôts de Manjaro, donc je ne sais donc pas pourquoi j'ai eu un message d'erreur de dépendances non satisfaite de mon installateur.

Ignace.

Posté(e)

et pour WIndaube, ya pas ?

Posté(e)
  • Auteur

Bonjour, @carriole.

J'ai regardé et il y a aussi pour Mac OS mais je n'ai rien trouvé pour Windows, juste que c'est prévu. Le développeur n'ayant pas Windows, c'est donc plus long. Pour Mac OS, c'est plus facile, car c'est un OS de la famille des UNIX donc il y a beaucoup de point commun avec GNU/Linux.

Ignace.

Posté(e)
Il y a 2 heures, ignace72 a dit :

Bonjour, @carriole.

J'ai regardé et il y a aussi pour Mac OS mais je n'ai rien trouvé pour Windows, juste que c'est prévu. Le développeur n'ayant pas Windows, c'est donc plus long. Pour Mac OS, c'est plus facile, car c'est un OS de la famille des UNIX donc il y a beaucoup de point commun avec GNU/Linux.

Ignace.

ok merci pour l'info

Posté(e)
  • Auteur

Bonjour, @Xavier11100.

De rien c'est un plaisir car c'est un projet qui me tiens à cœur car c'est le seule logiciel de calibration d'écrans abordable (il coûte pas un sous) disponible sous GNU/Linux.

Pour l'installer dans le répertoire /opt/ (ce qui est plus sécuritaire) :
https://ignace72.eu/displaycal-en-python-3.html#installation-depuis-le-site-officiel-repertoire-opt

La version 3.9.3 est sorti il y a 4 heures.
Liste des changements :

* Corrigé #97 https://github.com/eoyilmaz/displaycal-py3/issues/97
* Fixé gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkSpinButtonerreurs dans synthicc.xrc.
* Supprimé libgtkd-3-devdépendance, qui devrait être une faute de frappe et non nécessaire pour DisplayCAL.
* Fixé gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkSpinButtonerreurs dans 3dlut.xrc.
* Remplacement de toutes les concaténations de chaînes par des commandes de format sur les chemins de code possibles pour corriger le #86 https://github.com/eoyilmaz/displaycal-py3/issues/86.
* Modifications appliquées manuellement de #99 https://github.com/eoyilmaz/displaycal-py3/pull/99 de @gavtroy.

Ignace.

Posté(e)
  • Auteur

Attention : l'étape de construction du logiciel est longue, vous pourriez croire que l'installation est plantée, mais il n'en est rien si la barre tourne même lentement. Le processus utilise tous les cœurs de votre processeur.

Ignace.

  • 2 weeks later...
  • 2 weeks later...
Posté(e)
  • Auteur

La procédure d’installation est maintenant sans compilation.

Vous faites une des deux commandes suivantes dans un terminal :

pip install displaycal

ou

sudo pip install displaycal

Pour openSUSE Leap 15.3, il faut installer Python 3.9 et l’activer par défaut :

sudo zypper install python39 python39-devel python39-tools
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2000
sudo update-alternatives --install /usr/bin/pip3 pip3 /usr/bin/pip3.9 2000
Et faire en suite un :
pip3 install displaycal

Le lanceur se trouve dans votre menu Applications, rubrique : Graphisme à : DisplayCAL.

Ignace.

Modifié par ignace72

Posté(e)

Tu es très actif, Ignace.

Merci pour ceux qui ont besoin de calibrer leur écran.

 

Posté(e)
  • Auteur

De rien, n’étant pas développeur, j’aide à ma mesure en faisant connaître le projet.

Ignace.

  • 2 weeks later...
Posté(e)
  • Auteur

Bonjour à tous et à toutes.
La version 3.9.6 est sortie.

Si vous avez déjà DisplayCAL installé, la commande suivante suffit :

pip install displaycal --upgrade


Ignace.

  • 1 month later...
Posté(e)

Bonjour,

Je suis sous mint 20.

Voulant installer displaycal, j'ai suivi les recommandations ci-dessus en remplaçant "python" par "python3".

J'ai un message d'erreur après la commande :

sudo pip install displaycal

Building wheels for collected packages: displaycal
  Building wheel for displaycal (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmp1bfgbbub build_wheel /tmp/tmp9gy51j3r
       cwd: /tmp/pip-install-rxdw05k4/displaycal
  Complete output (134 lines):
  ['bdist_wheel', '--dist-dir', '/tmp/pip-wheel-biba1vkf/tmpwqouuj_5']
  *** /tmp/tmp1bfgbbub bdist_wheel --dist-dir /tmp/pip-wheel-biba1vkf/tmpwqouuj_5
  using distutils
  desktopfile: /tmp/pip-install-rxdw05k4/displaycal/DisplayCAL/../misc/displaycal.desktop
  desktopfile: /tmp/pip-install-rxdw05k4/displaycal/DisplayCAL/../misc/displaycal-3dlut-maker.desktop
  ...

si quelqu'un a une idée, je suis preneur ...

merci; Gérard.

Posté(e)

J'ai re-cherché et j'ai trouvé cette commande qui me fait passer l'étape :

pip install --upgrade pip setuptools wheel testresources

* trouvé ici https://github.com/pydata/bottleneck/issues/281

Mais j'ai maintenant d'autres erreurs plus loin ! Peut-être dues à l'environnement cinnapmon ....?

      running build_ext
      building 'DisplayCAL.lib64.python38.RealDisplaySizeMM' extension
      creating build/temp.linux-x86_64-cpython-38
      creating build/temp.linux-x86_64-cpython-38/DisplayCAL
      x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DUNIX -I/mnt/DATA/DISTRIB/GRAPHISME/displaycal/displaycal_venv/include -I/usr/include/python3.8 -c DisplayCAL/RealDisplaySizeMM.c -o build/temp.linux-x86_64-cpython-38/DisplayCAL/RealDisplaySizeMM.o
      DisplayCAL/RealDisplaySizeMM.c:31:11: fatal error: X11/extensions/dpms.h: Aucun fichier ou dossier de ce type
         31 | # include <X11/extensions/dpms.h>
            |           ^~~~~~~~~~~~~~~~~~~~~~~
      compilation terminated.
      /tmp/pip-build-env-7xxujes2/overlay/lib/python3.8/site-packages/setuptools/config/setupcfg.py:463: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
        warnings.warn(msg, warning_class)
      error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for displaycal
  Building wheel for dbus-python (setup.py) ... error
  error: subprocess-exited-with-error

 

Posté(e)
  • Auteur

Bonsoir, gerori.

Depuis la version 1.9.5, tu n’as plus besoin de passer par la commande python ou python3.

Il est toujours préférable de passer par les paquets de ta distribution plutôt que de passer par pip pour installer des modules Python quand les paquets sont disponibles.

La nouvelle procédure est la suivante (testé sur une Mint 20 dans une machine virtuelle (je viens de tester à l’instant)) :

sudo apt-get install python3-pip libgtk-3-dev libxxf86vm-dev libglib2.0-dev

pip install displaycal

Mettre :

export PATH=/home/$USER/.local/bin:$PATH

à la fin du fichier .bashrc . Se déconnecter et se reconnecter.

Voilà.

Dans ton retour du terminal il est indiqué que tu n’as pas installé toutes les dépendances, car pip ne trouve pas une librairie de développement lié à X11 et la commande GCC.

Avant de faire l’installation, il faut bien lire tout le fil, car ne pouvant modifier le message décrivant la procédure, elle se retrouve périmée. Pour trouver la procédure à jour, le mieux est d’aller sur ma page (https://ignace72.eu/displaycal-en-python-3.html), car elle contient les procédures à jour.

Ignace.

Créer un compte ou se connecter pour commenter

Account

Navigation

Rechercher

Rechercher

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.