Discrete graphics works only once right after reboot then falls off the bus (3.11.6/325.15-10/GT 640

I’m using Arch Linux with 3.11.6-1 and nvidia 325.15-10 on Gigabyte u2442 with GeForce GT 640M.
After recent update discrete graphics only works once right after reboot, then kernel log shows:

  Nov 12 13:21:51 nostromo kernel: pci 0000:01:00.0: Refused to change power state, currently in D0
  Nov 12 13:21:51 nostromo bumblebeed[371]: [   27.227075] [ERROR][XORG] (EE) Server terminated successfully (0). Closing log file.
  Nov 12 13:21:51 nostromo kernel: pci 0000:01:00.0: power state changed by ACPI to D3cold
  Nov 12 13:22:22 nostromo kernel: bbswitch: enabling discrete graphics
  Nov 12 13:22:23 nostromo kernel: pci 0000:01:00.0: power state changed by ACPI to D0
  Nov 12 13:22:23 nostromo kernel: vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=none,decodes=none:owns=none
  Nov 12 13:22:23 nostromo kernel: [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:01:00.0 on minor 1
  Nov 12 13:22:23 nostromo kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel Module  325.15  Wed Jul 31 18:50:56 PDT 2013
  Nov 12 13:22:23 nostromo slim[381]: removing GPU device /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1 /dev/dri/card1
  Nov 12 13:22:23 nostromo slim[381]: xf86: found device 1
  Nov 12 13:22:23 nostromo kernel: nvidia 0000:01:00.0: irq 50 for MSI/MSI-X
  Nov 12 13:22:28 nostromo kernel: NVRM: GPU at 0000:01:00.0 has fallen off the bus.
  Nov 12 13:22:28 nostromo kernel: ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130517/nsarguments-95)

/var/log/Xorg.8.log:

  [    59.618] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
  [    59.618] (**) NVIDIA(0): Option "NoLogo" "true"
  [    59.618] (**) NVIDIA(0): Option "ProbeAllGpus" "false"
  [    59.618] (**) NVIDIA(0): Option "UseEDID" "false"
  [    59.619] (**) NVIDIA(0): Option "UseDisplayDevice" "none"
  [    59.619] (**) NVIDIA(0): Enabling 2D acceleration
  [    59.619] (**) NVIDIA(0): Ignoring EDIDs
  [    59.619] (**) NVIDIA(0): Option "UseDisplayDevice" set to "none"; enabling NoScanout
  [    59.619] (**) NVIDIA(0):     mode
  [    64.452] (EE) NVIDIA(0): Failed to initialize the NVIDIA GPU at PCI:1:0:0.  Please
  [    64.452] (EE) NVIDIA(0):     check your system's kernel log for additional error
  [    64.452] (EE) NVIDIA(0):     messages and refer to Chapter 8: Common Problems in the
  [    64.452] (EE) NVIDIA(0):     README for additional information.
  [    64.452] (EE) NVIDIA(0): Failed to initialize the NVIDIA graphics device!
  [    64.452] (EE) NVIDIA(0): Failing initialization of X screen 0
  [    64.452] (II) UnloadModule: "nvidia"
  [    64.452] (II) UnloadSubModule: "shadow"
  [    64.452] (II) UnloadSubModule: "wfb"
  [    64.452] (II) UnloadSubModule: "fb"
  [    64.452] (EE) Screen(s) found, but none have a usable configuration.
  [    64.452] (EE) 
  Fatal server error:
  [    64.452] (EE) no screens found(EE) 
  [    64.452] (EE) 
  Please consult the The X.Org Foundation support 

at http://wiki.x.org
for help.
[ 64.452] (EE) Please also check the log file at “/var/log/Xorg.8.log” for additional information.
[ 64.452] (EE)
[ 64.452] (EE) Server terminated with error (1). Closing log file.

nvidia-bugreport archive attached
nvidia-bug-report.log.gz (54.3 KB)

Hi Rails,

Did you solve this problem? if you did, can you tell me how ! I am facing the same kind of problem…

Heyyo,

Which kernel are you running? Odds are the problem is you don’t have a recompiling system in place after a kernel update…

via pacman you’d need to install linux_headers

then? via the AUR in pacman? nvidia-hook and nvidia-dkms.

With those? Doing kernel updates should allow your nvidia drivers to load without the need of waiting for an update on pacman for recompiled drivers for 3.16.

Here’s my run through to do it via the Terminal…
Open up the Terminal and use the following commands
su
put in your password (su allows all your commands to run as root)
echo “multilib” >> /etc/pacman.conf
echo “Include = /etc/pacman.d/mirrorlist” >> /etc/pacman.conf
pacman -Syu
pacman -S linux-headers
pacman -S base-devel yaourt
yaourt nvidia-hook
(tell it you don’t wish to edit the setup files and yes to compile and install)
yaourt nvidia-dkms
(tell it you don’t wish to edit the setup files and yes to compile and install)