https://wiki.archlinux.org/api.php?action=feedcontributions&user=Robrene&feedformat=atomArchWiki - User contributions [en]2024-03-29T08:40:24ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Lenovo_ThinkPad_T61&diff=91633Lenovo ThinkPad T612010-01-10T16:32:28Z<p>Robrene: /* Trackpoint */</p>
<hr />
<div>[[Category:Laptops (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
===System Specifications===<br />
<br />
Lenovo Thinkpad T61 - Intel Centrino Pro<br />
* Intel(R) Core(TM)2 Duo CPU T7300 (2.00GHz, 4MB, 800MHz)<br />
* Mobile Intel 965GM Express Chipset<br />
* 2GB PC2-5300/677MHz<br />
* 80-GB 5400 rpm SATA Harddrive <br />
* 14.1-inch color TFT WXGA+ (1440 x 900, 200 nit)<br />
* Intel® Graphics Media Accelerator GM965 (128MB)<br />
* 82801H ICH8 Family HD Audio Controller<br />
* DVD-ROM, CD-RW/DVD Combo, Multi-Burner Plus<br />
* Modem; Gigabit Ethernet<br />
* Intel® Wireless Wi-Fi Link 4965AG<br />
* 1 Type II PC Card slot<br />
* 1 ExpressCard 34/54<br />
* Dual pointing devices (both Pointstick and Touchpad)<br />
<br />
Output of lshwd<br />
<br />
00:00.0 Class 0600: Intel Corporation|Mobile Memory Controller Hub (unknown)<br />
00:02.0 Class 0300: Intel Corporation|Mobile Integrated Graphics Controller (vesa)<br />
00:02.1 Class 0380: Intel Corporation|Mobile Integrated Graphics Controller (vesa)<br />
00:19.0 Class 0200: Intel Corporation|Mobile Integrated Graphics Controller (unknown)<br />
00:1a.0 Class 0c03: Intel Corporation|USB UHCI Controller #4 (unknown)<br />
00:1a.1 Class 0c03: Intel Corporation|USB UHCI Controller #5 (unknown)<br />
00:1a.7 Class 0c03: Intel Corporation|USB2 EHCI Controller #2 (unknown)<br />
00:1b.0 Class 0403: Intel Corp.|ICH8 HD Audio DID (snd-hda-intel)<br />
00:1c.0 Class 0604: Intel Corporation|PCI Express Port 1 (unknown)<br />
00:1c.1 Class 0604: Intel Corporation|PCI Express Port 2 (unknown)<br />
00:1c.2 Class 0604: Intel Corporation|PCI Express Port 3 (unknown)<br />
00:1c.3 Class 0604: Intel Corporation|PCI Express Port 4 (unknown)<br />
00:1c.4 Class 0604: Intel Corporation|PCI Express Port 5 (unknown)<br />
00:1d.0 Class 0c03: Intel Corporation|USB UHCI Controller #1 (unknown)<br />
00:1d.1 Class 0c03: Intel Corporation|USB UHCI Controller #2 (unknown)<br />
00:1d.2 Class 0c03: Intel Corporation|USB UHCI Controller #3 (unknown)<br />
00:1d.7 Class 0c03: Intel Corporation|USB2 EHCI Controller #1 (unknown)<br />
00:1e.0 Class 0604: Intel Corp.|82801 Hub Interface to PCI Bridge (hw_random)<br />
00:1f.0 Class 0601: Intel Corporation|Mobile LPC Interface Controller (unknown)<br />
00:1f.2 Class 0101: Intel Corporation|Mobile SATA Controller cc=IDE (ata_piix)<br />
00:1f.3 Class 0c05: Intel Corporation|SMBus Controller (i2c-i801)<br />
03:00.0 Class 0280: Intel Corporation|SMBus Controller (unknown)<br />
15:00.0 Class 0607: Ricoh Co Ltd.|RL5c476 II (yenta_socket)<br />
15:00.1 Class 0c00: Ricoh Co Ltd.|RL5c476 II (unknown)<br />
15:00.2 Class 0805: Ricoh Co Ltd.|SD Card reader (unknown)<br />
15:00.3 Class ffff: Ricoh Co Ltd.|SD Card reader (unknown)<br />
15:00.4 Class 0880: Ricoh Co Ltd.|R5C592 Memory Stick Bus Host Adapter (unknown)<br />
15:00.5 Class 0880: Ricoh Co Ltd.|xD-Picture Card Controller (unknown)<br />
<br />
===What works/What doesn't===<br />
Pretty much everything works on this laptop. The modem is untested.<br />
<br />
= Pre installation notes =<br />
Remember to back up the restore partition if you plan to restore it, or leave it.<br />
<br />
Follow the [[Official_Arch_Linux_Install_Guide | official Archlinux install guide]]<br />
<br />
= Accessing the recovery partition with GRUB =<br />
Edit your '''/boot/grub/menu.lst''' file and add the following:<br />
# booting "Rescue and Recovery" partition from Lenovo<br />
title Thinkpad Maintenance<br />
unhide (hd0,0)<br />
rootnoverify (hd0,0)<br />
chainloader +1<br />
<br />
= Configuration =<br />
===Video Driver===<br />
<br />
==== Intel ====<br />
<br />
The Intel® Graphics Media Accelerator GM965 uses the xf86-video-intel driver.<br />
<br />
#pacman -S xf86-video-intel<br />
<br />
The relevent kernel drivers include:<br />
<br />
*DRM_I915<br />
<br />
For framebuffer graphics one of the kernel drivers:<br />
<br />
*intelfb <br />
*fb_uvesa<br />
*fb_vesa<br />
<br />
Should work. It is up to you which one you wish to use. Intelfb is known to have a few problems with hardware acceleration and requires grub2 patched with 915resolution to properly set the correct resolution. <br />
<br />
The package grub2-915resolution in the AUR has the necessary patch to make intelfb work with laptops that use the 965GM card.<br />
<br />
Here is a sample /etc/X11/xorg.conf:<br />
<br />
Section "Module"<br />
Load "dbe" # Double buffer extension<br />
SubSection "extmod"<br />
Option "omit xfree86-dga"<br />
EndSubSection<br />
Load "freetype"<br />
Load "GLcore"<br />
Load "glx"<br />
Load "bitmap"<br />
Load "dri"<br />
# Load "int10"<br />
# Load "ddc"<br />
# Load "vbe"<br />
# Load "xtrap"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/local/"<br />
FontPath "/usr/share/fonts/misc/:unscaled"<br />
FontPath "/usr/share/fonts/75dpi/:unscaled"<br />
FontPath "/usr/share/fonts/100dpi/:unscaled"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/local/"<br />
EndSection<br />
<br />
Section "ServerFlags"<br />
Option "blank time" "3"<br />
Option "standby time" "5"<br />
Option "suspend time" "10"<br />
Option "off time" "15"<br />
Option "RandR"<br />
Option "AutoAddDevices" "False"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
Option "CoreKeyboard"<br />
Option "XkbRules" "xorg"<br />
Option "XkbModel" "thinkpad60"<br />
Option "XkbLayout" "us"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "UltraNav Trackpoint"<br />
Driver "mouse"<br />
Option "CorePointer"<br />
Option "Device" "/dev/input/mice"<br />
Option "Protocol" "ImPS/2"<br />
Option "Emulate3Buttons" "off"<br />
Option "EmulateWheel" "on"<br />
Option "EmulateWheelTimeOut" "250"<br />
Option "EmulateWheelButton" "2"<br />
Option "YAxisMapping" "4 5"<br />
Option "XAxisMapping" "6 7"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
# Section "InputDevice"<br />
# Identifier "Synaptics"<br />
# Driver "synaptics"<br />
# Option "Device" "/dev/input/mice"<br />
# Option "Protocol" "auto-dev"<br />
# Option "Emulate3Buttons" "yes"<br />
# Option "SHMConfig" "on"<br />
# EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Thinkpad Monitor"<br />
Option "DPMS"<br />
# HorizSync 31.5-50.0<br />
# VertRefresh 59.9-60.1<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Intel GMA X3100"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
Option "AccelMethod" "exa"<br />
Option "MigrationHeuristic" "greedy"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Thinkpad Screen"<br />
Device "Intel GMA X3100"<br />
Monitor "Thinkpad Monitor"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1280x800" "1024x768" "832x624" "800x600" "640x480" "720x400" "640x400" "640x350"<br />
Virtual 2048 2048<br />
EndSubSection<br />
EndSection<br />
<br />
Section "DRI"<br />
Mode 0666<br />
EndSection<br />
<br />
Section "Extensions"<br />
Option "Composite" "Enable"<br />
Option "RENDER" "Enable"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "Default Layout"<br />
Screen "Thinkpad Screen"<br />
InputDevice "UltraNav Trackpoint" "CorePointer"<br />
# InputDevice "Synaptics" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Please note that this has the touchpad and xorg input hotplugging disabled.<br />
<br />
==== Nvidia ====<br />
<br />
Follow the instructions in [[NVIDIA]].<br />
<br />
{{Box Note| If you're following the [[Beginners_Guide | Beginners Guide]] and you're not seeing the cursor after the NVIDIA logo, you should try the simple baseline X test. }}<br />
<br />
==Audio==<br />
Sound works out of the box. The relevant module for sound is: <br />
<br />
*SND_HDA_INTEL<br />
<br />
Refer to following guides to set it up:<br />
<br />
[[OSS]]<br />
<br />
[[ALSA]]<br />
<br />
[[PulseAudio]]<br />
<br />
Use whichever you wish.<br />
<br />
== Network ==<br />
=== Wired ===<br />
<br />
The wired connection works out of the box and uses the following module:<br />
<br />
*e1000e<br />
<br />
=== Wireless ===<br />
Uses either module, varies with different setups:<br />
<br />
*iwl3945<br />
*iwl4965<br />
<br />
Requires firmware be installed to work.<br />
<br />
Refer to [[Wireless_Setup#iwl3945.2C_iwl4965_and_iwl5000-series | Wireless Setup for iwl3945, iwl4965 and iwl5000 series]]<br />
<br />
=== Modem ===<br />
Untested.<br />
<br />
== USB ==<br />
Works out of the box.<br />
<br />
Following modules are used:<br />
<br />
*uhci_hcd<br />
*ehci_hcd<br />
*usbhid<br />
<br />
== Bluetooth ==<br />
Works out of the box.<br />
<br />
Following modules are used:<br />
<br />
*bluetooth<br />
*btusb<br />
*l2cap<br />
*rfcomm<br />
*hci_usb<br />
*ehci-hcd<br />
*uhci-hcd<br />
<br />
== Trackpoint ==<br />
Works, if you want to scroll while holding the middle mouse button down you can add the following to an .fdi file:<br />
<br />
/etc/hal/fdi/policy/11-trackpoint-mw.fdi:<br />
<match key="info.product" contains="TrackPoint"><br />
<merge key="input.x11_options.EmulateWheel" type="string">true</merge><br />
<merge key="input.x11_options.EmulateWheelButton" type="string">2</merge><br />
<merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge><br />
<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge><br />
</match><br />
<br />
What it does is that it sets emulates wheel on button two, which is middle button and maps in what directions it will emulate the scroll wheel, it will at the same time emulate 3 mouse buttons.<br />
<br />
Note: When using Kernel 2.6.32, HAL doesn't recognize the name TrackPoint anymore. Change the <tt>&lt;match&gt;</tt> tag to:<br />
<match key="info.product" string="PS/2 Generic Mouse"><br />
<br />
You can read more about the new [[Xorg_input_hotplugging | Xorg input hotplugging here]]<br />
<br />
More info on configuring it can be found at [http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint thinkwiki.org].<br />
<br />
==Touchpad==<br />
There is a synaptic touchpad on this laptop. If you follow this [http://wiki.archlinux.org/index.php/Touchpad_Synaptics howto], you should have no problems getting this to work.<br />
<br />
The relevant kernel driver is:<br />
<br />
*mouse_ps2_synaptics<br />
<br />
== ThinkFinger ==<br />
Works, read [[ThinkFinger]] for reference and examples.<br />
<br />
== ACPI ==<br />
To get all the special keys working requires the module:<br />
<br />
*THINKPAD_ACPI<br />
<br />
It is necessary to edit the default /etc/acpi/handler.sh included with the acpid package to get these keys working.<br />
<br />
#!/bin/sh<br />
# Default acpi script that takes an entry for all actions, modified to include thinkpad special keys.<br />
<br />
# NOTE: This is a 2.6-centric script. If you use 2.4.x, you'll have to<br />
# modify it to not use /sys<br />
<br />
minspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq`<br />
maxspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq`<br />
setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"<br />
<br />
set $*<br />
<br />
case "$1" in<br />
ibm/hotkey)<br />
case "$2" in<br />
HKEY)<br />
case "$4" in<br />
00001002) # Lock screen<br />
#Enter your xlock or xscreensaver command here<br />
;;<br />
00001003) # swithing display off<br />
xset dpms force off<br />
;;<br />
00001004) # Suspend to RAM<br />
/usr/sbin/pm-suspend<br />
;;<br />
00001005) # Switch Bluetooth<br />
;;<br />
00001007) # Toggle external display<br />
if [ "$(xrandr -q | grep "VGA connected")" ]; then<br />
if [ "$(xrandr -q | grep "VGA connected [0-9]")" ]; then<br />
xrandr --output VGA --off<br />
else<br />
xrandr --output VGA --auto<br />
fi<br />
else<br />
xrandr --output VGA --off<br />
fi<br />
;;<br />
#00001008) # Toggle Trackpoint/Touchpad<br />
# ;;<br />
#00001009) # Eject from dock<br />
# ;;<br />
0000100c) # Hibernate<br />
/usr/sbin/pm-hibernate<br />
;;<br />
00001011) #Brightness down<br />
CUR="xbacklight -get"<br />
CUR="echo $CUR | awk '{print $1-5}'"<br />
xbacklight -set $CUR<br />
;;<br />
00001012) #Brightness up<br />
CUR=`xbacklight -get`<br />
CUR="echo $CUR | awk '{print $1+5}'"<br />
xbacklight -set $CUR<br />
;;<br />
#00001014) # Toggle zoom<br />
# ;;<br />
00001018) # ThinkVantage button<br />
;;<br />
esac<br />
;;<br />
esac<br />
;;<br />
button/power)<br />
#echo "PowerButton pressed!">/dev/tty5<br />
case "$2" in<br />
PWRF) <br />
logger "PowerButton pressed: $2"<br />
/sbin/init 0<br />
;;<br />
*) logger "ACPI action undefined: $2" ;;<br />
esac<br />
;;<br />
button/sleep)<br />
case "$2" in<br />
SLPB) /usr/sbin/pm-suspend ;;<br />
*) logger "ACPI action undefined: $2" ;;<br />
esac<br />
;;<br />
ac_adapter)<br />
case "$2" in<br />
AC)<br />
case "$4" in<br />
00000000)<br />
#/etc/laptop-mode/laptop-mode start<br />
;;<br />
00000001)<br />
#/etc/laptop-mode/laptop-mode stop<br />
;;<br />
esac<br />
;;<br />
*) logger "ACPI action undefined: $2" ;;<br />
esac<br />
;;<br />
battery)<br />
case "$2" in<br />
BAT0)<br />
case "$4" in<br />
00000000) #echo "offline" >/dev/tty5<br />
#Enter whatever power scripts you have here.<br />
;;<br />
00000001) #echo "online" >/dev/tty5<br />
#Enter whatever power scripts you may have here.<br />
;;<br />
esac<br />
;;<br />
CPU0) <br />
;;<br />
*) logger "ACPI action undefined: $2" ;;<br />
esac<br />
;;<br />
button/lid)<br />
#echo "LID switched!">/dev/tty5<br />
/usr/sbin/pm-suspend<br />
;;<br />
*)<br />
logger "ACPI group/action undefined: $1 / $2"<br />
;;<br />
esac<br />
<br />
=== Multimedia Keys ===<br />
Now it is necessary to install xmodmap and xbindkeys via pacman for the multimedia keys.<br />
Now create a file at ~/.Xmodmap<br />
<br />
keycode 234 = XF86Back<br />
keycode 233 = XF86Forward<br />
keycode 144 = XF86AudioPrev<br />
keycode 164 = XF86AudioStop<br />
keycode 162 = XF86AudioPlay<br />
keycode 153 = XF86AudioNext<br />
keycode 160 = XF86AudioMute<br />
keycode 174 = XF86AudioLowerVolume<br />
keycode 176 = XF86AudioRaiseVolume<br />
<br />
Note: The keycode numbers may be different than these (they are on my T61.) Also, new versions of the X server may already give your multimedia keys the correct name, and if so you don't need to make a .Xmodmap file. To check this, run "xev" and press your volume keys to see what keycodes and keysyms it gives. <br />
<br />
Once you know X gives your keys the right names, you can set up the shortcuts to run the amixer or mpc commands. You can do this in your window manager/desktop environment's key settings, or using xbindkeys by making a ~/.xbindkeysrc like this one:<br />
<br />
"mpc toggle"<br />
XF86AudioPlay<br />
<br />
"mpc stop"<br />
XF86AudioStop<br />
<br />
"mpc prev"<br />
XF86AudioPrev<br />
<br />
"mpc next"<br />
XF86AudioNext<br />
<br />
"amixer sset PCM 2-"<br />
XF86AudioLowerVolume<br />
<br />
"amixer sset PCM 2+"<br />
XF86AudioRaiseVolume<br />
<br />
"amixer sset PCM toggle"<br />
XF86AudioMute<br />
<br />
Make sure you start the xbindkeys daemon! To start the daemon on startup, just add it to your ~/.xinitrc.<br />
== HDAPS ==<br />
To get the hard drive APS working, it is neccessary to have a kernel patched with the tp_smapi patches. Both the packages:<br />
<br />
*kernel26tp<br />
*kernel26zen-git<br />
<br />
Provide the needed module (in addition to many other useful patches.) Install either one, though it is reccomended that you try the kernel26zen-git package. Read [[Kernel Compilation with ABS]], [[Custom Kernel Compilation with ABS]], and [[Kernel Compilation From Source]] for more info.<br />
<br />
Now all that is required is the hdapsd daemon. This can be had from the AUR package hdapsd.<br />
<br />
== Card Readers ==<br />
=== PCMCIA ===<br />
Works as expected. Uses the module:<br />
<br />
*yenta<br />
<br />
=== Compact Flash ===<br />
The same goes for the Compact Flash. It's supposed to work as it uses the same interfaces as the PCMCIA does, but I can't confirm anything since I don't have a CF-card.<br />
=== Secure Digital ===<br />
The SD-card reader works out of the box with SD cards.<br />
<br />
==Other Tweaks==<br />
<br />
===HDD clicks===<br />
# pacman -S hdparm<br />
Put following line to /etc/rc.local (replace /dev/sda with other device if needed):<br />
hdparm -B 244 /dev/sda<br />
Details: http://www.thinkwiki.org/wiki/Problem_with_hard_drive_clicking<br />
<br />
= External Links =<br />
* http://www.thinkwiki.org/wiki/ThinkWiki<br />
* This report is listed at the [http://tuxmobil.org/fujitsu.html TuxMobil: Linux Laptop and Notebook Installation Guides Survey: Fujitsu-Siemens - FSC].</div>Robrenehttps://wiki.archlinux.org/index.php?title=NVIDIA&diff=90774NVIDIA2010-01-03T15:31:58Z<p>Robrene: /* Method 1 */</p>
<hr />
<div>[[Category: Graphics (English)]]<br />
[[Category: X Server (English)]]<br />
[[Category: HOWTOs (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|Information on installing, configuring and troubleshooting the proprietary NVIDIA Drivers.}}<br />
{{Article summary heading|Languages}}<br />
{{i18n_entry|English|NVIDIA}}<br />
{{i18n_entry|Türkçe|NVIDIA (Türkçe)}}<br />
{{i18n_entry|Italiano|NVIDIA (Italiano)}}<br />
{{i18n_entry|Nederlands|NVIDIA (Nederlands)}}<br />
{{i18n_entry|Русский|NVIDIA (Russian)}}<br />
{{i18n_entry|Česky|NVIDIA (česky)}}<br />
{{Article summary end}}<br />
<br />
This article covers installing and configuring [http://www.nvidia.com NVIDIA]'s ''proprietary'' graphic card driver. For information about the open-source drivers, see [[Nouveau]]. See [[Nforce_Drivers|nForce]] for subjects covering the motherboard drivers.<br />
<br />
==Installing==<br />
These instructions are for those using the stock kernel26 package. For custom kernel setup, skip to the [[#Alternate install: custom kernel|next]] subsection.<br />
<br />
{{Tip|It is usually beneficial to install the NVIDIA driver through pacman rather than through the package provided by the NVIDIA site, this allows the driver to be updated when upgrading the system.}}<br />
<br />
1. Visit NVIDIA's [http://www.nvidia.com/Download/index.aspx?lang=en-us driver download site] to find out the appropiate driver for a given card.<br />
<br />
2. Install the driver for newer cards:<br />
# pacman -S nvidia nvidia-utils<br />
<br />
:Whereas users with older cards should install:<br />
# pacman -S nvidia-96xx nvidia-96xx-utils<br />
<br />
:or:<br />
# pacman -S nvidia-173xx nvidia-173xx-utils<br />
<br />
{{Note|For the latest card models, it may be required to install {{Package AUR|nvidia-beta}} and {{Package AUR|nvidia-utils-beta}} from the [[AUR]] since the stable drivers may not support the newly introduced features.}}<br />
<br />
Once the driver has been installed, continue to: [[#Configuring]].<br />
<br />
===Alternate install: custom kernel===<br />
First of all, it is of advantage to know how the ABS system works by reading some of the other articles about it:<br />
* Main article for [[ABS]]<br />
* Article on [[makepkg]]<br />
* Article on [[The_Arch_package_making_HOW-TO_-_with_guidelines|package making]]<br />
<br />
The following is a short tutorial for making a custom nvidia driver package using ABS:<br />
<br />
Install ABS and generate the tree:<br />
# pacman -S abs<br />
# abs<br />
As a standard user, make a temporary directory for creating the new package:<br />
$ mkdir -p ~/devel/abs<br />
Make a copy of the nvidia package directory:<br />
$ cp -r /var/abs/extra/nvidia/ ~/devel/abs/<br />
Go into the temporary nvidia build directory:<br />
$ cd ~/devel/abs/nvidia<br />
It is required to edit the files {{Filename|nvidia.install}} and {{Filename|PKGBUILD}} file so that they contain the right kernel version variables.<br />
<br />
While running the custom kernel, get the appropiate kernel and local version names:<br />
$ uname -r<br />
# In nvidia.install, replace the <code>KERNEL_VERSION="2.6.xx-ARCH"</code> variable with the custom kernel version, such as <code>KERNEL_VERSION="2.6.22.6"</code> or <code>KERNEL_VERSION"2.6.22.6-custom"</code> depending on what the kernel's version is and the local version's text/numbers. Do this for all instances of the version number within this file.<br />
# In PKGBUILD, change the <code>_kernver='2.6.xx-ARCH'</code> variable to match the appropiate version, as above.<br />
# If there are more than one kernels in the system installed in parallel, (such as a custom kernel alongside the default -ARCH kernel) change the <code>"pkgname=nvidia"</code> variable in the PKGBUILD to a unique identifier, such as nvidia-2622 or nvidia-custom. This will allow both kernels to use the nvidia module, since the custom nvidia module has a different package name and will not overwrite the original.<br />
<br />
Then do:<br />
$ makepkg -c -i<br />
The {{Codeline|-c}} operand tells makepkg to clean left over files after building the nvidia driver, whereas {{Codeline|-i}} specifies that makepkg should automatically run pacman to install the resulting package.<br />
<br />
==Configuring==<br />
It is possible that after installing the driver it may not be needed to create an Xorg server configuration file. Once the [[HAL]] daemon is running, one can [[Xorg#Running Xorg|test]] to see if the Xorg server will function correctly without a configuration file. However, it may be required to create a {{Filename|/etc/xorg.conf}} configuration file in order to adjust various settings. This configuration can be generated by the NVIDIA Xorg configuration tool, or it can be created manually. If created manually, it can be a minimal configuration (in the sense that it will only pass the basic options to the [[Xorg]] server), or it can include a [[Xorg#Manual configuration|number of settings]] that can bypass Xorg's and HAL's auto-discovered or pre-configured options.<br />
<br />
===Automatic configuration===<br />
The NVIDIA package includes an automatic configuration tool to create an Xorg server configuration file ({{Filename|xorg.conf}}) and can be run by:<br />
nvidia-xconfig<br />
<br />
This command will auto-detect and create (or edit, if already present) the {{Filename|/etc/X11/xorg.conf}} configuration according to present hardware.<br />
<br />
===Minimal configuration===<br />
To create a basic {{Filename|/etc/X11/xorg.conf}}, as root:<br />
touch /etc/X11/xorg.conf<br />
<br />
And add the driver:<br />
<pre><br />
Section "Device"<br />
Identifier "Device0"<br />
Driver "nvidia"<br />
VendorName "NVIDIA Corporation"<br />
EndSection<br />
</pre><br />
<br />
{{Tip|Make sure, in order to have full multimedia functionality, to have '''hal''' and '''xorg-input-drivers''' installed.}}<br />
<br />
==Tweaking==<br />
<br />
===GUI: nvidia-settings===<br />
The NVIDIA package includes the {{Codeline|nvidia-settings}} program that allows adjustment of several additional settings.<br />
<br />
For the settings to be loaded on login, run this command from the terminal:<br />
$ nvidia-settings --load-config-only<br />
<br />
Or add it to the the desktop environment's auto-startup method.<br />
<br />
{{Tip | On rare occasions the {{Filename|~/.nvidia-settings-rc}} may become corrupt. If this happens, the Xorg server may crash and the file will have to be deleted to fix the issue.}}<br />
<br />
===Advanced: xorg.conf===<br />
Edit {{Filename|/etc/X11/xorg.conf}}, and add the option to the correct section. NVIDIA tests and ships the drivers with the recommended setting so note that some edits may cause instability, tearing, among other problems. Since not all options may work for a given system, consider backing up {{Filename|xorg.conf}} before making any edits. The Xorg server will need to be restarted before any changes are applied.<br />
<br />
====Enabling desktop composition====<br />
As of NVIDIA driver version 180.44, support for GLX with the Damage and Composite X extensions is enabled by default. Refer to [[Composite]] for detailed instructions.<br />
<br />
====Disabling the logo on startup====<br />
Add the {{Codeline|"NoLogo"}} option under section {{Codeline|Device}}:<br />
Option "NoLogo" "True"<br />
<br />
====Enabling hardware acceleration====<br />
Add the {{Codeline|"RenderAccel"}} option under section {{Codeline|Device}}:<br />
Option "RenderAccel" "True"<br />
{{Note|RenderAccel is enabled by default since drivers version 97.46.xx}}<br />
<br />
====Overriding monitor detection====<br />
The {{Codeline|"ConnectedMonitor"}} option under section {{Codeline|Device}} allows to override monitor detection when X server starts, which may save a significant amount of time at start up. The available options are: {{Codeline|"CRT"}} for analog connections, {{Codeline|"DFP"}} for digital monitors and {{Codeline|"TV"}} for televisions.<br />
<br />
The following statement forces the NVIDIA driver to bypass startup checks and recognize the monitor as DFP:<br />
Option "ConnectedMonitor" "DFP"<br />
{{Note| Use "CRT" for all analog 15 pin VGA connections, even if the disply is a flat panel. "DFP" is intended for DVI digital connections only.}}<br />
<br />
====Enabling triple buffering====<br />
Enable the use of triple buffering by adding the {{Codeline|"TripleBuffer"}} Option under section {{Codeline|Device}}:<br />
Option "TripleBuffer" "True"<br />
<br />
Use this option if the graphics card has plenty of ram (equal or greater than 128MB). The setting only takes effect when syncing to vblank is enabled, one of the options featured in nvidia-settings.<br />
<br />
{{Note|This option may introduce full-screen tearing}}<br />
<br />
====Enabling backing store====<br />
This option is used to enable the server's support for backing store, a mechanism by which pixel data for occluded window regions is remembered by the server, thereby alleviating the need to send expose events to X clients when the data needs to be redisplayed. BackingStore is not bound to NVIDIA drivers but to X server itself. ATI users would benefit from this option as well.<br />
<br />
Add under section {{Codeline|Device}}:<br />
Option "BackingStore" "True"<br />
<br />
====Using OS-level events====<br />
Taken from the NVIDIA driver's [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-7182/README/readme.txt README] file: ''"[...] Use OS-level events to efficiently notify X when a client has performed direct rendering to a window that needs to be composited."'' It may help improving performance, but it is currently incompatible with SLI and Multi-GPU modes.<br />
<br />
Add under section {{Codeline|Device}}:<br />
Option "DamageEvents" "True"<br />
{{Note|This option is enabled by default in newer driver versions.}}<br />
<br />
====Enabling power saving====<br />
Add under section <code>Monitor</code>:<br />
Option "DPMS" "True"<br />
<br />
====Forcing Powermizer performance level (for laptops)====<br />
Add under section {{Codeline|Device}}:<br />
# Force Powermizer to a certain level at all times<br />
# level 0x1=highest<br />
# level 0x2=med<br />
# level 0x3=lowest<br />
<br />
# AC settings:<br />
Option "RegistryDwords" "PowerMizerLevelAC=0x3"<br />
# Battery settings:<br />
Option "RegistryDwords" "PowerMizerLevel=0x3"<br />
Settings are better explained in [http://tutanhamon.com.ua/technovodstvo/NVIDIA-UNIX-driver/ NVIDIA Driver for X.org:Performance and Power Saving Hints].<br />
<br />
=====Letting the GPU set its own performance level based on temperature=====<br />
Add under section {{Codeline|Device}}:<br />
Option "RegistryDwords" "PerfLevelSrc=0x3333"<br />
<br />
====Disable vblank interrupts (for laptops)====<br />
When running the interrupt detection utility {{Codeline|powertop}}, it can be observed that the Nvidia driver will generate an interrupt for every vblank. To disable, place in the {{Codeline|Device}} section:<br />
Option "OnDemandVBlankInterrupts" "True"<br />
This will reduce interrupts to about one or two per second.<br />
<br />
====Enabling overclocking====<br />
To enable overclocking, place the following line in the {{Codeline|Device}} section:<br />
Option "Coolbits" "1"<br />
This will enable on the fly overclocking by running nvidia-settings inside X.<br />
{{Warning|Please note that overclocking may damage hardware and that no responsibility may be placed on the authors of this page due to any damage to any information technology equipment from operating products out of specifications set by the manufacturer.}}<br />
<br />
====Enable screen rotation through XRandR====<br />
Place the following line in the {{Codeline|Device}} section:<br />
Option "RandRRotation" "True"<br />
After restarting Xorg, type:<br />
xrandr -o left<br />
The Screen should be rotated. To restore, type:<br />
xrandr -o normal<br />
{{Note| Editing xorg.conf may be unnecessary since screen rotation should be enabled by default, ideally by using the respective DE tools, such as SystemSettings in KDE.}}<br />
<br />
==Tips and tricks==<br />
<br />
===Using TV-out===<br />
A good article on the subject can be found [http://en.wikibooks.org/wiki/NVidia/TV-OUT here]<br />
<br />
===X with a TV (DFP) as the only display===<br />
The X server falls back to CRT-0 if no monitor is automatically detected. This can be a problem when using a DVI connected TV as the main display, and X is started while the TV is turned off or otherwise disconnected.<br />
<br />
To force nvidia to use DFP, store a copy of the EDID somewhere in the filesystem so that X can parse the file instead of reading EDID from the TV/DFP.<br />
<br />
To acquire the EDID, start nvidia-settings. It will show some information in tree format, ignore the rest of the settings for now and select the GPU (the corresponding entry should be titled "GPU-0" or similar), click the "DFP" section (again, "DFP-0" or similar), click on the "Acquire Edid" Button and store it somewhere, for example, {{Filename|/etc/X11/dfp0.edid}}.<br />
<br />
Edit xorg.conf by adding to the "Device" section:<br />
Option "ConnectedMonitor" "DFP"<br />
Option "CustomEDID" "DFP-0:/etc/X11/dfp0.edid"<br />
The "ConnectedMonitor" option forces the driver to recognize the DFP as if it were connected. The "CustomEDID" provides EDID data for the device, meaning that it will start up just as if the TV/DFP was connected during X the process.<br />
<br />
This way, one can automatically start a display manager at boot time and still have a working and properly configured X screen by the time the TV gets powered on.<br />
<br />
===Displaying GPU temperature in the shell===<br />
====Method 1====<br />
{{Note|This method requires that you're using X. Use Method 2 if you are not. Also note that method 2 will not work with newer nvidia cards such as the G210/220.}}<br />
To display the GPU temp in the shell, use nvidia-settings as follows:<br />
$ nvidia-settings -q gpucoretemp<br />
<br />
This will output something similar to the following:<br />
Attribute 'GPUCoreTemp' (hostname:0.0): 41.<br />
'GPUCoreTemp' is an integer attribute.<br />
'GPUCoreTemp' is a read-only attribute.<br />
'GPUCoreTemp' can use the following target types: X Screen, GPU.<br />
<br />
The GPU temps of this board is 41 C.<br />
<br />
In order to get just the temperature for use in utils such as rrdtool or conky, among others:.<br />
$ nvidia-settings -q gpucoretemp -t<br />
41<br />
<br />
====Method 2====<br />
Use nvclock which is available from the [extra] repo. Note that nvclock cannot access thermal sensors on newer nvidia cards such as the G210/220.<br />
<br />
==Troubleshooting==<br />
<br />
===Gaming using Twinview===<br />
In case you want to play fullscreen games when using Twinview, you will notice that games recognize the two screens as being one big screen. While this is technically correct (the virtual X screen really is the size of your screens combined), you probably don't want to play on both screens at the same time. <br />
<br />
To correct this behavior for SDL, try:<br />
export SDL_VIDEO_FULLSCREEN_HEAD=1<br />
<br />
For OpenGL, add the appropiate Metamodes to your xorg.conf in section {{Codeline|Device}} and restart X:<br />
Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL; 1280x1024,NULL;"<br />
<br />
Another method that may either work alone or in conjunction with those mentioned above is [[Games#Starting_games_in_a_seperate_X_server|starting games in a seperate X server]].<br />
<br />
===Old Xorg Settings===<br />
If upgrading from an old installation, please remove old {{Filename|/usr/X11R6}} paths as it can cause trouble during installation.<br />
<br />
===Corrupted screen: "Six screens" issue===<br />
For some users using Geforce GT 100M's, the screen turns out corrupted after X starts; divided into 6 sections with a resolution limited to 640x480.<br />
<br />
To solve this problem, enable the Validation Mode {{Codeline|NoTotalSizeCheck}} in section {{Codeline|Device}}:<br />
Section "Device"<br />
...<br />
Option "ModeValidation" "NoTotalSizeCheck"<br />
...<br />
EndSection<br />
<br />
==='/dev/nvidiactl' errors===<br />
Trying to start an opengl application might result in errors such as:<br />
Error: Could not open /dev/nvidiactl because the permissions are too<br />
restrictive. Please see the <code>FREQUENTLY ASKED QUESTIONS</code> <br />
section of <code>/usr/share/doc/NVIDIA_GLX-1.0/README</code> <br />
for steps to correct.<br />
<br />
Solve by adding the appropiate user to the "video" group and relogin:<br />
# gpasswd -a username video<br />
<br />
===32 bit applications do not start===<br />
Under 64 bit systems, installing {{Codeline|lib32-nvidia-utils}} that corresponds to the same version installed for the 64 bit driver fixes the issue.<br />
<br />
===Errors after updating the kernel===<br />
Every time the kernel26 package is updated, it is a requirement to reinstall the nvidia package and rebooting afterwards.<br />
<br />
===Crashing in general===<br />
* Try disabling {{Codeline|RenderAccel}} in xorg.conf.<br />
* If Xorg outputs an error about "conflicting memory type", add {{Codeline|nopat}} at the end of the {{Codeline|kernel}} line in {{Codeline|/boot/grub/menu.lst}}.<br />
* If the NVIDIA compiler complains about different versions of GCC between the current one and the one used for compiling the kernel, add in {{Codeline|/etc/profile}}:<br />
export IGNORE_CC_MISMATCH=1<br />
* If Xorg is crashing with a "Signal 11" while using nvidia-96xx drivers, try disabling PAT. Pass the argument {{Codeline|nopat}} to the {{Codeline|kernel}} line in {{Codeline|menu.lst}}.<br />
More information about trouble-shooting the driver can be found in the [http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 NVIDIA forums.]<br />
<br />
===Bad performance after installing a new driver version===<br />
If FPS have dropped in comparison with older drivers, first check if direct rendering is turned on: <br />
glxinfo | grep direct<br />
If the command prints:<br />
direct rendering: No <br />
then that could be an indication for the sudden FPS drop.<br />
<br />
A possible solution could be to regress to the previously installed driver version and rebooting afterwards.<br />
<br />
===Laptops: X hangs on login/out, worked around with Ctrl+Alt+Backspace===<br />
If while using the legacy nvidia drivers Xorg hangs on login and logout (particularly with an odd screen split into two black and white/gray pieces), but logging in is still possible via Ctrl-Alt-Backspace (or whatever the new "kill X" keybind is), try adding this in {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options nvidia NVreg_Mobile=1<br />
<br />
One user had luck with this instead, but it makes performance drop significantly for others:<br />
options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=33 NVreg_DeviceFileMode=0660 NVreg_SoftEDIDs=0 NVreg_Mobile=1<br />
<br />
Note that {{Codeline|NVreg_Mobile}} needs to be changed according to the laptop:<br />
* 1 for Dell laptops.<br />
* 2 for non-Compal Toshiba laptops.<br />
* 3 for other laptops.<br />
* 4 for Compal Toshiba laptops.<br />
* 5 for Gateway laptops.<br />
<br />
See [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-7182/README/readme.txt NVIDIA Driver's Readme:Appendix K] for more information.<br />
<br />
===Refresh rate not detected properly by XRandR dependant utilities===<br />
The XRandR X extension is not presently aware of multiple display devices on a single X screen; it only sees the {{Codeline|MetaMode}} bounding box, which may contain one or more actual modes. This means that if multiple MetaModes have the same bounding box, XRandR will not be able to distinguish between them.<br />
<br />
In order to support {{Codeline|DynamicTwinView}}, the NVIDIA driver must make each MetaMode appear to be unique to XRandR. Presently, the Nvidia driver accomplishes this by using the refresh rate as a unique identifier.<br />
<br />
Use {{Codeline|nvidia-settings -q RefreshRate}} to query the actual refresh rate on each display device.<br />
<br />
The XRandR extension is currently being redesigned by the X.Org community, so the refresh rate workaround may be removed at some point in the future.<br />
<br />
This workaround can also be disabled by setting the "DynamicTwinView" X configuration option to "false", which will disable NV-CONTROL support for manipulating MetaModes, but will cause the XRandR and XF86VidMode visible refresh rate to be accurate.<br />
<br />
==External links==<br />
* [http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 NVIDIA forums]<br />
* [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-7182/README/readme.txt Official readme for NVIDIA drivers]</div>Robrene