J'utilise le dernier noyau sur un Dell LAtitude E4310 avec 8 Go de RAM
2.6.38-10-generic #44-Ubuntu SMP Thu Jun 2 21:32:22 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
Au démarrage je reçois le message suivant
[drm] MTRR allocation failed. Graphics performance may suffer.
et en effet mon /proc/mtrr
a l’air étrange
reg00: base=0x000000000 ( 0MB), size= 8192MB, count=1: write-back
reg01: base=0x200000000 ( 8192MB), size= 512MB, count=1: write-back
reg02: base=0x0e0000000 ( 3584MB), size= 512MB, count=1: uncachable
reg03: base=0x0dc000000 ( 3520MB), size= 64MB, count=1: uncachable
reg04: base=0x0db400000 ( 3508MB), size= 4MB, count=1: uncachable
reg05: base=0x21c000000 ( 8640MB), size= 64MB, count=1: uncachable
J'ai essayé mtrr-uncover
mais ça ne marche pas:
./mtrr-uncover
Initial MTRR configuration:
0 0x000000000-0x1ffffffff write-back
4 0x0db400000-0x0db7fffff uncachable
3 0x0dc000000-0x0dfffffff uncachable
2 0x0e0000000-0x0ffffffff uncachable
1 0x200000000-0x21fffffff write-back
5 0x21c000000-0x21fffffff uncachable
./mtrr-uncover: 9 MTRRs needed but only 8 in architecture.
Est-ce que quelqu'un sait comment configurer correctement le mtrr dans mon architecture?
voici la sortie pertinente de lspci -v
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])
Subsystem: Dell Device 0410
Flags: bus master, fast devsel, latency 0, IRQ 42
Memory at f0000000 (64-bit, non-prefetchable) [size=4M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 60b0 [size=8]
Expansion ROM at <unassigned> [disabled]
Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915
Il existe une solution simple pour cela. Utilisez simplement le paramètre de démarrage du noyau enable_mtrr_cleanup
.
Éditez le fichier de configuration /etc/default/grub
:
$ Sudo nano /etc/default/grub
trouvez une ligne contenant GRUB_CMDLINE_LINUX_DEFAULT
et vous verrez probablement ces paramètres par défaut:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Donc, pour utiliser enable_mtrr_cleanup
, vous l'ajouterez comme ceci:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash enable_mtrr_cleanup"
Ensuite, vous devez mettre à jour votre configuration grub avec cette commande:
$ Sudo update-grub2
Et redémarrez:
$ Sudo reboot
Ensuite, le message disparaîtra et vous verrez que le système a trouvé les valeurs appropriées pour MTRR.