M
mba

  • 10 mars 2009
  • Inscrit 7 avr. 2008
  • 0 meilleure réponse
  • Après d'autres divers essais, j'ai finalement réussi à passer le cap de l'appel à XAllocColorCells() mais à trois conditions :

    - utiliser Fedora 9
    - utiliser mvm
    - configurer xorg.conf afin d'être défaut en depth 8

    Autrement dit, ce qui ne marchait pas avec Fedora 6 fonctionne avec Fedora 9 alors qu'a priori la même version de lesstif est utilisée... 😐

    Bref.

    Cependant, bien que l'appel à XAllocColorCells() se passe avec succès désormais, j'ai toujours le même souci :
    3- l'appli par contre tourne bien concernant les objets Motif : barres de menus, menus déroulants, menus pop-up, liste déroulante, tout fonctionne à quasi 100% avec les bonnes couleurs. Mais la gestion des canvas est totalement foireuse car comme aucune colormap n'a pas être associée à une palette de couleurs, tous les fonds sont noirs et les objets graphiques (textes, rectangles, cercles, ...) sont à peine visibles car dessinés dans une couleur improbable.
    Je n'ai pas encore relancé l'ensemble sous debugger pour voir si un autre appel serait foireux mais bon... :roll:
  • Bon. Voici quelques infos supplémentaires.

    Je pense avoir cerné mon problème. Mais je ne sais toujours pas comment le résoudre. 🙁

    L'appli que je porte depuis HP-UX a besoin d'utiliser une colormap dynamique car elle utilise le mode overlay XOR de Motif pour travailler.

    Or, ce mode très particulier requiert l'emploi d'une colormap dont la palette est accessible en lecture / écriture.

    Mais si par malheur le Serveur X charge par défaut une colormap statique, l'accès en lecture seule est possible sur la colormap par défaut.

    Il semble donc que je sois dans ce cas : mon Serveur X utilise par défaut une colormap statique. Mais impossible de trouver comment la forcer en dynamique par défaut...

    Par ailleurs, j'ai fait des tests en passant en mode 2 (init 2) afin de lancer X à la main avec la commande suivante : startx -- -render mono.

    Grâce à cette option, je parviens à utiliser XAllocColorCells()... mais à condition de n'utiliser que 3 bit-plans maximum. J'ai bien entendu mon visual configuré en 8bit - PseudoColor selon mon besoin.

    Le souci, c'est que j'ai besoin 8 bit-plans... Donc, ça ne m'avance à rien.


    J'ai par ailleurs tenté un démarrage de X avec la commande startx -- -render mono -sp Xsecurity avec
    Xsecurity wrote:version-1

    # If you are using Motif, you probably want these.
    property _MOTIF_DEFAULT_BINDINGS rootar iw
    property _MOTIF_DRAG_WINDOW root ar iw
    property _MOTIF_DRAG_TARGETS any ar iw
    property _MOTIF_DRAG_ATOMS any ar iw
    property _MOTIF_DRAG_ATOM_PAIRS any ar iw

    # To let untrusted clients use the standard colormaps created by
    # xstdcmap, include these lines.
    #property RGB_DEFAULT_MAP root ar
    #property RGB_BEST_MAP root ar
    #property RGB_RED_MAP root ar
    #property RGB_GREEN_MAP root ar
    #property RGB_BLUE_MAP root ar
    #property RGB_GRAY_MAP root ar

    # To let untrusted clients use the overlay visuals that many vendors
    # support, include this line.
    property SERVER_OVERLAY_VISUALS rootar
    Mais sans plus de succès.


    Bref, si quelqu'un sait comment configurer la colormap par défaut utiliser par le Serveur X, ça pourrait m'aider je pense.

    Je n'ai aucun fichier /etc/X11/xinit/xserverrc ni ~/.xserverrc sur mon système. Mais je ne suis même pas sûr que ce soit lui qui permette cette configuration.
  • NoT PuB wrote:La réponse au pendu:
    yum --enablerepo=remi update firefox
    Pour ma part, yum me retourne l'erreur suivante :

    Error getting repository data for remi, repository not found
    🙁


    EDIT :

    Je pense que j'ai trouvé des infos là : :-P

    EDIT 2 :

    Donc le lien ci-dessus est bien à visiter avant de lancer la commande yum --enablerepo=remi update firefox. 8-)

    Mais auparavant, j'ai également dû éditer mon fichier /etc/wgetrc afin de configurer mon proxy en modifiant les entrées http_proxy et ftp_proxy et d'activer ledit proxy en décommentant la ligne use_proxy=on. :-P
  • novicette wrote:slt le prof,

    j'ai pose une question qui necessitait une reponse alors si c pa pr en donner une, priere de s'abstenir.
    😐 Quand je vois ce genre de post, je me dis qu'il y a des coups de fusils qui se perdent... :roll:
  • Bonjour à tous,

    Actuellement occupé au portage d'une appli graphique en C / Motif sous HP-UX vers C / Lesstif sous FC6, je rencontre un souci majeur dans la gestion des colormaps.

    Tout d'abord, ma configuration :

    J'utilise FC6 avec le kernel 2.6.18-1.2798.fc6 sur un PC DELL Optiflex GX150 (Le noyau kernel-2.6.22.14-72.fc6 ne marche pas sur ce PC : après avoir tenté une mise à jour lors de l'installation de FC6, j'ai dû revenir en arrière car ça ne fonctionnait plus du tout)

    J'ai installé IceWM et MWM afin d'alléger l'ensemble car ce PC n'est pas un foudre de guerre. De plus, j'essaie d'être aussi proche que possible de l'environnement graphique original de Motif.

    Les packages Lesstif installés sont :
    Installed Packages
    Name : lesstif
    Arch : i386
    Version: 0.95.0
    Release: 20.fc6
    Size : 1.8 M
    Repo : installed
    Summary: OSF/Motif(R) library clone

    Name : lesstif-devel
    Arch : i386
    Version: 0.95.0
    Release: 20.fc6
    Size : 1.6 M
    Repo : installed
    Summary: Header files for LessTif/Motif development

    lesstif.i386 0.95.0-20.fc6 installed
    lesstif-clients.i386 0.95.0-20.fc6 installed
    lesstif-devel.i386 0.95.0-20.fc6 installed
    lesstif-mwm.i386 0.95.0-20.fc6 installed
    Les packages X11 installées sont :
    dbus-x11.i386 1.0.1-12.fc6 installed
    libX11.i386 1.0.3-7.fc6 installed
    libX11-devel.i386 1.0.3-7.fc6 installed
    vim-X11.i386 2:7.0.235-1.fc6 installed
    xorg-x11-apps.i386 7.1-3.fc6 installed
    xorg-x11-docs.noarch 1.2-4.fc6 installed
    xorg-x11-drivers.i386 7.1-3 installed
    xorg-x11-drv-acecad.i386 1.1.0-2.1 installed
    xorg-x11-drv-aiptek.i386 1.0.1-2 installed
    xorg-x11-drv-apm.i386 1.1.1-2.1 installed
    xorg-x11-drv-ark.i386 0.6.0-2.1 installed
    xorg-x11-drv-ast.i386 0.81.0-3 installed
    xorg-x11-drv-ati.i386 6.6.3-1.fc6 installed
    xorg-x11-drv-calcomp.i386 1.1.0-1.1 installed
    xorg-x11-drv-chips.i386 1.1.1-2.1 installed
    xorg-x11-drv-cirrus.i386 1.1.0-2.fc6 installed
    xorg-x11-drv-citron.i386 2.2.0-1.1 installed
    xorg-x11-drv-cyrix.i386 1.1.0-4 installed
    xorg-x11-drv-digitaledge.i386 1.1.0-1.1 installed
    xorg-x11-drv-dmc.i386 1.1.0-2 installed
    xorg-x11-drv-dummy.i386 0.2.0-2.1 installed
    xorg-x11-drv-dynapro.i386 1.1.0-2 installed
    xorg-x11-drv-elo2300.i386 1.1.0-1.1 installed
    xorg-x11-drv-elographics.i386 1.1.0-1.1 installed
    xorg-x11-drv-evdev.i386 1.1.2-2.1 installed
    xorg-x11-drv-fbdev.i386 0.3.0-2 installed
    xorg-x11-drv-fpit.i386 1.1.0-1.1 installed
    xorg-x11-drv-glint.i386 1.1.1-4.1 installed
    xorg-x11-drv-hyperpen.i386 1.1.0-2 installed
    xorg-x11-drv-i128.i386 1.2.0-4 installed
    xorg-x11-drv-i740.i386 1.1.0-2.1 installed
    xorg-x11-drv-i810.i386 1.6.5-10.fc6 installed
    xorg-x11-drv-jamstudio.i386 1.1.0-1.1 installed
    xorg-x11-drv-joystick.i386 1.1.0-1.1 installed
    xorg-x11-drv-keyboard.i386 1.1.0-2.1 installed
    xorg-x11-drv-magellan.i386 1.1.0-1.1 installed
    xorg-x11-drv-magictouch.i386 1.0.0.5-2.1 installed
    xorg-x11-drv-mga.i386 1.4.5-2.fc6 installed
    xorg-x11-drv-microtouch.i386 1.1.0-1.1 installed
    xorg-x11-drv-mouse.i386 1.2.1-1.fc6 installed
    xorg-x11-drv-mutouch.i386 1.1.0-2 installed
    xorg-x11-drv-neomagic.i386 1.1.1-2.1 installed
    xorg-x11-drv-nsc.i386 2.8.1-2.1 installed
    xorg-x11-drv-nv.i386 1.2.0-4.fc6 installed
    xorg-x11-drv-palmax.i386 1.1.0-1.1 installed
    xorg-x11-drv-penmount.i386 1.1.0-2.1 installed
    xorg-x11-drv-rendition.i386 4.1.0-3.1 installed
    xorg-x11-drv-s3.i386 0.5.0-1.fc6 installed
    xorg-x11-drv-s3virge.i386 1.9.1-2.1 installed
    xorg-x11-drv-savage.i386 2.1.2-3.fc6 installed
    xorg-x11-drv-siliconmotion.i386 1.4.1-2.1 installed
    xorg-x11-drv-sis.i386 0.9.1-7 installed
    xorg-x11-drv-sisusb.i386 0.8.1-4.1 installed
    xorg-x11-drv-spaceorb.i386 1.1.0-1.1 installed
    xorg-x11-drv-summa.i386 1.1.0-1.1 installed
    xorg-x11-drv-tdfx.i386 1.3.0-2.fc6 installed
    xorg-x11-drv-trident.i386 1.2.3-1.fc6 installed
    xorg-x11-drv-tseng.i386 1.1.0-3.1 installed
    xorg-x11-drv-ur98.i386 1.1.0-1.1 installed
    xorg-x11-drv-v4l.i386 0.1.1-4 installed
    xorg-x11-drv-vesa.i386 1.2.1-4 installed
    xorg-x11-drv-vga.i386 4.1.0-2.1 installed
    xorg-x11-drv-via.i386 0.2.1-7 installed
    xorg-x11-drv-vmmouse.i386 12.4.0-2.1 installed
    xorg-x11-drv-vmware.i386 10.13.0-2.1 installed
    xorg-x11-drv-void.i386 1.1.0-3.1 installed
    xorg-x11-drv-voodoo.i386 1.1.0-3.1 installed
    xorg-x11-filesystem.noarch 7.1-2.fc6 installed
    xorg-x11-font-utils.i386 1:7.1-2 installed
    xorg-x11-fonts-100dpi.noarch 7.1-2 installed
    xorg-x11-fonts-75dpi.noarch 7.1-2 installed
    xorg-x11-fonts-ISO8859-1-100dpi.noarch 7.1-2 installed
    xorg-x11-fonts-ISO8859-1-75dpi.noarch 7.1-2 installed
    xorg-x11-fonts-Type1.noarch 7.1-2 installed
    xorg-x11-fonts-base.noarch 7.1-2 installed
    xorg-x11-fonts-misc.noarch 7.1-2 installed
    xorg-x11-fonts-truetype.noarch 7.1-2 installed
    xorg-x11-proto-devel.i386 7.1-9.fc6 installed
    xorg-x11-server-Xorg.i386 1.1.1-47.10.fc6 installed
    xorg-x11-server-utils.i386 7.1-4.fc6 installed
    xorg-x11-twm.i386 1:1.0.1-3.1 installed
    xorg-x11-util-macros.i386 1.0.2-4.fc6 installed
    xorg-x11-utils.i386 7.1-2.fc6 installed
    xorg-x11-xauth.i386 1:1.0.1-2.1 installed
    xorg-x11-xfs.i386 1:1.0.5-1.fc6 installed
    xorg-x11-xinit.i386 1.0.2-16.fc6 installed
    xorg-x11-xkb-utils.i386 1.0.2-2.1 installed
    xorg-x11-xtrans-devel.i386 1.0.1-1.1.fc6 installed
    [root@localhost ~]# yum list installed | grep -i -e lesstif
    lesstif.i386 0.95.0-20.fc6 installed
    lesstif-clients.i386 0.95.0-20.fc6 installed
    lesstif-devel.i386 0.95.0-20.fc6 installed
    lesstif-mwm.i386 0.95.0-20.fc6 installed
    L'appli d'origine est codée pour travailler sous HP-UX en mode 8bit - PseudoColor car elle utilise une colormap dont les cellules doivent être accessibles en lecture / écriture (seuls les modes PseudoColor et DirectColor autorisent ce type d'accès dans les cellules d'une colormap).

    Sous FC6, j'ai essayé les modes vidéos suivants :

    8 bit PseudoColor
    8 bit DirectColor
    16 bit PseudoColor
    16 bit DirectColor
    16 bit TrueColor


    Résultats :

    1- tous ces modes engendre un retour en erreur ( = 0) de XAllocColorCells(), fonction censée m'allouer les bit-plans et les couleurs de la colormap. Alors que je recupère bien par contre le numéro de la colormap par défault lors de l'appel auparavant à DefaultColormap(). En l'occurence, le même numéro de colormap que celui alloué à mes xterm et retourné par xwininfo.

    2- si je tente l'initialisation d'une colormap privée avec XCreateColormap() au lieu d'utiliser la colormap par défaut comme expliqué dans le point n°1, une colormap privée est bien créée mais l'appel à XAllocColorCells() échoue de la même façon.

    3- l'appli par contre tourne bien concernant les objets Motif : barres de menus, menus déroulants, menus pop-up, liste déroulante, tout fonctionne à quasi 100% avec les bonnes couleurs. Mais la gestion des canvas est totalement foireuse car comme aucune colormap n'a pas être associée à une palette de couleurs, tous les fonds sont noirs et les objets graphiques (textes, rectangles, cercles, ...) sont à peine visibles car dessinés dans une couleur improbable.



    Le point qui est étonnant, c'est qu'un premier portage avait été réalisé (à titre d'essai) en 2002 par une autre équipe, sous une RedHat, et que ce problème bien particulier n'avait pas été rencontré ! (Par contre, j'ignore sur quel type de PC). Et que ce même code légèrement ajusté aujourd'hui ne marche pas sous FC6. A l'époque, c'était déjà Lesstif qui avait pourtant été utilisé... 🙁


    Bon, il me reste quelques pistes à suivre :

    1- tester sur un type totalement de PC (marque, carte gfx, ...)
    2- tester sur un PC dit dédié Linux (ne me demandez pas ce que c'est, j'avoue que j'ai du mal à concevoir ce que le service informatique ici peut appeler un PC dédié Linux... :-?)
    3- étudier de prêt la solution expliquée ici mais qui ne semble pas répondre à 100% à mon problème.


    En attendant, ben je poste ici en espérant que quelqu'un aura une suggestion miraculeuse afin de résoudre ce souci. :-P

    Notamment :

    1- Puis-je installer OpenMotif pour tester sans avoir à désintaller Lesstif auparavant ?
    2- Existe-il une autre bibliothèque Motif que Lesstif, même payante ?


    Merci !