# [résolu][KWIN] OpenGL, radeon et fglrx : toute une histoire

## StinGer_Uesugi

Gentooistes de tous horizons : bonjour !

Ça faisait un bail que j'étais pas venu sur ce forum (je devrais passer plus souvent   :Embarassed:  ).

Je viens de finir une mise à jour de mon @world : noyau 3.0.6 (wouhouuu, mon premier 3 !!   :Surprised:   Bon OK c'est comme un 2.6...), xorg-server du moment, kde4 qui va bien etc... En revanche, j'utilise les pilotes ATI propriétaires, téléchargés sur le site d'AMD. J'ai la dernière version, la 11.9.

Tout fonctionne presque bien : mon problème vient des effets de bureau avec kwin. Dès que je passe en OpenGL, ça crashe et je reviens à l'écran de login (à KDM). Le serveur X lui, ne plante pas (aucune erreur ni même warning dans le Xorg.0.log). Si j'utilise XRender, je n'ai aucun souci, mais je n'ai pas tous les effets...

J'ai cherché un peu à droite à gauche et je n'ai rien trouvé de probant.

Voilà les uses de mon kwin :

```
equery uses kwin

[ Legend : U - final flag setting for installation]

[        : I - package is installed with flag     ]

[ Colors : set, unset                             ]

 * Found these USE flags for kde-base/kwin-4.6.5-r2:

 U I

 - - debug      : Enable extra debug codepaths, like asserts and extra output. If you want to get

                  meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml

 + + opengl     : Adds support for OpenGL (3D graphics)

 + + xcomposite : Enable support for the Xorg composite extension

 + + xinerama   : Add support for the xinerama X11 extension, which is mandatory if you work in multiple

                  monitors setup
```

Je vous donne pas ceux de xorg-server, ça ne me paraît pas à propos. Je vais essayer de vous joindre un .xsession-errors (je peux pas le faire planter maintenant, je m'en sers...).

J'ajoute pour finir que ça fonctionnait très bien avant de tomber en panne (c'est toujours comme ça hein...   :Wink:  ). Est-ce que quelqu'un a une idée d'où cela pourrait venir ?

Merci de votre aide !

----------

## Fenril

Salut,

Si je ne me trompe pas (je n'utilise pas KDE), le pilote fglrx est connu pour avoir des soucis avec Kwin. Il me semble qu'il faut activer une ou des options dans le xorg.conf, comme 'UseFastTLS' en testant différentes valeurs (0, 1 ou 2), ou BackingStore (0 ou 1) Cherche sur cette piste.

En revanche, je te conseille plutôt de passer par Portage (paquet appelé ati-drivers) pour installer les pilotes. La 11.9 y est présente, en version unstable (suffit de démasquer dans le fichier package.keywords). N'oublie pas aussi de sélectionner le bon render opengl (ati) (avec la commande 'eselect opengl set ati').

----------

## StinGer_Uesugi

Merci pour les infos sur xorg.conf Fenril. Je vais essayer de tester ça et de chercher dans ce sens.

Sinon, pour les pilotes ATI, j'avais essayé de les installer par portage : le résultat avait été catastrophique. Bon, c'était il y a un an maintenant. Ça va peut-être mieux depuis...  :Very Happy: 

----------

## Fenril

Si ça coince au niveau de la compil', il faut bien penser à regarder les elogs, ils donnent souvent des infos sur le pourquoi cela échoue. Par exemple, cela indique de désactiver le kms sur le kernel si celui-ci est activé.

Si tu ne passes pas par Portage, il faut bien penser à pointer le lien symbolique pour OpenGL vers la lib ATI. Par Portage, on peut le faire grâce au script eselect qui s'installe avec ati-drivers. C'est personnellement bien plus propre de le faire ainsi. A toi de voir.

----------

## StinGer_Uesugi

Les problèmes étaient pas à la compilation mais à l'utilisation.

J'ai pas eu le temps encore de me pencher sur ta solution (faut que je bosse aussi de temps en temps  :Very Happy:  ).

----------

## StinGer_Uesugi

J'ai eu un peu de temps de me pencher un peu plus en détail sur le sujet. Et les choses ne sont pas radieuses.

Dans un premier temps, je vais préciser ma configuration. Je dispose d'une carte ATI Radeon HD 3450. Mais il s'agit d'un PC DELL (Optiplex 760 si jamais le support DELL passe par ici  :Wink:  ). La sortie de la carte est un peu spéciale : au lieu d'avoir deux sorties DVI directement sur la carte, j'ai un connecteur spécifique sur lequel se branche un câble qui me fournit enfin les deux ports DVI. Tout ceci parce que la carte est en low profile (elle pourrait passer dans 1 serveur 1U je pense).

Alors voici mes histoires. Je suis en kernel 3.0.6, sous KDE avec les effets de compositing (Kwin 4.6.5-r2). Tout fonctionnait très bien avec un noyau 2.6.36 et la version correspondante de Kwin (je sais plus laquelle c'était).

Tout d'abord, j'ai essayé d'avoir le dual screen avec les drivers radeon. Rien à faire, j'ai beau essayer tout ce que je veux, éditer le xorg.conf, régler mes préférences KDE etc... Je reste en mode clone avec le second écran.

Ensuite, j'ai voulu installer les drivers ATI propriétaires par emerge. Et là c'est le drame : la compilation plante. Voilà le log de la compilation (il ne trouve pas la bibliothèque GL alors que je l'ai...).

```
 * Package:    x11-drivers/ati-drivers-11.8

 * Repository: gentoo

 * Maintainer: lu_zero@gentoo.org enrico.tagliavini@gmail.com,x11@gentoo.org

 * USE:        amd64 consolekit elibc_glibc kernel_linux modules multilib policykit qt4 userland_GNU

 * FEATURES:   ccache sandbox

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found sources for kernel version:

 *     3.0.6-gentoo-stg8

 * 

 * Please note that this driver supports only graphic cards based on

 * r600 chipset and newer.

 * This represent the ATI Radeon HD series at this moment.

 * 

 * If your card is older then usage of x11-drivers/xf86-video-ati

 * as replacement is highly recommended. Rather than staying with

 * old versions of this driver.

 * For migration informations please reffer to:

 * http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml

 * 

 * Applying ati-powermode-opt-path-2.patch ...

 [ ok ]

 * Converting 2.6.x/Makefile to use M= instead of SUBDIRS= ...

 [ ok ]

 * Preparing fglrx module

make -C /usr/src/linux M=/var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x modules

make[1] : on entre dans le répertoire « /usr/src/linux-3.0.6-gentoo »

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_io.o

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_pci.o

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_str.o

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_iommu.o

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl.o

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_wait.o

  LD [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.o

  Building modules, stage 2.

  MODPOST 1 modules

  CC      /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.mod.o

  LD [M]  /var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko

make[1] : on quitte le répertoire « /usr/src/linux-3.0.6-gentoo »

 * Building fgl_glxgears ...

Dans le fichier inclus à partir de fgl_glxgears.c:81:

/var/tmp/portage/x11-drivers/ati-drivers-11.8/work/common/usr/include/GL/glATI.h:5370:1: attention : « GL_PROXY_TEXTURE_2D_MULTISAMPLE » redéfini

Dans le fichier inclus à partir de /usr/include/GL/gl.h:2091,

          à partir de /usr/include/GL/glu.h:38,

          à partir de fgl_glxgears.c:64:

/usr/include/GL/glext.h:1821:1: attention : ceci est la localisation d'une précédente définition

/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lGL

collect2: ld a retourné 1 code d'état d'exécution

 * ERROR: x11-drivers/ati-drivers-11.8 failed (compile phase):

 *   fgl_glxgears build failed

 * 

 * Call stack:

 *     ebuild.sh, line  56:  Called src_compile

 *   environment, line 3713:  Called die

 * The specific snippet of code:

 *       "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed";

 * 

 * If you need support, post the output of 'emerge --info =x11-drivers/ati-drivers-11.8',

 * the complete build log and the output of 'emerge -pqv =x11-drivers/ati-drivers-11.8'.

 * The complete build log is located at '/var/tmp/portage/x11-drivers/ati-drivers-11.8/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/ati-drivers-11.8/temp/environment'.

 * S: '/var/tmp/portage/x11-drivers/ati-drivers-11.8/work'
```

Alors qu'un locate GL.so me donne :

```
/usr/lib32/libEGL.so

/usr/lib32/libEGL.so.1

/usr/lib32/libEGL.so.1.0

/usr/lib32/libGL.so

/usr/lib32/libGL.so.1

/usr/lib32/libGL.so.1.2

/usr/lib32/fglrx/fglrx-libGL.so.1.2

/usr/lib32/opengl/xorg-x11/lib/FGL.renamed.libGL.so.1.2

/usr/lib64/FGL.renamed.libGL.so.1.2

/usr/lib64/libEGL.so

/usr/lib64/libEGL.so.1

/usr/lib64/libEGL.so.1.0

/usr/lib64/libGL.so

/usr/lib64/libGL.so.1

/usr/lib64/libGL.so.1.2

/usr/lib64/fglrx/fglrx-libGL.so.1.2
```

J'ai donc opté pour l'option "do it yourself". Je télécharge les pilotes ATI, je compile le module (sans problème cette fois). Maintenant, Kwin ne crashe plus, mais l'affichage est horrible et en particulier, s'efface régulièrement. Dès que j'ouvre un truc, il s'affiche puis tout devient blanc. Du coup, je ne peux pas travailler.

Je reviens donc aux pilotes radeon (en faisant attention à bien blacklister les modules tout ça à chaque fois : radeon et fglrx, c'est un peu comme l'eau et le sodium...). Donc là, pas de dual screeen. Mais en plus, même en désactivant TOUS les effets de KDE, ça reste pas top (artefact dans les barre de titres, menus qui restent affichés, etc...).

J'ai voulu faire un symlink dans /usr/lib/opengl aussi, pour recompiler Kwin ou KDE ou je sais pas quoi (merci Fenril). Seulement, les pilotes propriétaires ATI ne fournissent rien de comparable ou similaire à ce que propose xorg-x11 par exemple (je parle des .h dedans etc...). Donc même si je veux bien recréer une arborescence adéquate, de toutes façons, j'aurais rien à y mettre...

Voilà où j'en suis, je sais pas trop quoi faire. Là, je viens de faire un emerge sync, je vais voir si les mises à jour m'aident, mais je n'y crois pas trop.

Merci pour votre aide et vos conseils.

----------

## bas25

Etrange tout ça.

Drivers proprio : pas essayé le 11.8, j'ai la version 11.11 (kernel 3.1) pas de pb de compilation et dual screen sans trop de pb (désactiver le rendu direct pour activer les effets de bureau)

radeon : aucun pb sous kde . Dual screen marche très bien. C'est mieux de passer sur un kernel 3.1 qui résout un problème de souris qui disparaît à la transition entre écrans.

extrait de xorg.conf

Section "Screen"

        Identifier "EcransPC"

        Device     "CardPC"

        DefaultDepth     24

        SubSection "Display"

                Depth     24

        EndSubSection

EndSection

Section "Device"

        Identifier  "CardPC"

        Driver      "ati"

        Option      "DPMS" "on"

        Option      "Monitor-DVI-0" "MonitorDell"

        Option      "Monitor-DVI-1" "MonitorPC"

        Option      "DisplayPriority" "HIGH"

        Option "IgnoreEDID" "On"

        BusID       "PCI:1:0:0"

EndSection

Section "Monitor"

        Identifier   "MonitorPC"

        DisplaySize 895 335

        ModeLine     "1280x960" 135.0 1280 1376 1488 1800 960 961 964 1000 -hsync -vsync

        Option      "PreferredMode" "1280x960"

        Option      "dpms"

        Option      "Primary" "off"

        Option      "position" "2560 380"

EndSection

Section "Monitor"

        Identifier   "MonitorDell"

        Option      "dpms"

        Option      "PreferredMode" "2560x1440"

        ModeLine "2560x1440" 241.500 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync

        Option      "position" "0 0"

        Option      "Primary" "on"

EndSection

----------

## StinGer_Uesugi

Merci pour ta réponse bas25, y a 2 ou 3 options dans ton xorg que j'ai jamais mises. Je crois pas trop au miracle, mais sait-on jamais... En revanche, je n'utilise pas le driver ati : fglrx ou radeon. 

Je rebondis aussi par rapport aux versions. Je suis passé en 11.11 aussi depuis le temps pour les drivers proprio. En revanche, je suis en kernel 3.0.6. J'ai fait un sync au début de la semaine, et pas de 3.1. Une historie 32/64 bits (je suis en 64) ? Ou alors tu n'utilises pas le gentoo-sources ?

----------

## StinGer_Uesugi

Voilà, je suis reparti de 0 pour refaire un xorg.conf et j'ai retrouvé mes 2 écrans avec radeon. Voilà mon xorg.conf qui fonctionne :

```
Section "ServerLayout"

        Identifier      "Server0"

        Screen          0 "EcransPC" 0 0

EndSection

Section "Screen"

        Identifier      "EcransPC"

        Device          "CardPC"

        DefaultDepth    24

        SubSection "Display"

                Depth   24

        EndSubSection

EndSection

Section "Device"

        Identifier      "CardPC"

        Driver  "radeon"

        Option  "DynamicPM" "on"

        Option  "Monitor-DVI-0" "Monitor0"

        Option  "Monitor-DVI-1" "Monitor1"

        #Option "DRI" "off"

        #Option "IgnoreEDID" "On"

        BusID   "PCI:1:0:0"

EndSection

Section "Monitor"

        Identifier      "Monitor0"

        Option          "DPMS" "on"

        #Option         "PreferredMode" "1280x1024"

        Option          "TargetRefresh" "75"

        Option          "Primary" "True"

        Option          "position" "0 0"

EndSection

Section "Monitor"

        Identifier      "Monitor1"

        Option          "DPMS" "on"

        #Option         "PreferredMode" "1280x1024"

        Option          "TargetRefresh" "75"

        Option          "position" "1280 0"

        Option          "Primary" "False"

EndSection
```

Mais tout n'est pas rose non plus. Les bugs d'affichage persistent dans KDE, par exemple, l'écran non mis à jour lors du défilement d'un texte : ça fait des surimpressions. Le plus pénible reste les barres de titres qui n'affichent rien tant que je ne passe pas la souris dessus. Enfin ça, c'est moins pire avec radeon qu'avec fglrx (où là, ça clignote avec des pixels de toutes les couleurs...).

Je ne parviens pas non plus à obtenir le bon taux de rafraîchissement. J'ai essayé VertRefresh dans Monitor, si je mets ça, X se plaint de ne pas trouver de section "Screen". -_- Et mon TargetRefresh ne fonctionne pas non plus. Du coup mes écrans sont à 60Hz alors qu'ils supportent le 75Hz (que je mets avec xrandr).

Je ne mets pas encore le topic en résolu tant que j'ai mes glitches graphiques et mon problème de rafraîchissement.

Merci pour votre aide.

----------

## bas25

la série des kernels 3.1 est masquée pour le moment => package.keywords

Driver  "radeon" ou Driver  "ati" c'est la même chose.

quelques pistes ...

Problème de configuration de l'accélération ?  glxinfo |grep direct\ rendering   => Yes !

glxgears marche ?

config du noyau ? bien activé modesetting on radeon

radeon-ucode installé ?

eselect mesa list => choisir gallium

use flag gallium ?

VIDEO_CARDS="r600" ?

mêmes symptômes sous kde quelque soit le type d'effets de bureau ? opengl/désactivé/xrender ?

----------

## StinGer_Uesugi

Alors, en vrac, et suivant tes suggestions.

Déjà, pour moi ati et radeon, ce sont deux drivers différents. ati, c'est pour les cartes avant je sais plus laquelle. Et je parle pas des Rage.

Pour VIDEO_CARDS, j'ai toujours mis radeon, fglrx, nv ou nvidia ou des trucs dans ce genre. Jamais mis de GPU directement. Dans les différentes explications que j'ai lues, il mettent jamais de GPU mais des noms de pilotes. Je te dirais bien "j'ai toujours fait comme ça et ça fonctionne très bien", mais le fait est que ça fonctionne plus !  :Wink: 

Venons-en aux choses qui fâchent : le modesetting. Perso, j'ai jamais réussi à le faire fonctionner. De toutes façons, d'habitude, j'utilise les pilotes propriétaires. Donc je le désactive. Là, comme j'utilise radeon (enfin, tu va voir la suite...) j'ai voulu le remettre.

Et là, c'est l'échec. X affiche un écran tout noir et le curseur est complètement foiré : c'est un glitch graphique en fait le curseur. Bref, ça fonctionne pas. Et si je veux revenir sous une console, je perds tout. Obligé de hard reset le PC... Donc KMS, il va rester désactivé. Tant pis. On vivait sans avant, je continuerai à vivre sans.   :Crying or Very sad: 

radeon-ucode est bien installé. mesa est bien configuré sur Gallium (enfin sauf pour Intel...). Et mesa est bien compilé avec le use gallium.

Les effets de bureau sont totalement désactivés pour le moment. Donc je peux pas te dire pour opengl, software ou xrender.

Venons-en au plus rigolo : glxgears.

C'est vrai que j'avais pas tenté depuis que j'étais revenu avec radeon.

```
XXX@YYY ~ % glxgears                                                                 [9:59:10]

X Error of failed request:  BadRequest (invalid request code or no such operation)

  Major opcode of failed request:  135 (GLX)

  Minor opcode of failed request:  19 (X_GLXQueryServerString)

  Serial number of failed request:  12

  Current serial number in output stream:  12
```

Marrant hein ? Alors pour glxinfo, je fais pas de dessin... Bon donc, histoire de tester, j'arrête X, j'enlève le module radeon & co, je change mon xorg pour utiliser fglrx en prenant soin de bien blacklister radeon, et je relance X. Là, je fais un glxgears. Youpi ! Ça fonctionne, mais alors il faut voir à quelle vitesse : même pas 60 FPS. Alors que j'en avais 500 avant... On dirait du software. Bon bon bon. J'arrête X, j'enlève fglrx & co, je le blacklist, je change mon xorg, je mets radeon, je redémarre X. Et là : plantage ! Hard reset. Et cette fois, ça démarre X sans problème. Bon admettons qu'il y ait des déchets qui traînent qui font planter radeon quand tu le mets après fglrx.

Nouvelle tentative glxgears avec radeon. Perdu ! Toujours rien...

Là franchement, je sais plus quoi faire. Je comprends plus rien à la vie... À mon dernier sync, ça a pris l'aiguillage en direction du mode cacahuète, et je trouve pas comment refaire fonctionner tout ce machin...

Visiblement, j'ai pas d'accélérateur graphique pris en compte. Je vais chercher dans ce sens là. Si t'as de nouvelles idées, je suis preneur.

Merci pour ton aide.

----------

## StinGer_Uesugi

Bon alors, des petites mises à jour dans mes aventures.

J'ai refait un 

```
emerge -NuD @world
```

Je ne sais pas pourquoi, il m'a trouvé tout un tas de paquets à reconstruire. Il les a reconstruit et dans le lot, il est parvenu à compiler ati-drivers.

Hourra ! \o/\o/\o/\o/

Du coup j'ai fait un 

```
eselect opengl set ati
```

Puis j'ai démarré X et regardé ce que ça donnait. Bon bah, kwin efface tout en permanence. En gros, j'ai mon bureau mais dès que j'ouvre une fenêtre, faut que je passe la souris sur les boutons pour les voir. Sinon, ils n'apparaissent pas. Dans un élan de folie, j'ai tenté de réactiver les effets du bureau... HOULALALA ! Là, j'ai un écran tout blanc et il ne me dessine que ce qu'il y a sous la souris. Je suis parvenu à switcher du mode OpenGL à Xrender, mais c'est pas beaucoup mieux (je gagne une persistance de 2 secondes des éléments dessinés). Donc j'ai tout désactivé et j'ai voulu repasser en radeon.

Seulement, l'eselect vers x11 n'a pas fonctionné : libGL.so n'existait plus. Il a fallu que je recrée tous les liens symboliques vers FGL.renamed.libGL.so ou du genre, et là, enfin, j'ai réussi à relancer X avec radeon et eselect opengl sur x11.

Du coup, je pensais être revenu à la case départ. Mais en fait pas tout à fait. Parce que maintenant, glxgears fonctionne !!! Et j'ai 500 FPS !!! Et puis :

```
XXX@YYY ~ % glxinfo | grep render

direct rendering: Yes

OpenGL renderer string: Gallium 0.4 on llvmpipe
```

Donc j'ai bien le rendering activé. Alors j'ai retenté les effets du bureau. En Xrender, ça va. Mais ça fonctionne toujours pas super. J'ai réussi à faire des copies d'écran des bugs graphiques que j'ai en ce moment (pas les pires avec écrans blancs). Je vais héberger ça qq part plus tard et je posterai un lien. Et sinon, en OpenGL, j'ai un écran noir. Vous verrez, le screenshot est vraiment pas mal.  :Laughing: 

----------

## bdouxx

 *Quote:*   

> Les bugs d'affichage persistent dans KDE, par exemple, l'écran non mis à jour lors du défilement d'un texte : ça fait des surimpressions. 

 

J'avais ça dans le temps, jusqu’à que j'active KMS dans le noyau

http://en.gentoo-wiki.com/wiki/KMS

En lisant la doc, c’était facile a mettre en place et ça a corrigé tous mes problèmes.

----------

## bas25

Bon alors radeon et ati : quand tu mets ati ça sélectionne tout seul le bon driver (radeon r128 mach64    cf man ati) donc ça marche avec l'un ou l'autre

pour le r600 dans video_cards en effet pour le moment c'est pas utilisé pour compiler mesa.  

J'ai constaté que fglrx et radeon faisait pas bon ménage. Donc en général je recompile le kernel avec ou sans le module radeon. Changer de driver sans redémarrer fige assez souvent le pc.

Il me semble que KMS est fortement conseillé. Il faut pas oublier de compiler avec : framebuffer console support   => sinon la console est toute noire !

j'ai aussi "enable video mode handling helpers" (utile ?) et "ati radeon display support  + ddc/i2c" dans la partie support for frame buffer devices

ils parlent ici (http://wiki.debian.org/KernelModesetting) d'un bug avec vbetool avec le driver i915 .... a essayer peut-être

étrange pour glxgears ... j'ai toujours au 60 (fréquence de l'écran), à moins que ce soit lié à l'utilisation de KMS.

Des tests avec un seul écran ou toujours avec les 2 ?

----------

## StinGer_Uesugi

OK bon à savoir pour ati. Merci.

Pour fglrx et radeon : oui oui, je confirme. C'est un peu comme le sodium et l'eau. Mais en revanche, j'ai jamais eu de problème pour utiliser fglrx quand radeon était compiler en module.

J'ai testé un peu tout : 1 écran, 2 écrans, pas d'écran (oui, quand ça rate). Voilà où j'en suis : pour le moment, je tourne avec radeon. Si je désactive complètement les effets de bureau, j'obtiens ça :

- http://demo.rhea-consulting.fr/debug/Glitch.png

- http://demo.rhea-consulting.fr/debug/Glitch2.png .

On dirait que j'ai fait de la retouche pour cacher des trucs alors que pas du tout.   :Razz:  Si je mets les effets de bureau en Xrender, ça tourne sans problème. En revanche, si je veux passer en OpenGL : http://demo.rhea-consulting.fr/debug/radeon-OpenGL.png . Ce qui n'est pas très pratique pour bosser...

KMS est bien activé dans mon noyau, mais si je mets modeset=1, j'obtiens un écran noir aussi (une variation de celui présenté). Je vais vérifier mes réglages dans mon kernel. Et probablement faire comme toi : 2 noyaux.

Sinon, pour les 60 FPS dans glxgears, je pense que ça doit dépendre de l'option de synchronisation de ta carte. Soit elle est synchronisée avec ton écran et elle sort 60 FPS. Soit elle ne l'est pas et elle tourne à fond. Me demande pas où ça se règle, j'en ai aucune idée. Et en plus, les noms sont parfois pas évocateurs du tout.

Je vais changer le titre du sujet aussi, parce que ça a évolué.

----------

## bas25

glxgears : oui c'est une histoire de synchronisation. Ce qui m'étonne c'est que je n'ai mis aucune option particulière et toi non plus d'après ton xorg.conf donc j'ai du mal à comprendre cette différence, mis à part l'utilisation de KMS.

KMS : est-ce que tu as déjà testé un livecd/dbd/usb qui l'utilise (kubuntu par ex) et regardé s'il y avait des pbs d'affichage et tout simplement si KMS fonctionne avec ta carte.

T'es en quelle version de kde (4.6.x ) ? il me semble avoir lu qque part que la version 4.7 corrigeait des pbs graphiques.

Option  "DynamicPM" "on"  => essayer en le passant à off

Installer un autre gestionnaire de bureau (xfce, ... ) pour constater si le pb est plutôt du côté xorg ou plutôt kwin)

----------

## StinGer_Uesugi

Me revoili, me revoilou !

Alors, j'ai fait 2 kernels : 1 avec Radeon et KMS, et l'autre sans et avec framebuffer vesa.

Première chose, lorsque je fais mon make, j'obtiens ces messages d'avertissement :

```
warning: (MEDIA_TUNER) selects MEDIA_TUNER_TEA5761 which has unmet direct dependencies (MEDIA_SUPPORT && VIDEO_MEDIA && I2C && EXPERIMENTAL)

warning: (ACPI_HOTPLUG_CPU) selects ACPI_CONTAINER which has unmet direct dependencies (ACPI && EXPERIMENTAL)
```

Le truc ACPI, je peux pas l'enlever parce que ça va avec le power management. Mais le MEDIA_TUNER, j'en veux pas. Et bien que CONFIG_MEDIA_TUNER soit à "is not set" (commenté quoi), il veut me le compiler. Et je ne parviens pas à savoir qui l'impose. Bref, c'est juste parce que j'ai pas CONFIG_EXPERIMENTAL. Passons.

Une fois avec mes deux noyaux, je reboot sur le noyau "radeon". Enfin, j'essaie de rebooter sur le noyau radeon. Parce qu'en fait, grub lance le noyau, et puis plus rien. Je vais enlever le quiet voir ce qui se passe, mais pour le moment, ça rate.

En revanche, si je boote sur le noyau sans radeon, et avec les drivers fglrx, ça tourne. Et j'ai même mes 2 écrans tout comme il faut ! Faut pas non plus s'enflammer : j'ai pas l'accélération OpenGL sur Kwin. Mais là, je vais tenter un emerge world pour mettre à jour un peu tout ça.

```
fgl_glxgears                                                                                     [17:48:02]

Using GLX_SGIX_pbuffer

X Error of failed request:  BadRequest (invalid request code or no such operation)

  Major opcode of failed request:  138 (ATIFGLEXTENSION)

  Minor opcode of failed request:  66 ()

  Serial number of failed request:  13

  Current serial number in output stream:  13
```

J'avance, j'avance, lentement, mais j'avance...

----------

## StinGer_Uesugi

\o/ \o/ \o/ \o/

J'ai enfin retrouvé un système avec framebuffer, OpenGL et dual monitor !!!

J'ai essayé de comprendre pourquoi le kernel radeon ne bootait pas. En fait, il bootait, mais au bout d'un temps extrêmement long... Problème, la console était toute moche (mauvaise résolution), mais surtout, elle n'affichait pas les messages récents. Elle restait bloquée sur des messages du boot. Malgré tout, des trucs apparaissaient pendant 1ns : j'ai pu voir les "OK" des services qui démarraient. Mais impossible de faire quoi que ce soit en console, ou alors entièrement à l'aveugle. Heureusement, mon X s'est lancé. (Qui l'eut cru ! Sauvé par X...) 

J'ai alors lu le dmesg et j'ai trouvé qu'il lui manquait des firmwares. Après plusieurs compilations/reboot pour lui mettre tous les firmwares requis, magie : le système boot normalement, avec une jolie console en KMS et X démarre. Et encore mieux, OpenGL FONCTIONNE !!! Et KDE accepte de me mettre les effets en OpenGL sans faire de glitches !!!

Il me reste juste un petit problème : par défaut, X démarre en mode clone. Une fois ma session lancée, je vais dans systemsettings et je peux mettre mon dual screen. Mais je ne parviens pas à faire démarrer X par défaut dans cet état. J'ai repris et adapté ton xorg.conf bas25, mais rien n'y fait.   :Crying or Very sad: 

J'attends de résoudre ça pour mettre le topic en résolu.

Sinon, niveau OpenGL, ça rame un peu parfois. Mais ça ne me surprend pas (ce sont pas les drivers propriétaires, KDE a fait de la merde avec ses effets, etc...). Et j'ai 60 fps. Visiblement, radeon synchronise la sortie par défaut. Ce qui n'est pas le cas de fglrx. Je ne sais pas si on peut lui faire changer ça.

----------

## bdouxx

moi j'ai suivis cette doc et le dual screen fonctionne bien:

http://en.gentoo-wiki.com/wiki/X.Org/Dual_Monitors

c'est quoi ton xorg.conf?

----------

## El_Goretto

 *StinGer_Uesugi wrote:*   

> J'ai essayé de comprendre pourquoi le kernel radeon ne bootait pas. En fait, il bootait, mais au bout d'un temps extrêmement long... Problème, la console était toute moche (mauvaise résolution), mais surtout, elle n'affichait pas les messages récents. 
> 
> [...]
> 
> J'ai alors lu le dmesg et j'ai trouvé qu'il lui manquait des firmwares. 

 

C'est moche que tu ne l'aies pas vérifié plus tôt, j'aurai pu te répondre de suite, j'ai 2 bécanes avec des radeons et les firmwares associés  :Smile: 

----------

## bas25

Cool !

Par curiosité il manquait quels firmwares ? ça m'étonne pas mal qu'ils ne soient pas dans x11-drivers/radeon-ucode !

Pour ton mode clone il faut mettre comme il faut :

```
Option "Monitor-DVI-0" "Monitor1"

Option "Monitor-DVI-1" "Monitor2"

```

et pour chaque moniteur

```
Option "position" "xx xx" 
```

Pour les performances, tu peux essayer d'activer S3TC

il faut installer media-libs/libtxc_dxtn (masqué pour le moment) puis créer un fichier dans env.d par ex :

/etc/env.d/99local

```
R600_ENABLE_S3TC=1
```

et un petit env-update

----------

## El_Goretto

 *bas25 wrote:*   

> Cool !
> 
> Par curiosité il manquait quels firmwares ? ça m'étonne pas mal qu'ils ne soient pas dans x11-drivers/radeon-ucode !

 

Mais ils y sont.

Le fait est qu'il faut quand même les charger: soit le driver GPU est en module et se charge après que le filesystem /lib/firmware soit accéssible, et c'est ok, soit le driver GPU est en dur dans le noyau et alors (sans initrd, dracut est mon ami sinon) il faut inclure les firmwares dans le kernel à la compilation (en énumérant les fichier un à un).

----------

## bas25

Exact. J'étais sur l'idée qu'il avait compilé ca en module.

----------

## StinGer_Uesugi

Bonsoir les Gentooistes !

Alors pour répondre dans le désordre. J'ai pas de ramdisk, donc je devais compiler les firmwares dans le noyau. C'est là où j'ai dû les inclure 1 par 1 après des dmsg successifs pour savoir tous ceux qui étaient nécessaires. Ça ne m'a pas pris 30 ans non plus. Et ils étaient bien dans radeon-ucode, pas de soucis à ce niveau.   :Wink: 

Là, j'ai pas mon xorg.conf sous la main (je suis pas sur la machine incriminée). J'ai suivi le tuto de ton lien bdouxx. Mais ça ne fonctionne pas. Quand je démarre, j'ai des clones. En revanche, une fois loggé, je mets mes paramètres et je retrouve mes 2 écrans. De tête, je ne me souviens plus de mon xorg. Mais je crois déjà avoir essayé le coup des Monitor-DVI-0 etc... Et ça n'a pas fonctionné. En revanche, je n'ai pas précisé la position pour chaque Monitor. Faudra que je réessaie ça.

----------

## StinGer_Uesugi

Coucou c'est moi, me revoili me revoilà !

Je ne parviens toujours pas à faire démarrer X en dual screen. Donc à chaque fois c'est le même cirque, je dois me logger et configurer l'affichage dans KDE pour obtenir mon dual screen (qui fonctionne alors très très bien).

Voilà mon xorg.conf. Les options commentées sont celle que j'ai aussi utilisées (en commentant les doublons pour éviter les conflits  :Wink:  ).

```
Section "Monitor"

        Identifier  "Monitor0"

        Option      "DPMS"

        Option      "Primary" "False"

#      Option      "Position" "1280 0"

EndSection

Section "Monitor"

        Identifier  "Monitor1"

        Option      "DPMS"

        Option      "LeftOf" "Monitor0"

        Option      "Primary" "True"

        Option      "Position" "0 0"

EndSection

Section "Device"

        Identifier  "Card0"

        Driver      "ati"

        Option      "DPMS" "on"

        Option      "Monitor-DVI-I-0" "Monitor0"

        Option      "Monitor-DVI-I-1" "Monitor1"

        Option      "DisplayPriority" "HIGH"

        Option      "IgnoreEDID" "on"

        BusID       "PCI:1:0:0"

EndSection

Section "Screen"

        Identifier "Screen0"

        Device     "Card0"

        Monitor    "Monitor0"

        DefaultDepth     24

        SubSection "Display"

                Virtual   2560 1024

                Modes    "1280x1024"

        EndSubSection

EndSection
```

Je suis à court d'idées...

----------

## bas25

Certain de la correspondance des écrans dans les lignes

```
        Option      "Monitor-DVI-I-0" "Monitor0"

        Option      "Monitor-DVI-I-1" "Monitor1"

```

Que donne ton Xorg.log ?

----------

## StinGer_Uesugi

Ha bah voilà, tête dans le guidon on pense pas aux choses simples et évidentes... La section dans xorg.conf, c'était pas

```
        Option      "Monitor-DVI-I-0" "Monitor0"

        Option      "Monitor-DVI-I-1" "Monitor1"
```

Mais :

```
        Option      "Monitor-DVI-0" "Monitor0"

        Option      "Monitor-DVI-1" "Monitor1"
```

Visiblement, fglrx prend en option Monitor-DVI-I-N, mais radeon prend Monitor-DVI-N.

Ça fonctionne mieux  avec les extensions S3TC. Mais ça reste tout de même moins fluide qu'avec fglrx je trouve. Pour ce que je fais, ça suffit largement.

Merci de votre aide et de vos suggestions, toujours pertinentes. J'ai résolu tous mes problèmes, enfin. Je mets le topic en résolu !   :Very Happy: 

----------

