Earlier I updated my system with pacman -Syu. Everything went smoothly. I rebooted and immediately noticed something was wrong with the console framebuffer - printing and scrolling are very, very slow and jerky, an error flashed by after fsck too quickly to read (since disappeared), and startx gave me the "no screens found" error. I do not have any custom X11 configuration.
This is an MSi laptop with the (awful) nVidia Optimus (hardware mux).
IGP is an Intel Ivybridge Mobile (GT2), don't know the exact chipset model, X logs indicate it's the i965.
DGP is an NVIDIA GK104M (GeForce GTX 675MX).
(New) Kernel: 3.9.5-1-ARCH #1 SMP PREEMPT ... x86_64
(Old) Kernel: 3.9.4-1 ...
I should mention that I use the acpi_call package to shut the DGP down, the command runs automatically at boot (but does not work! An AE_CALL error message is given, I have to run the turn_off_gpu.sh script manually after login). Nouveau is still being loaded into the kernel, regardless. I have tried removing the .conf file used by acpi_call from /etc/modules-load.d/, there was no effect. I also tried downgrading from the latest xf86-intel driver package, again, no effect - under either kernel. Additionally I tried using nomodeset and i915.modeset = 1 kernel parameters (which were necessary with a previous kernel version or Arch was unbootable, but not with 3.9.4-1). No effect. Each change was followed by a reboot, just to be sure. Systemd is loading everything normally except that it complains of no display-manager service ... because there isn't one.
It may be trying to use the DGP, for which there are no drivers installed, as I have no desire to use that card with Linux, ever; I've no idea why/how a kernel update would change this, as I mentioned I have nothing fancy going on with kernel 3.9.4-1 and the graphics setup and X11 work just fine out of the box.
Thanks in advance for you help.
Is your kernel command line entry literally "i915.modeset = 1"? Because those spaces shouldn't be there. Have you tried downgrading the kernel to see if things are restored if you do?
BTW, nvidia's drivers now have optimus support I believe. I don't use such things, so I don't know for sure how to implement it. But you might be better off just setting the thing up, as if it is working correctly maybe then you can also benefit from reduced power savings.
No, the i915.modeset parameter was necessary with an older kernel.
I've now also tried kernel 3.9.6-1 and nvidia drivers, with AND without an xorg 10-monitor.conf file. Running kernel 3.9.6-1 seems to fix the console framebuffer issue, but the "no screens found" issue remains, xserver logs complain of not being to find intel module when using nvidia drivers (which require removal of intel drivers), and both sudo and netctl are broken - logs list pam-unix "conversation failed" error and time-out/failed dependency waiting for wplXXX - the wireless NIC - to start.
Just to see, I tried the nvidia drivers with kernel 3.9.4-1 and got the "no screens found" error.
Because I couldn't access the internet under kernel 3.9.6-1, I didn't get to test it with nouveau but I can't see how that would be any different - it has no Optimus support, anyway.
One more probably unrelated thing: all indicator LEDs (except power button) and touch-button LEDs no longer light up, under 3.9.4-1 with no changes to packages in a few days.
For what it's worth I'm getting the "no screens found" message as well, and my laptop doesn't even have Optimus.
If you ever figure out what's wrong, please do tell.