Lenovo IdeaPad Y580
This machine has two video cards, explained in detail below
$ lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) 01:00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GTX 660M] (rev a1)
If you don't wish to use the machine's NVIDIA card, simply install xf86-video-intel and use the Intel driver. This will leave the NVIDIA card disabled, but it will still use power. To completely disable the NVIDIA card, enter the Y580's BIOS and on the "Configuration" tab, change "Graphic Device" from "Switchable Graphic" to "UMA Graphic". If these options are not there, you may need to update the BIOS.
Since the NVIDIA card must have some form of Optimus to be used, the graphics configuration can be complicated. The current Arch Linux kernel and proprietary NVIDIA driver support Optimus, but configuration is somewhat involved. There are three options:
- Use the proprietary NVIDIA driver
- Use the open-source nouveau driver
- Use Bumblebee, which is designed as a third-party Optimus-like solution
Each option has its advantages. Bumblebee allows power-saving methods like graphics-card switching, so if you don't want to constantly be running the NVIDIA card, follow the guides for Bumblebee on the wiki. The proprietary NVIDIA driver typically has better performance than the open-source driver as of September 2013, but typically has more bugs and compatibility issues. The nouveau driver is reverse-engineered due to Nvidia's lack of hardware documentation, and therefore does not perform as well as the proprietary driver, but is simpler to use and less prone to bugs. More information can be found on the wiki's article on NVIDIA Optimus.
To use the nouveau drivers, install theand packages. After rebooting, X should automatically detect the drivers and work.
To use the proprietary NVIDIA drivers, install the, , and packages.
The next step is to change
/etc/X11/xorg.conf appropriately. First, you must determine the PCI address of the NVIDIA card. Run
$ lspci ; the first number you see, which should be formatted something like
##:##.#, is the PCI address. In
/etc/X11/xorg.conf, however, the format must be modified so each number is one digit separated by colons (i.e. 01:00.0 would be written as 1:0:0).
# nano /etc/X11/xorg.conf
Section "ServerLayout" Identifier "layout" Screen 0 "nvidia" Inactive "intel" EndSection Section "Device" Identifier "nvidia" Driver "nvidia" BusID "PCI:PCI_address" EndSection Section "Screen" Identifier "nvidia" Device "nvidia" Option "UseDisplayDevice" "none" EndSection Section "Device" Identifier "intel" Driver "modesetting" EndSection Section "Screen" Identifier "intel" Device "intel" EndSection
The final step is to modify your
~/.xinitrc file to run two
xrandr commands. Add the following two lines at the beginning of your
$ nano ~/.xinitrc
xrandr --setprovideroutputsource modesetting NVIDIA-0 & xrandr --auto &
Now reboot, and X should run. If you get a black screen after starting X, kill it and try starting X again (it may take several tries).