Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/04/2010, à 15:00

Jeannot Alpin

Décharger / charger fglrx

Bonjour a tous,

J'ai un portable qui dispose de 2 chipsets graphiques (acer 5810T avec une ati 4330 et une intel) j'ai trouvé le moyen lorsque je suis en mode double carte de désactiver la carte ATI et donc de seulement utiliser le chipset intel. En mode une seule carte (réglé dans le bios) j'utilise seulement la carte ATI cependant si j'utilise les drivers libres elle chauffe beaucoup. J'ai donc utilisé les drivers proprio. Mais le problème est que puisque fglrx est installé, je n'ai pas moyen de démarrer en double carte et d'utiliser seulement la carte Intel puisque fglrx se charge automatiquement.

J'aimerai choisir le chargement de fglrx (dans grub par exemple) mais je n'ai aucune idée de comment m'y prendre.

Merci.

Hors ligne

#2 Le 13/04/2010, à 12:05

Jeannot Alpin

Re : Décharger / charger fglrx

Up...

Hors ligne

#3 Le 28/04/2010, à 11:54

Jeannot Alpin

Re : Décharger / charger fglrx

Euh, une petite aide s'il vous plait ?

Hors ligne

#4 Le 18/06/2010, à 20:18

darkfido

Re : Décharger / charger fglrx

Salut,

Je suis sous Archlinux et j'ai à peu près le même problème.
Cependant, mon BIOS ne me permet pas de désactiver la carte Intel ou ATI, du coup ma carte ATI fonctionne en permanence et n'est pas utilisée, ce qui chauffe mon ordi à 80°C les bon jours, 95°C avec du Flash.

J'aimerais savoir comment tu as réussi à désactiver la carte ATI.

merci d'avance wink

Hors ligne

#5 Le 18/06/2010, à 21:26

Jeannot Alpin

Re : Décharger / charger fglrx

Salut, je l'ai désactivé grâce à ce forum : http://www.uluga.ubuntuforums.org/showt … ?p=8039576. Cependant il faut que tu es une carte ati et un chipset graphique intel.

En résumé :
1. Enregistrer ce texte en lenovo_acpi.c :

/* Linux kernel module that disables the discrete graphics board for Lenovo
 * U330. Other lenovo laptops could work, but I don't know.
 *
 * Copyright (c) 2009: Sylvain Joyeux <sylvain.joyeux@m4x.org>
 */
#include <acpi/acpi.h>

MODULE_LICENSE("GPL");

static acpi_handle root_handle;

static int __init kill_ati(void)
{
    int i;
    acpi_status status;
    // The device handle
    acpi_handle handle;
    // The package elements
    union acpi_object package_elements[3];
    // The arguments to ATPX
    union acpi_object atpx_arg_elements[2];
    struct acpi_object_list atpx_arg;
    // For the return value of ATPX
    struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };

    status = acpi_get_handle(root_handle, "\\_SB_.PCI0.OVGA.ATPX", &handle);
    if (ACPI_FAILURE(status))
    {
        status = acpi_get_handle(root_handle, "\\_SB_.PCI0.OVGA.XTPX", &handle);
        if (ACPI_FAILURE(status))
        {
            printk("lenovo_acpi: cannot get ACPI handle: %s\n", acpi_format_exception(status));
            return -ENOSYS;
        }
        printk("lenovo_acpi: in discrete graphics mode\n");
        return 0;
    }

    for (i = 0; i < 3; ++i)
    {
        package_elements[i].type = ACPI_TYPE_INTEGER;
        package_elements[i].integer.value = 0;
    }

    atpx_arg.count = 2;
    atpx_arg.pointer = &atpx_arg_elements[0];

    atpx_arg_elements[0].type = ACPI_TYPE_INTEGER;
    atpx_arg_elements[0].integer.value = 2;

    atpx_arg_elements[1].type = ACPI_TYPE_PACKAGE;
    atpx_arg_elements[1].package.count = 3;
    atpx_arg_elements[1].package.elements = &package_elements[0];
    
    status = acpi_evaluate_object(handle, NULL, &atpx_arg, &buffer);
    if (ACPI_FAILURE(status))
    {
        printk("lenovo_acpi: ATPX method call failed: %s\n", acpi_format_exception(status));
        return -ENOSYS;
    }
    kfree(buffer.pointer);

    printk("lenovo_acpi: disabled the discrete graphics card\n");
    return 0;
}

static void dummy(void)
{
}

module_init(kill_ati);
module_exit(dummy);

2. Puis ce texte en makefile :

ifneq ($(KERNELRELEASE),)
  obj-m := lenovo_acpi.o
else
  KERNELDIR ?= /lib/modules/$(shell uname -r)/build
  PWD := $(shell pwd)

default:
	$(MAKE) -C $(KERNELDIR) M=$(PWD) $(EXTRA_FLAGS) modules

clean:
	$(MAKE) -C $(KERNELDIR) M=$(PWD) $(EXTRA_FLAGS) clean

endif

3. Et enfin exécuter ces commandes là où sont les fichiers :

make
sudo cp lenovo_acpi.ko /lib/modules/`uname -r`/kernel/
sudo depmod
echo lenovo_acpi | sudo tee -a /etc/modules > /dev/null

Voila. En théorie c'est fait pour les lenovo mais ça marche pour les portables à base de ati et d'intel.

Hors ligne

#6 Le 19/06/2010, à 02:45

darkfido

Re : Décharger / charger fglrx

Merci

Cependant ça marche pas pour moi hmm
J'ai un Acer 8935G avec chipset Intel + chipset ATI  HD 4670.

J'ai bien compilé le module et exécuter les commandes indiquées mais même après reboot ça a pas l'air de fonctionner :

 ~ $ sudo modprobe lenovo_acpi
FATAL: Error inserting lenovo_acpi (/lib/modules/2.6.33-ARCH/kernel/lenovo_acpi.ko): Kernel does not have module support

Hors ligne