the_smarti a écrit :
TUTORIEL NVIDIA + LUMINOSITE UBUNTU ULxxVT
Voici un bref tuto expliquant comment désactiver la carte NVIDIA des Asus ULxxVT sous Ubuntu 9.10 (testé sous 32 et 64 bits) et comment régler le luminosité avec les touches FN. Mon installation d'Ubuntu a été faite à partir de Windows avec le magnifique logiciel Wubi (http://wubi-installer.org/)
Je rappelle que cette manipulation est à faire à vos risques et périls. Mon tuto reprend celui expliqué en anglais ici : http://forum.notebookreview.com/sh [...] ?p=5664880
Carte NVIDIA
Elle consomme 4Watts et ne laisse que 4h30 d'autonomie lorsqu'elle est activée. En la désactivant, on passe a environ 6h30 / 7h00. Je vais essayer d'être le plus précis possible pour que les débutants n'aient pas de problème !
Ouvrez un terminal et lancez gedit: Copiez ce code:
#include <acpi/acpi.h> #include <linux/suspend.h>
MODULE_LICENSE("GPL" );
static acpi_handle root_handle;
static int kill_nvidia(void) { acpi_status status; // The device handle acpi_handle handle; struct acpi_object_list args; // For the return value struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
status = acpi_get_handle(root_handle, "\\_SB.PCI0.P0P1.VGA._OFF", &handle); if (ACPI_FAILURE(status)) { printk("%s: cannot get ACPI handle: %s\n", __func__, acpi_format_exception(status)); return -ENOSYS; }
args.count = 0; args.pointer = NULL;
status = acpi_evaluate_object(handle, NULL, &args, &buffer); if (ACPI_FAILURE(status)) { printk("%s: _OFF method call failed: %s\n", __func__, acpi_format_exception(status)); return -ENOSYS; } kfree(buffer.pointer);
printk("%s: disabled the discrete graphics card\n",__func__); return 0; }
static int power_event(struct notifier_block *this, unsigned long event, void *ptr) { switch (event) { case PM_POST_SUSPEND: case PM_POST_HIBERNATION: kill_nvidia(); return NOTIFY_DONE; case PM_HIBERNATION_PREPARE: case PM_SUSPEND_PREPARE: default: return NOTIFY_DONE; } }
static struct notifier_block power_notifier = { .notifier_call = power_event, };
static int __init asus_nvidia(void) { int ret = register_pm_notifier(&power_notifier); if (ret) return ret; return kill_nvidia(); }
static void dummy(void) { }
module_init(asus_nvidia); module_exit(dummy); Enregistrez le fichier sous le nom asus_nvidia.c Créez un nouveau fichier et copiez ce code: ifneq ($(KERNELRELEASE),) obj-m := asus_nvidia.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
ATTENTION: Ce qui précède les $(MAKE) n'est pas un espace, c'est une TABulation !
Enregistrez ce fichier sous le nom Makefile
Dans le terminal tapez les commandes suivantes les unes après les autres en mode root (tapez sudo su pour être en mode root) make cp asus_nvidia.ko /lib/modules/`uname -r`/kernel/ depmod modprobe asus_nvidia echo asus_nvidia >>/etc/modules
Rebootez, et le tour est joué, la carte NVIDIA n'est plus alimentée.
Luminosité
J'ai utilisé une des méthodes proposées sur le site évoqué en haut. Cette méthode modifie les paramètres directement sur la carte Intel et ne nécéssite aucun utilitaire style xbacklight ou autre. Il y a juste des scripts à associer aux touches. C'est la seule méthode qui a fonctionné sur le mien.
Dans un terminal en mode root (si vous n'etes pas en mode root, vous ne pourrez pas enregistrer les fichiers), lancez gedit et allez éditer les fichiers suivants
/etc/acpi/events/asus-brightness-up /etc/acpi/events/asus-brightness-down
Ajoutez " %e " à la fin de la ligne "action". Enregistrez les fichiers et fermez les.
Maintenant, il faut ajouter ces lignes à la fin du fichier/etc/acpi/asus-brn-up.sh
brightness=`echo $3 | sed 's/0000001//'` setpci -s 00:02.0 F4.B=${brightness}f
Et ces lignes à la fin du fichier /etc/acpi/asus-brn-down.sh
brightness=`echo $3 | sed 's/0000002//'` setpci -s 00:02.0 F4.B=${brightness}f
Enregistrez les deux fichiers et fermez les.
Pas besoin de rebooter pour tester. Seul défaut mineur, il y a un petit laps de temps pour le réglage.
Si vous y trouvez des erreurs, signalez les moi.
En espérant vous avoir bien expliqué,
ASUSement vôtre,
the_smarti
|