Segmentation faults with Nvidia 349.16 on Arch Linux
I recently started a fresh install of Arch Linux and everything was going well until I installed the NVIDIA proprietary driver.
# pacman -S nvidia nvidia-libgl
Opening any application would then cause a segmentation fault, although the application would still open. I wasted a few hours convinced that this was problem with the proprietary driver.
I found the answer on the Arch forums and it turns out to be a problem with the microcode for my Intel i5 processor (and others). I can't remember the topic I looked at, only that it was thanks to Scimmia.
$ dmesg | grep microcode microcode: CPU0 sig=0x306c3, pf=0x2, revision=0x1c microcode: CPU1 sig=0x306c3, pf=0x2, revision=0x1c microcode: CPU2 sig=0x306c3, pf=0x2, revision=0x1c microcode: CPU3 sig=0x306c3, pf=0x2, revision=0x1c
Updating the microcode
The updated Intel microcode is packaged as intel-ucode in the Arch repositories, so it is simply a case of installing it.
# pacman -S intel-ucode
The final step is to instruct the boot loader, gummiboot in my case, to use the microcode.
File: /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=/dev/sdb2 rw
Turning it off and back on again
I rebooted and checked to see that the microcode had been updated.
$ dmesg | grep microcode CPU0 microcode updated early to revision 0x1c, date = 2014-07-03 CPU1 microcode updated early to revision 0x1c, date = 2014-07-03 CPU2 microcode updated early to revision 0x1c, date = 2014-07-03 CPU3 microcode updated early to revision 0x1c, date = 2014-07-03 microcode: CPU0 sig=0x306c3, pf=0x2, revision=0x1c microcode: CPU1 sig=0x306c3, pf=0x2, revision=0x1c microcode: CPU2 sig=0x306c3, pf=0x2, revision=0x1c microcode: CPU3 sig=0x306c3, pf=0x2, revision=0x1c microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
I have had no further problems with segmentation faults.
Comments