https://wiki.archlinux.org/api.php?action=feedcontributions&user=Tavianator&feedformat=atomArchWiki - User contributions [en]2024-03-29T06:38:34ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Pi-hole&diff=672075Pi-hole2021-05-20T14:25:42Z<p>Tavianator: Add alternative solution to systemd-resolved conflict</p>
<hr />
<div>[[Category:Domain Name System]]<br />
[[it:Pi-hole]]<br />
[[ja:Pi-hole]]<br />
{{Related articles start}}<br />
{{Related|dnsmasq}}<br />
{{Related|Domain name resolution}}<br />
{{Related|lighttpd}}<br />
{{Related|Linux Containers}}<br />
{{Related|nginx}}<br />
{{Related|OpenVPN}}<br />
{{Related|WireGuard}}<br />
{{Related articles end}}<br />
<br />
[https://pi-hole.net/ Pi-hole] project is a [[wikipedia:DNS_sinkhole|DNS sinkhole]] that compiles a blocklist of domains from multiple third-party sources. Pi-hole uses {{AUR|pi-hole-ftl}} ([[dnsmasq]] fork) to seamlessly drop any and all requests for domains in its blocklist. Running it effectively deploys network-wide ad-blocking without the need to configure individual clients. The package comes with an optional web and a CLI interfaces.<br />
<br />
{{Note|Pi-hole on Arch Linux is not officially supported by the Pi-hole project.}}<br />
<br />
== Overview ==<br />
<br />
There are 2 versions of Pi-Hole available for Arch Linux:<br />
<br />
* [[#Pi-hole server]] - This is default and well-known Pi-Hole server that most users are looking for. It is designed to be used as a DNS server for other devices on the LAN.<br />
* [[#Pi-hole standalone]] - This is alternative lightweight Pi-Hole installation, designed for a mobile context. It is intended to be used on the same device (e.g. laptop), where no external and centralised Pi-Hole server is available. It also has no web interface and automatically updates.<br />
<br />
== Pi-hole server ==<br />
<br />
=== Installation ===<br />
<br />
[[Install]] the {{AUR|pi-hole-server}} package.<br />
<br />
=== Configuration ===<br />
<br />
==== FTL (Faster Than Light) ====<br />
<br />
FTL is a DNS resolver/forwarder and a database-like wrapper/API that provides long-term storage of requests which users can query through the "long-term data" section of the WebGUI. Data are collected and stored in two places:<br />
<br />
# Daily data are stored in RAM and are captured in real-time within {{ic|/run/log/pihole/pihole.log}}<br />
# Historical data (i.e. over multiple days/weeks/months) are stored on the file system {{ic|/etc/pihole/pihole-FTL.db}} written out at a user-specified interval.<br />
<br />
{{Note|To disable logging, see [[#Disable query logging]].}}<br />
<br />
{{ic|pihole-FTL.service}} is statically enabled; re/start it. For FTL configuration, see [https://docs.pi-hole.net/ftldns/configfile/ upstream documentation].<br />
<br />
{{Note|Starting {{ic|pihole-FTL.service}} is likely going to fail. See [[#Failed to start Pi-hole FTLDNS engine]].}}<br />
<br />
==== Web interface ====<br />
<br />
Pi-hole has a very powerful, user friendly, but completely optional web interface. It allows not only to change settings, but analyse and visualise DNS queries performed by other devices.<br />
<br />
===== Set-up PHP =====<br />
<br />
Install {{pkg|php-sqlite}} ({{pkg|php}} will be installed automatically) and enable the relevant extensions detailed here:<br />
<br />
{{hc|/etc/php/php.ini|2=<br />
[...]<br />
extension=pdo_sqlite<br />
[...]<br />
extension=sockets<br />
[...]<br />
extension=sqlite3<br />
[...]<br />
}}<br />
<br />
===== Explicitly permit directories for php-fpm =====<br />
<br />
For security reasons, one can optionally populate the [[PHP#Configuration|PHP open_basedir]] directive however, the Pi-hole administration web interface will need access to following files and directories:<br />
<br />
/srv/http/pihole<br />
/run/pihole-ftl/pihole-FTL.port<br />
/run/log/pihole/pihole.log<br />
/run/log/pihole-ftl/pihole-FTL.log<br />
/etc/pihole<br />
/etc/hosts<br />
/etc/hostname<br />
/etc/dnsmasq.d/02-pihole-dhcp.conf<br />
/etc/dnsmasq.d/03-pihole-wildcard.conf<br />
/etc/dnsmasq.d/04-pihole-static-dhcp.conf<br />
/var/log/lighttpd/error.log<br />
/proc/meminfo<br />
/proc/cpuinfo<br />
/sys/class/thermal/thermal_zone0/temp<br />
/tmp<br />
<br />
===== Set-up lighttpd =====<br />
<br />
{{Tip|Users can also run Nginx web server instead. See [[#Nginx instead of Lighttpd]].}}<br />
<br />
[[Install]] {{Pkg|lighttpd}} and {{Pkg|php-cgi}}.<br />
<br />
Copy the package provided default config for Pi-hole:<br />
<br />
# cp /usr/share/pihole/configs/lighttpd.example.conf /etc/lighttpd/lighttpd.conf<br />
<br />
[[Enable]] {{ic|lighttpd.service}} and [[start]] it.<br />
<br />
{{Note|As of [https://github.com/pi-hole/pi-hole/releases/tag/v5.2.4 upstream version 5.2.4], The built-in web interface (version 5.4) has minor compatibility issues with [[PHP]] version 8. Choose to ignore the errors, or see [[#PHP 8 web interface incompatibility]] for a guide on installing and using [[PHP]] version 7 instead.}}<br />
<br />
==== Update hosts file ====<br />
<br />
{{Pkg|filesystem}} ships with an empty {{ic|/etc/hosts}} file which is known to prevent Pi-hole from fetching block lists. One must append the following to this file to ensure correct operation, noting that ''ip.address.of.pihole'' should be the actual IP address of the machine running Pi-hole (e.g. 192.168.1.250) and ''myhostname'' should be the actual hostname of the machine running Pi-hole:<br />
<br />
{{hc|/etc/hosts|<br />
127.0.0.1 localhost<br />
ip.address.of.pihole pi.hole myhostname<br />
}}<br />
<br />
For more, see [https://github.com/pi-hole/pi-hole/issues/1800 Issue#1800].<br />
<br />
=== Making devices use Pi-hole ===<br />
<br />
To use Pi-Hole, devices with the network should use Pi-Hole's IP address as their sole DNS server. To accomplish this, there are generally 2 methods to make it happen:<br />
<br />
# In router's LAN DHCP settings, set Pi-Hole's IP address as the only DNS server available for connected devices.<br />
# Manually configure each device to use Pi-Hole's IP address as their only DNS server.<br />
<br />
{{Note|Some routers (or even ISPs) do not allow modifications to LAN DNS settings, so disabling the router's DHCP server and using [https://discourse.pi-hole.net/t/how-do-i-use-pi-holes-built-in-dhcp-server-and-why-would-i-want-to Pi-Hole's built in DHCP server] might be a solution.}}<br />
<br />
More information about making other devices use Pi-Hole can be found at [https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245 upstream documentation].<br />
<br />
{{Tip|Pi-Hole hosting device can also make use of Pi-Hole. Just change DNS settings to only IP address {{ic|127.0.0.1}}.}}<br />
<br />
== Pi-hole standalone ==<br />
<br />
=== Installation ===<br />
<br />
[[Install]] the {{AUR|pi-hole-standalone}} package.<br />
<br />
=== Configuration ===<br />
<br />
==== Timer ====<br />
<br />
The Pi-hole standalone package install a statically enabled timer (and relative service) will weekly update Pi-hole blacklisted servers list.<br />
The default values can be changed via an [[edit]] to the service or it can be prevented from being executed by [[systemd#Using units|masking]] it.<br />
Remember to manually start {{ic|pi-hole-gravity.timer}} or simply reboot after editing.<br />
<br />
==== FTL ====<br />
<br />
See [[#FTL (Faster Than Light)]].<br />
<br />
=== Usage ===<br />
<br />
Change the computer's network settings so the only DNS server in use is {{ic|127.0.0.1}}.<br />
<br />
== Usage ==<br />
<br />
Both standalone and server versions can be controlled via CLI, but only server version can be controlled via web interface.<br />
<br />
=== Using web interface ===<br />
<br />
Go to [http://pi.hole/admin/ pi.hole] or {{ic|<Pi-Hole IP address>/admin/}} to access web interface.<br />
<br />
=== Using CLI ===<br />
<br />
==== Pi-hole DNS management ====<br />
<br />
By default Pi-hole uses the Google DNS server. Change which DNS servers Pi-hole uses with:<br />
<br />
$ pihole -a setdns ''server''<br />
<br />
Specify multiple DNS servers by separating their addresses with commas.<br />
<br />
==== Forced update of ad-serving domains list ====<br />
<br />
To update the blocked domain list, execute:<br />
<br />
$ pihole -g<br />
<br />
==== Temporarily disable Pi-hole ====<br />
<br />
Pi-hole can be paused via CLI by executing:<br />
<br />
$ pihole disable [time]<br />
<br />
Leaving the value for {{ic|time}} blank, the disabling will be permanent until later manual reenabling.<br />
{{ic|time}} can be expressed in seconds or minutes with syntax #s and #m. For example, to disable Pi-hole for 5 minutes:<br />
<br />
$ pihole disable 5m<br />
<br />
At any time, reenable Pi-hole by executing:<br />
<br />
$ pihole enable<br />
<br />
== Tips and tricks ==<br />
<br />
=== Password-protected web interface ===<br />
<br />
To password-protect the Pi-hole web interface, run the following command and enter the password:<br />
<br />
$ pihole -a -p<br />
<br />
To disable the password protection, set a blank password.<br />
<br />
=== Cloudflare DoH ===<br />
<br />
Pi-Hole can be configured to use [[Cloudflared]] to achieve [[DNS over HTTPS]] functionality.<br />
<br />
To make [[Cloudflared]] work with Pi-Hole, edit {{ic|cloudflared.yml}} file and change settings as per below:<br />
<br />
{{hc|/etc/cloudflared/cloudflared.yml|<br />
...<br />
proxy-dns-port: 53000<br />
proxy-dns-address: 127.0.0.1<br />
}}<br />
<br />
Then [[restart]] {{ic|cloudflared@cloudflared.service}}. Now use {{ic|127.0.0.1#53000}} as the only DNS server entry in Pi-Hole.<br />
<br />
=== Optimise for solid state drives ===<br />
<br />
If Pi-hole is running on a [[solid state drive]] (SD card, SSD etc..) it is recommended to uncomment the {{ic|DBINTERVAL}} value and change it to at least {{ic|60.0}} to minimize writes to the database:<br />
<br />
{{hc|/etc/pihole/pihole-FTL.conf|<nowiki><br />
<br />
...<br />
<br />
## Database Interval<br />
## How often do we store queries in FTL's database -minutes-?<br />
## See: https://docs.pi-hole.net/ftldns/database/<br />
## Options: number of minutes<br />
DBINTERVAL=60.0<br />
<br />
...<br />
<br />
</nowiki>}}<br />
<br />
After changes have been performed, [[restart]] {{ic|pihole-FTL.service}}.<br />
<br />
=== Disable query logging ===<br />
<br />
Both daily and historic data collected by default contain query data that might be considered sensitive.<br />
<br />
To disable the query database for historic data, set privacy level to the maximum Anonymous mode either in the web administration (Settings > Privacy) or in the configuration file {{ic|/etc/pihole/pihole-FTL.conf}} by editing the line:<br />
<br />
PRIVACYLEVEL=3<br />
<br />
To also disable the logging for daily data, use the following command:<br />
<br />
$ pihole logging off<br />
<br />
{{Warning|Pi-hole will erase all statistics upon executing this command.}}<br />
<br />
=== Use with VPN server ===<br />
<br />
Pi-Hole can be used by connected VPN clients.<br />
<br />
==== OpenVPN ====<br />
<br />
An [[OpenVPN]] server can be configured to advertise a Pi-hole instance to its clients. Add the following two lines to {{ic|/etc/openvpn/server/server.conf}}:<br />
<br />
push "redirect-gateway def1 bypass-dhcp"<br />
push "dhcp-option DNS ''Pi-Hole-IP''"<br />
<br />
If it still does not work, try creating a file {{ic|/etc/dnsmasq.d/00-openvpn.conf}} with the following content:<br />
<br />
interface=tun0<br />
<br />
It may be necessary to make {{ic|dnsmasq}} listen on {{ic|tun0}}.<br />
<br />
==== WireGuard ====<br />
<br />
[[WireGuard]] clients can be configured to use Pi-Hole DNS server. In the client configuration file, specify the following line:<br />
<br />
DNS = ''Pi-Hole-IP''<br />
<br />
See more information in [[WireGuard#Client config]].<br />
<br />
=== Nginx instead of Lighttpd ===<br />
<br />
This is [https://docs.pi-hole.net/guides/nginx-configuration/ unofficial, community-supported configuration]. Make sure that PHP is set-up (see [[#Set-up PHP]]) and lighttpd server is inactive.<br />
<br />
[[Install]] {{Pkg|nginx-mainline}} and {{Pkg|php-fpm}}. <br />
<br />
Modify {{ic|/etc/nginx/nginx.conf}} to contain the following in the '''http''' section:<br />
<br />
gzip on;<br />
gzip_min_length 1000;<br />
gzip_proxied expired no-cache no-store private auth;<br />
gzip_types text/plain application/xml application/json application/javascript application/octet-stream text/css;<br />
include /etc/nginx/conf.d/*.conf;<br />
<br />
Copy the package provided default config for Pi-hole:<br />
<br />
# mkdir /etc/nginx/conf.d<br />
# cp /usr/share/pihole/configs/nginx.example.conf /etc/nginx/conf.d/pihole.conf<br />
<br />
Edit {{ic|/etc/nginx/conf.d/pihole.conf}} and change the {{ic|fastcgi_pass}} directive to the following:<br />
<br />
fastcgi_pass unix:/run/php-fpm/php-fpm.sock; <br />
<br />
Optionally, set {{ic|VIRTUAL_HOST}} to the CNAME of Pi-hole if the intention is to run multiple virtual hosts on Nginx.<br />
<br />
fastcgi_param VIRTUAL_HOST "pihole.example.com";<br />
<br />
Since version 7.4 php-fpm is hardened by default and revokes read/write access on {{ic|/usr}} (and sub-directories).<br />
<br />
Create an [[drop-in file]] for {{ic|php-fpm}} with the following content:<br />
<br />
{{hc|/etc/systemd/system/php-fpm.service.d/pihole.conf|2=<br />
[Service]<br />
ReadWritePaths = /srv/http/pihole<br />
ReadWritePaths = /run/pihole-ftl/pihole-FTL.port<br />
ReadWritePaths = /run/log/pihole/pihole.log<br />
ReadWritePaths = /run/log/pihole-ftl/pihole-FTL.log<br />
ReadWritePaths = /etc/pihole<br />
ReadWritePaths = /etc/hosts<br />
ReadWritePaths = /etc/hostname<br />
ReadWritePaths = /etc/dnsmasq.d/<br />
ReadWritePaths = /proc/meminfo<br />
ReadWritePaths = /proc/cpuinfo<br />
ReadWritePaths = /sys/class/thermal/thermal_zone0/temp<br />
ReadWritePaths = /tmp<br />
}}<br />
<br />
Then [[start]] and [[enable]] {{ic|nginx.service}} and {{ic|php-fpm.service}}.<br />
<br />
=== Additional blocklists ===<br />
<br />
Pi-hole was intended to block ads, but it can also be used to block other unwanted content:<br />
<br />
# Tracking domains<br />
# Malware domains<br />
# Piracy sites<br />
# Fake news sites<br />
# Phishing sites<br />
<br />
{{Note|Pi-Hole blocklists must contain '''domains'''. Some blocklists might contain IP addresses of 127.0.0.1 and domain combination - this format is accepted by Pi-Hole.}}<br />
<br />
There are many sources providing these blocklists. Some examples: [https://firebog.net/ firebog.net] and [https://oisd.nl/ oisd.nl].<br />
<br />
=== Use Unbound as upstream DNS server ===<br />
<br />
By default, Pi-hole forwards requests to upstream DNS servers, which might lead to privacy concerns.<br />
See [https://docs.pi-hole.net/guides/dns/unbound/ upstream documentation] for a guide on setting up [[Unbound]] locally to resolve DNS requests.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Odd behavior in the web interface after an upgrade ===<br />
<br />
Some strange/unexplained rendering issues in the web GUI can often be fixed by clearing one's browser cache.<br />
<br />
=== Data loss on reboot ===<br />
<br />
Systems without a [[RTC]] such as some ARM devices will likely experience loss of data in the query log upon rebooting. When systems lacking a [[RTC]] boot, the time is set ''after'' the network and resolver come up. Aspects of Pi-hole can get started before this happens leading to the data loss. An incorrectly set [[RTC]] can also cause problems. See: [[Installation guide#Time zone]] and [[System time]].<br />
<br />
For devices lacking a [[RTC]]:<br />
A hacky work-around for this is to use [[drop-in file]]s against {{ic|pihole-FTL.service}} wherein a delay is built in calling {{ic|/usr/bin/sleep x}} in a {{ic|ExecStartPre}} statement. Note that the value of "x" in the sleep time depends on how long your specific hardware takes to establish the time sync.<br />
<br />
[https://github.com/systemd/systemd/issues/11008 Issue#11008] against systemd-timesyncd is currently preventing the use of the ''time-sync.target'' to automate this.<br />
<br />
=== Failed to start Pi-hole FTLDNS engine ===<br />
<br />
{{Tip|Check which process opened port 53 with: {{ic|# lsof -i :53}}.}}<br />
<br />
It might be that {{ic|systemd-resolved.service}} already occupied port 53, which is required for {{ic|pihole-FTL.service}}.<br />
To resolve this, disable the stub listener by editing [[systemd-resolved]] config file:<br />
<br />
{{hc|/etc/systemd/resolved.conf|output=<br />
[Resolve]<br />
DNSStubListener=no<br />
}}<br />
<br />
Then [[restart]] {{ic|systemd-resolved.service}} and {{ic|pihole-FTL.service}}.<br />
<br />
For more information, see {{man|5|resolved.conf}}.<br />
<br />
Alternatively, you can tell dnsmasq to bind to each interface explicitly, instead of the wildcard {{ic|0.0.0.0:53}}, by uncommenting the line {{ic|bind-interfaces}} in {{ic|/etc/dnsmasq.conf}}. This will avoid conflicting with {{ic|systemd-resolved}} which listens on {{ic|127.0.0.53:53}}.<br />
<br />
=== DNSMasq package conflict ===<br />
<br />
Since Pi-hole-FTL 4.0, a private fork of dnsmasq is integrated in the FTL sub-project. The original {{Pkg|dnsmasq}} package is now conflicting with {{AUR|pi-hole-ftl}} and will be uninstalled when upgrading from a previous version. It is still possible to use the previous dnsmasq config files, just ensure that {{ic|1=conf-dir=/etc/dnsmasq.d/,*.conf}} in the original {{ic|/etc/dnsmasq.conf}} is not commented out.<br />
<br />
=== Unknown status and changes not being saved ===<br />
<br />
The issue, as seen in {{Bug|63704}}, is with systemd-sysusers created user {{ic|http}}, which is created in expired state. To fix it, run:<br />
<br />
# chage --expiredate -1 http<br />
<br />
=== Slow loading times ===<br />
<br />
{{Accuracy|This issue seems to pertain to DNS configuration. It might not be a good idea to instruct direct changes to {{ic|/etc/resolv.conf}}.}}<br />
<br />
If browsers report "Resolving host" or it just takes longer to load pages than usual, ensure that {{ic|/etc/resolv.conf}} looks '''exactly''' like this:<br />
<br />
{{hc|/etc/resolv.conf|<br />
nameserver 127.0.0.1<br />
}}<br />
<br />
If it takes very long to load pages, it can be a problem with lsof call in pihole script {{ic|(/usr/bin/pihole)}} called through php. You can verify it while loading page with: {{ic|<nowiki>ps -ef | grep lsof</nowiki>}}. Kill it and if the page is displayed, you can replace lsof call in pihole script (there is only one) with:<br />
<br />
{{bc|<nowiki>ss -lnp '( sport = 53 )'</nowiki>}}<br />
<br />
=== PHP 8 web interface incompatibility ===<br />
<br />
As of [https://github.com/pi-hole/pi-hole/releases/tag/v5.2.4 upstream version 5.2.4], The built-in web interface (version 5.4) has compatibility issues with [[PHP]] version 8.<br />
In particular, when applying DNS related configurations in Settings > DNS tab, the webpage raises an error.<br />
<br />
To address web interface issues after [[#Configuration]], [[install]] packages {{Pkg|php7}}, {{Pkg|php7-cgi}}, {{Pkg|php7-fpm}} and {{Pkg|php7-sqlite}}.<br />
Then edit reference to {{ic|php-cgi}} as follows:<br />
<br />
{{hc|1=/etc/lighttpd/lighttpd.conf|2=<br />
...<br />
"bin-path" => "/usr/bin/php-cgi7 -d session.save_path=/run/pihole",<br />
...<br />
}}<br />
<br />
{{Warning|As stated in the configuration file, manual changes will be reset upon reinstallation or update.}}<br />
<br />
Finally, [[restart]] {{ic|lighttpd.service}}.<br />
<br />
== See also ==<br />
<br />
* [https://pi-hole.net/ Pi-hole homepage]<br />
* [https://github.com/pi-hole/pi-hole Pi-hole GitHub page]<br />
* [https://github.com/pi-hole/FTL Pi-hole FTL GitHub page]<br />
* [https://dlaa.me/blog/post/skyhole Sky-Hole, the basic idea under Pi-hole standalone]<br />
* [https://unix.stackexchange.com/questions/304050/how-to-avoid-conflicts-between-dnsmasq-and-systemd-resolved stopping systemd-resolved stub server opening port 53]<br />
* [https://www.reddit.com/r/pihole/comments/d9j1z6/unbound_as_recursive_dns_server_slow_performance/f1jnuq1/ Unbound performance issue]</div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Apple_Keyboard&diff=186078Apple Keyboard2012-02-25T00:58:47Z<p>Tavianator: Add un-apple-keyboard documentation</p>
<hr />
<div>[[Category:Keyboards (English)]]<br />
{{i18n|Apple Keyboard}}<br />
==Function keys do not work==<br />
<br />
If your F<num> keys do not work, this is probably because the kernel driver for the keyboard has defaulted to using the media keys and requiring you to use the Fn key to get to the F<num> keys. To change this behaviour, you have to change a driver setting. Do the following as root:<br />
<br />
echo 2 > /sys/module/hid_apple/parameters/fnmode<br />
<br />
If it tells you that the file doesn't exist, you probably have an older kernel and will have to do the following instead:<br />
<br />
echo 2 > /sys/module/hid/parameters/pb_fnmode<br />
<br />
Place whichever command worked for you in {{ic|/etc/rc.local}} to make the setting permanent.<br />
<br />
==< and > have changed place with § and ½==<br />
<br />
If the '''<''' and '''>''' are switched with the '''§''' and '''½''' keys, run the following command:<br />
<br />
setxkbmap -option apple:badmap<br />
<br />
Place that command into {{ic|~/.bashrc}} file to have it run automatically when you log in.<br />
<br />
You can also apply the change system-wide by creating (or editing) {{ic|/etc/X11/xorg.conf.d/10-keymap.conf}} as such:<br />
Section "InputClass"<br />
Identifier "keyboard catchall"<br />
MatchIsKeyboard "true"<br />
Driver "evdev"<br />
Option "XkbOptions" "apple:badmap"<br />
EndSection<br />
<br />
<br />
If the above approach doesn't seem to work, you can add these two lines to your {{ic|~/.Xmodmap}} file:<br />
<br />
keycode 49 = less greater less greater bar brokenbar<br />
keycode 94 = section degree section degree notsign notsign<br />
<br />
If you use a Canadian multilingual layout (where the "ù" and the "/" is switch) use this :<br />
<br />
keycode 94 = slash backslash slash backslash bar brokenbar<br />
keycode 49 = ugrave Ugrave ugrave Ugrave notsign notsign<br />
<br />
Then run {{Ic|xmodmap ~/.Xmodmap}}. This command can also go into {{ic|~/.bashrc}}.<br />
<br />
==< and > have changed place with ^ and °==<br />
With German layout, circumflex/degree symbol and 'smaller than'/'bigger than' are exchanged.<br />
<br />
To fix this, do the following:<br />
xmodmap -e 'keycode 49 = less greater less greater bar brokenbar bar' -e 'keycode 94 = dead_circumflex degree dead_circumflex degree U2032 U2033 U2032'<br />
<br />
Now try your keys. When it works, you may want the change permanently. So execute this:<br />
xmodmap -pke | grep " 49" >> ~/.Xmodmap<br />
xmodmap -pke | grep " 94" >> ~/.Xmodmap<br />
<br />
==Media Keys==<br />
<br />
The evdev driver should produce keycodes that map to the appropriate keysyms for your media keys by default. You can confirm that by running {{Ic|xev}} in a console window and watching the console output as you press your media keys.<br />
<br />
For these keys to have any effect, you will have to assign actions to them. Refer to [[Extra Keyboard Keys in Xorg]] for more about that.<br />
<br />
<br />
If you have confirmed that your media keys are ''not'' producing the correct keycodes, create or edit the {{ic|~/.Xmodmap}} file so that it includes these lines:<br />
<pre><br />
keycode 160 = XF86AudioMute<br />
keycode 176 = XF86AudioRaiseVolume<br />
keycode 174 = XF86AudioLowerVolume<br />
<br />
keycode 144 = XF86AudioPrev<br />
keycode 162 = XF86AudioPlay<br />
keycode 153 = XF86AudioNext<br />
<br />
keycode 101 = XF86MonBrightnessDown<br />
keycode 212 = XF86MonBrightnessUp<br />
<br />
keycode 204 = XF86Eject<br />
</pre><br />
and then run {{Ic|xmodmap ~/.Xmodmap}}. Place that command in the {{ic|~/.bashrc}} file to have it run automatically when you log in.<br />
<br />
==PrintScreen and SysRq==<br />
<br />
Apple Keyboards have an F13 key instead of a PrintScreen/SysRq key. This means that [[Keyboard Shortcuts#Kernel | Alt+SysRq sequences]] do not work, and application actions associated with PrintScreen (such as taking screenshots in many games that work under [[Wine]]) do not work.<br />
Both issues can be addressed by installing {{AUR|keyfuzz}} from the [[Arch User Repository]].<br />
<br />
With keyfuzz installed, run the following command:<br />
echo "458856 99" | /usr/sbin/keyfuzz -s -d /dev/input/by-id/usb-Apple__Inc_Apple_keyboard-event-kbd<br />
458856 (0x070068) is the scancode of F13, and 99 is the keycode of PrintScreen/SysRq. You can determine the scancode of a particular key with {{AUR|getscancodes}} from the AUR, and the keycode from /usr/include/linux/input.h.<br />
<br />
Other versions of the Apple Aluminum Keyboard may require a slightly different device path, so adjust it as needed. You can make this change permanent by putting the command in {{ic|/etc/rc.local}}.<br />
<br />
==Treating Apple Keyboards Like Regular Keyboards==<br />
<br />
If you want to use your Apple keyboard like a regular US-layout keyboard, with Alt on the left side of Meta, you can use the AUR package {{AUR|un-apple-keyboard}}. Currently it only works for the aluminium USB model. The package does the following things:<br />
<br />
*Adds a {{ic|/etc/modprobe.d/hid_apple.conf}} file which enables the F keys by default, as above.<br />
*Uses keyfuzz to remap F13-15 to PrintScreen/SysRq, Scroll Lock, and Pause, respectively<br />
*Swaps the ordering of the {{Keypress|Alt}} and {{Keypress|Meta}} ({{Keypress|Command}}) keys to match all other keyboards, again using keyfuzz.<br />
*Applies these changes automatically when you plug in your keyboard, with a [[udev]] rule.<br />
<br />
You will need to add /etc/modprobe.d/hid_apple.conf to FILES in [[mkinitcpio.conf]]. Otherwise if you boot your computer with the Apple keyboard plugged in, the F keys will not be the default.</div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=119566Nouveau2010-10-21T16:29:22Z<p>Tavianator: xorg-server-devel is now in the makedepends for xf86-video-nouveau-git; remove troubleshooting section about it</p>
<hr />
<div>[[Category: Graphics (English)]]<br />
[[Category: X Server (English)]]<br />
[[Category: HOWTOs (English)]]<br />
{{i18n|Nouveau}}<br />
{{Article summary start}}<br />
{{Article summary text|This article details the installation of the Nouveau Open Source 3D acceleration graphics driver for NVIDIA cards. The name of the project refers to the fact that "nouveau" means "new" in French.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|KMS}}<br />
{{Article summary wiki|NVIDIA}}<br />
{{Article summary wiki|Xorg}}<br />
{{Article summary end}}<br />
<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for NVIDIA cards.<br />
Do not forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, as there is a lot of valuable information there.<br />
<br />
==Installation==<br />
Before proceeding, have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] to see what features are supported for a given architecture, and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames] to determine the card's category.<br />
<br />
You could also consult [[Wikipedia:Comparison_of_Nvidia_Graphics_Processing_Units|wikipedia]] for a even more detailed list.<br />
<br />
Install the following package:<br />
# pacman -S xf86-video-nouveau<br />
<br />
In addition to {{Package Official|xf86-video-nouveau}}, install the package below for the highly experimental Mesa Gallium3D DRI drivers for Nouveau:<br />
# pacman -S nouveau-dri<br />
<br />
As of [http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?id=d5f3c90d4f3ad6b054f9855b7b69137b97bda131 2010-02-25], nouveau automatically generates the firmware for nv50. Thus nouveau-firmware is no longer needed for any cards with nouveau-drm 0.0.15_20100313-1.<br />
<br />
==Loading==<br />
<br />
If you kept the proprietary nvidia driver installed, nouveau is probably not going to work.<br />
Either uninstall nvidia or blacklist it by adding the following line to /etc/modprobe.d/modprobe.conf<br />
blacklist nvidia<br />
<br />
Then nouveau should load fine automatically on next reboot. To test it now, first make sure nvidia is no longer loaded<br />
rmmod nvidia<br />
The load nouveau<br />
modprobe nouveau<br />
And check that it loaded fine by looking at kernel messages<br />
dmesg<br />
<br />
==Configuration==<br />
Create the file {{Filename|/etc/X11/xorg.conf.d/20-nouveau.conf}}, and input the following contents:<br />
Section "Device"<br />
Identifier "n"<br />
Driver "nouveau"<br />
EndSection<br />
This is required to ensure that nouveau driver is loaded. Udev is not yet smart enough to do this by itself. (The '''xf86-video-nouveau''' package maintainers should consider including this file.)<br />
<br />
==KMS==<br />
Kernel Mode-Setting ([[KMS]]) is supported by the Nouveau driver and upstream actually recommends testing it as it is the future implementation for all graphics chipsets. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
As of [http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?id=8fb5c3ada2678defb0351e8b155c564471da05a7 2009-12-11], KMS is the default with the kernel module (with nouveau-drm 0.0.15_20091220-1 and higher). You can still disable it with nouveau.modeset=0 , however non KMS support was removed from xorg driver on [http://cgit.freedesktop.org/nouveau/xf86-video-nouveau/commit/?id=17485c234ff191cee3dd19e3dd693a80b024e189 2010-01-10] (xf86-video-nouveau 0.0.15_git20100117-1 and higher).<br />
<br />
===Late start===<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes.<br />
<br />
Remove all "vga=" and "video=" options from your kernel commandline in {{Filename|/boot/grub/menu.lst}}. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
===Early start===<br />
{{Warning|If you have troubles with nouveau, and are led to rebuild nouveau-drm several times for testing purpose, do not add nouveau to the initramfs. It is too easy to forget to rebuild the initramfs and it will just make any testing harder. Just use ''late start''. There might be additional problems with initramfs if you need a firmware for the nv50 family}}<br />
<br />
This method will start KMS as early as possible in the boot process, when the [[initramfs]] is loaded. Here is how to do this with the official packages:<br />
<br />
1) Add "nouveau" to the ''MODULES'' array in {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="'''nouveau''' ..."<br />
<br />
2) Add "/etc/modprobe.d/modprobe.conf" to the FILES section in {{Filename|/etc/mkinitcpio.conf}}:<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
<br />
3) Re-generate your initcpio:<br />
# mkinitcpio -p <''your kernel preset (kernel26, etc.)''><br />
<br />
<small>You can also look at the [[Intel]] instructions for an early start: [[Intel#KMS_.28Kernel_Mode_Setting.29|Intel Graphics:KMS (Kernel Mode Setting)]]</small><br />
<br />
==Alternative installation==<br />
If the official Arch Linux packages do not work, you can try a more current video driver from the [[AUR]]: {{Package AUR|xf86-video-nouveau-git}}. A more up-to-date DRM module can be built by using the {{Package Official|nouveau-drm}} PKGBUILD from [[Arch Build System|ABS]]. Simply update {{Codeline|_snapdate}} to the current date, and modify the {{Codeline|sources}} array to read:<br />
source=(# ftp://ftp.archlinux.org/other/$pkgname/master-${_snapdate}.tar.gz<br />
http://people.freedesktop.org/~pq/nouveau-drm/master.tar.gz<br />
# get the Makefile from http://cgit.freedesktop.org/nouveau/linux-2.6/plain/nouveau/Makefile?h=master-compat<br />
Makefile)<br />
<br />
You can use {{Package AUR|kernel26-nouveau-git}} to compile the nouveau project's kernel tree, which already includes the necessary modules. This is the method recommended by upstream.<br />
<br />
==3D==<br />
3D is ''unsupported''.<br />
<br />
That means:<br />
* Do not ask for instructions to try it.<br />
* What ever you do, do not install the 3D driver system-wide.<br />
* If you want to try 3D acceleration or you have problems with it, you are on your own, unless you are looking to contribute patches.<br />
<br />
References: [http://nouveau.freedesktop.org/wiki/FrontPage Nouveau frontpage] and [http://nouveau.freedesktop.org/wiki/FAQ#head-ae99a8e6a3f57b76ae2589d4c0d2a5fa7ebf9f5d Nouveau FAQ]<br />
<br />
==DualHead==<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors. See the [[RandR12]] page for tutorials.<br />
<br />
Here is a full sample {{Filename|/etc/X11/xorg.conf}} above for running 2 monitors in dual head mode. You may prefer to use a graphical tool to configure monitors like gnome-display-properties (System -> Preferences -> Display).<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre><br />
<br />
==Troubleshooting==<br />
<br />
===Console virtual resolution does not correspond to real one===<br />
Use the {{Package Official|fbset}} tool to adjust console resolution.</div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=98222Nouveau2010-02-25T18:57:01Z<p>Tavianator: "nouveau" hook doesn't exist anymore in kernel26-nouveau-git</p>
<hr />
<div>[[Category: Graphics (English)]]<br />
[[Category: X Server (English)]]<br />
[[Category: HOWTOs (English)]]<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for NVIDIA cards.<br />
Do not forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, as there is a lot of valuable information there.<br />
<br />
==Installation==<br />
Before proceeding, have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] to see what features are supported for a given architecture, and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames] to determine the card's category.<br />
<br />
You could also consult [http://en.wikipedia.org/wiki/Comparison_of_Nvidia_Graphics_Processing_Units wikipedia] for a even more detailed list.<br />
<br />
Install the following packages:<br />
# pacman -S nouveau-drm xf86-video-nouveau<br />
<br />
For nv50 chipset (GeForce 8 and higher), you also need to install the firmwares:<br />
# pacman -S nouveau-firmware<br />
<br />
==Configuration==<br />
You can use the following xorg.conf, which allows you to easily switch back to other drivers:<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nouveau"<br />
#Driver "nv"<br />
#Driver "nvidia"<br />
EndSection<br />
<br />
==KMS==<br />
Kernel Mode-Setting ([[KMS]]) is supported by the Nouveau driver and upstream actually recommends testing it as it is the future implementation for all graphics chipsets. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
===Late start===<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes.<br />
<br />
1) Add the following line to {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options nouveau modeset=1<br />
<br />
2) Remove all "vga=" and "video=" options from your kernel commandline in {{Filename|/boot/grub/menu.lst}}. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
===Early start===<br />
{{Warning|If you have troubles with nouveau, and are led to rebuild nouveau-drm several times for testing purpose, do not add nouveau to the initramfs. It is too easy to forget to rebuild the initramfs and it will just make any testing harder. Just use ''late start''. There might be additional problems with initramfs if you need a firmware for the nv50 family}}<br />
<br />
This method will start KMS as early as possible in the boot process, when the [[initramfs]] is loaded. Here is how to do this with the official packages:<br />
<br />
1) Add the following line to {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options nouveau modeset=1<br />
<br />
2) Add "nouveau" to the ''MODULES'' array in {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="'''nouveau''' ..."<br />
<br />
3) Add "/etc/modprobe.d/modprobe.conf" to the FILES section in {{Filename|/etc/mkinitcpio.conf}}:<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
<br />
4) Re-generate your initcpio:<br />
# mkinitcpio -p <''your kernel preset (kernel26, etc.)''><br />
<br />
<small>You can also look at the [[Intel]] instructions for an early start: [[Intel#KMS_.28Kernel_Mode_Setting.29|Intel Graphics:KMS (Kernel Mode Setting)]]</small><br />
<br />
==Alternative installation==<br />
If the official Arch Linux packages do not work, you can try a more current video driver from the [[AUR]]: {{Package AUR|xf86-video-nouveau-git}}. A more up-to-date DRM module can be built by using the {{Package Official|nouveau-drm}} PKGBUILD from [[Arch Build System|ABS]]. Simply update {{Codeline|_snapdate}} to the current date, and modify the {{Codeline|sources}} array to read:<br />
source=(# ftp://ftp.archlinux.org/other/$pkgname/master-${_snapdate}.tar.gz<br />
http://people.freedesktop.org/~pq/nouveau-drm/master.tar.gz<br />
# get the Makefile from http://cgit.freedesktop.org/nouveau/linux-2.6/plain/nouveau/Makefile?h=master-compat<br />
Makefile)<br />
<br />
You can use {{Package AUR|kernel26-nouveau-git}} to compile the nouveau project's kernel tree, which already includes the necessary modules. This is the method recommended by upstream.<br />
<br />
==3D==<br />
3D is ''unsupported''.<br />
<br />
That means:<br />
* Do not ask for instructions to try it.<br />
* What ever you do, do not install the 3D driver system-wide.<br />
* If you want to try 3D acceleration or you have problems with it, you are on your own, unless you are looking to contribute patches.<br />
<br />
References: [http://nouveau.freedesktop.org/wiki/FrontPage Nouveau frontpage] and [http://nouveau.freedesktop.org/wiki/FAQ#head-ae99a8e6a3f57b76ae2589d4c0d2a5fa7ebf9f5d Nouveau FAQ]<br />
<br />
==DualHead==<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors. See the [[RandR12]] page for tutorials.<br />
<br />
Here is a full sample {{Filename|/etc/X11/xorg.conf}} above for running 2 monitors in dual head mode. You may prefer to use a graphical tool to configure monitors like gnome-display-properties (System -> Preferences -> Display).<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre><br />
<br />
==Troubleshooting==<br />
<br />
===Console virtual resolution does not correspond to real one===<br />
Use the {{Package Official|fbset}} tool to adjust console resolution.</div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=97968Nouveau2010-02-23T04:15:17Z<p>Tavianator: Remove reference to nouveau-dri, which doesn't exist anymore</p>
<hr />
<div>[[Category: Graphics (English)]]<br />
[[Category: X Server (English)]]<br />
[[Category: HOWTOs (English)]]<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for NVIDIA cards.<br />
Do not forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, as there is a lot of valuable information there.<br />
<br />
==Installation==<br />
Before proceeding, have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] to see what features are supported for a given architecture, and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames] to determine the card's category.<br />
<br />
You could also consult [http://en.wikipedia.org/wiki/Comparison_of_Nvidia_Graphics_Processing_Units wikipedia] for a even more detailed list.<br />
<br />
Install the following packages:<br />
# pacman -S nouveau-drm xf86-video-nouveau<br />
<br />
For nv50 chipset (GeForce 8 and higher), you also need to install the firmwares:<br />
# pacman -S nouveau-firmware<br />
<br />
==Configuration==<br />
You can use the following xorg.conf, which allows you to easily switch back to other drivers:<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nouveau"<br />
#Driver "nv"<br />
#Driver "nvidia"<br />
EndSection<br />
<br />
==KMS==<br />
Kernel Mode-Setting ([[KMS]]) is supported by the Nouveau driver and upstream actually recommends testing it as it is the future implementation for all graphics chipsets. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
===Late start===<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes.<br />
<br />
1) Add the following line to {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options nouveau modeset=1<br />
<br />
2) Remove all "vga=" and "video=" options from your kernel commandline in {{Filename|/boot/grub/menu.lst}}. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
===Early start===<br />
{{Warning|If you have troubles with nouveau, and are led to rebuild nouveau-drm several times for testing purpose, do not add nouveau to the initramfs. It is too easy to forget to rebuild the initramfs and it will just make any testing harder. Just use ''late start''. There might be additional problems with initramfs if you need a firmware for the nv50 family}}<br />
<br />
This method will start KMS as early as possible in the boot process, when the [[initramfs]] is loaded. Here is how to do this with the official packages:<br />
<br />
1) Add the following line to {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options nouveau modeset=1<br />
<br />
2) Add "nouveau" to the ''MODULES'' array in {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="'''nouveau''' ..."<br />
<br />
3) Add "/etc/modprobe.d/modprobe.conf" to the FILES section in {{Filename|/etc/mkinitcpio.conf}}:<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
<br />
4) Re-generate your initcpio:<br />
# mkinitcpio -p <''your kernel preset (kernel26, etc.)''><br />
<br />
<small>You can also look at the [[Intel]] instructions for an early start: [[Intel#KMS_.28Kernel_Mode_Setting.29|Intel Graphics:KMS (Kernel Mode Setting)]]</small><br />
<br />
====kernel26-nouveau-git====<br />
With {{Package AUR|kernel26-nouveau-git}}, all you need to do is add "nouveau" to HOOKS in {{Filename|/etc/mkinitcpio.conf}}. For example:<br />
HOOKS="base udev '''nouveau''' autodetect pata scsi sata lvm2 filesystems"<br />
<br />
{{Codeline|nouveau}} must come after {{Codeline|udev}} in order for the firmware to load correctly, as of recent commits. The official packages are not yet affected by this. To re-generate the image, run:<br />
# mkinitcpio -p kernel26-nouveau-git<br />
<br />
==Alternative installation==<br />
If the official Arch Linux packages do not work, you can try a more current video driver from the [[AUR]]: {{Package AUR|xf86-video-nouveau-git}}. A more up-to-date DRM module can be built by using the {{Package Official|nouveau-drm}} PKGBUILD from [[Arch Build System|ABS]]. Simply update {{Codeline|_snapdate}} to the current date, and modify the {{Codeline|sources}} array to read:<br />
source=(# ftp://ftp.archlinux.org/other/$pkgname/master-${_snapdate}.tar.gz<br />
http://people.freedesktop.org/~pq/nouveau-drm/master.tar.gz<br />
# get the Makefile from http://cgit.freedesktop.org/nouveau/linux-2.6/plain/nouveau/Makefile?h=master-compat<br />
Makefile)<br />
<br />
You can use {{Package AUR|kernel26-nouveau-git}} to compile the nouveau project's kernel tree, which already includes the necessary modules. This is the method recommended by upstream.<br />
<br />
==3D==<br />
3D is ''unsupported''.<br />
<br />
That means:<br />
* Do not ask for instructions to try it.<br />
* What ever you do, do not install the 3D driver system-wide.<br />
* If you want to try 3D acceleration or you have problems with it, you are on your own, unless you are looking to contribute patches.<br />
<br />
References: [http://nouveau.freedesktop.org/wiki/FrontPage Nouveau frontpage] and [http://nouveau.freedesktop.org/wiki/FAQ#head-ae99a8e6a3f57b76ae2589d4c0d2a5fa7ebf9f5d Nouveau FAQ]<br />
<br />
==DualHead==<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors. See the [[RandR12]] page for tutorials.<br />
<br />
Here is a full sample {{Filename|/etc/X11/xorg.conf}} above for running 2 monitors in dual head mode. You may prefer to use a graphical tool to configure monitors like gnome-display-properties (System -> Preferences -> Display).<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre><br />
<br />
==Troubleshooting==<br />
<br />
===Console virtual resolution does not correspond to real one===<br />
Use the {{Package Official|fbset}} tool to adjust console resolution.</div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=87597Nouveau2009-12-13T19:25:01Z<p>Tavianator: kernel26-nouveau-git: The 'nouveau' hook must come after 'udev' for the firmware to load successfully.</p>
<hr />
<div>[[Category: Graphics (English)]]<br />
[[Category: X Server (English)]]<br />
[[Category: HOWTOs (English)]]<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for NVIDIA cards.<br />
Do not forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, as there is a lot of valuable information there.<br />
<br />
==Installation==<br />
Before proceeding, have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] to see what features are supported for a given architecture, and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames] to determine the card's category.<br />
<br />
You could also consult [http://en.wikipedia.org/wiki/Comparison_of_Nvidia_Graphics_Processing_Units wikipedia] for a even more detailed list.<br />
<br />
<br />
Install the following packages:<br />
# pacman -S nouveau-drm xf86-video-nouveau<br />
<br />
==Configuration==<br />
You can use the following xorg.conf, which allows you to easily switch back to other drivers:<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nouveau"<br />
#Driver "nv"<br />
#Driver "nvidia"<br />
EndSection<br />
<br />
==KMS==<br />
Kernel Mode-Setting is a technology that puts the work of setting graphics output modes in kernel space. This allows for a cleaner driver implementation, and means that switching VTs (Ctrl+Alt+F1, etc.) is nearly instant. As well, you will have a full-resolution framebuffer, which is nice for high-res displays in console mode.<br />
<br />
Upstream actually recommends testing KMS as it is the future. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
===Late start===<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes.<br />
<br />
1) Add the following line to {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options nouveau modeset=1<br />
<br />
2) Remove all "vga=" and "video=" options from your kernel commandline in {{Filename|/boot/grub/menu.lst}}. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
===Early start===<br />
{{Warning|If you have troubles with nouveau, and are led to rebuild nouveau-drm several times for testing purpose, do not add nouveau to the initramfs. It is too easy to forget to rebuild the initramfs and it will just make any testing harder. Just use ''late start''.}}<br />
<br />
This method will start KMS as early as possible in the boot process, when the [[initramfs]] is loaded. Here is how to do this with the official packages:<br />
<br />
1) Add the following line to {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options nouveau modeset=1<br />
<br />
2) Add "nouveau" to the ''MODULES'' array in {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="'''nouveau''' ..."<br />
<br />
3) Add "/etc/modprobe.d/modprobe.conf" to the FILES section in {{Filename|/etc/mkinitcpio.conf}}:<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
<br />
4) Re-generate your initcpio:<br />
# mkinitcpio -p <''your kernel preset (kernel26, etc.)''><br />
<br />
<small>You can also look at the [[Intel Graphics]] instructions for an early start: [[Intel Graphics#KMS_.28Kernel_Mode_Setting.29|Intel Graphics:KMS (Kernel Mode Setting)]]</small><br />
<br />
====kernel26-nouveau-git====<br />
With {{Package Official|kernel26-nouveau-git}}, all you need to do is add "nouveau" to HOOKS in {{Filename|/etc/mkinitcpio.conf}}. For example:<br />
HOOKS="base udev '''nouveau''' autodetect pata scsi sata lvm2 filesystems"<br />
<br />
{{Codeline|nouveau}} must come after {{Codeline|udev}} in order for the firmware to load correctly, as of recent commits. The official packages are not yet affected by this. To re-generate the image, run:<br />
# mkinitcpio -p kernel26-nouveau-git<br />
<br />
==Alternative installation==<br />
If the official Arch Linux packages do not work, you can try a more current video driver from the [[AUR]]: {{Package AUR|xf86-video-nouveau-git}}. A more up-to-date DRM module can be built by using the {{Package Official|nouveau-drm}} PKGBUILD from [[Arch Build System|ABS]]. Simply update {{Codeline|_snapdate}} to the current date, and modify the {{Codeline|sources}} array to read:<br />
source=(# ftp://ftp.archlinux.org/other/$pkgname/master-${_snapdate}.tar.gz<br />
http://people.freedesktop.org/~pq/nouveau-drm/master.tar.gz<br />
# get the Makefile from http://cgit.freedesktop.org/nouveau/linux-2.6/plain/nouveau/Makefile?h=master-compat<br />
Makefile)<br />
<br />
You can use {{Package AUR|kernel26-nouveau-git}} to compile the nouveau project's kernel tree, which already includes the necessary modules. This is the method recommended by upstream.<br />
<br />
==3D==<br />
3D is ''unsupported''.<br />
<br />
That means:<br />
* Do not ask for instructions to try it.<br />
* What ever you do, do not install the 3D driver system-wide.<br />
* If you want to try 3D acceleration or you have problems with it, you are on your own, unless you are looking to contribute patches.<br />
<br />
References: [http://nouveau.freedesktop.org/wiki/FrontPage Nouveau frontpage] and [http://nouveau.freedesktop.org/wiki/FAQ#head-ae99a8e6a3f57b76ae2589d4c0d2a5fa7ebf9f5d Nouveau FAQ]<br />
<br />
For all the above reasons, make sure that the ''nouveau-dri'' package is ''not'' installed, which besides is outdated.<br />
<br />
==DualHead==<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors. See the [[RandR12]] page for tutorials.<br />
<br />
Here is a full sample {{Filename|/etc/X11/xorg.conf}} above for running 2 monitors in dual head mode. You may prefer to use a graphical tool to configure monitors like gnome-display-properties (System -> Preferences -> Display).<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre><br />
<br />
==Troubleshooting==<br />
<br />
===Console virtual resolution does not correspond to real one===<br />
Use the {{Package Official|fbset}} tool to adjust console resolution.</div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=87289Nouveau2009-12-10T19:10:01Z<p>Tavianator: AUR package nouveau-drm-snapshot doesn't build; recommend to use ABS PKGBUILD</p>
<hr />
<div>[[Category: Graphics (English)]]<br />
[[Category: X Server (English)]]<br />
[[Category: HOWTOs (English)]]<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for NVIDIA cards.<br />
Do not forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, as there is a lot of valuable information there.<br />
<br />
==Installation==<br />
Before proceeding, have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] to see what features are supported for a given architecture, and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames] to determine the card's category.<br />
<br />
You could also consult [http://en.wikipedia.org/wiki/Comparison_of_Nvidia_Graphics_Processing_Units wikipedia] for a even more detailed list.<br />
<br />
<br />
Install the following packages:<br />
# pacman -S nouveau-drm xf86-video-nouveau<br />
<br />
==Configuration==<br />
You can use the following xorg.conf, which allows you to easily switch back to other drivers:<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nouveau"<br />
#Driver "nv"<br />
#Driver "nvidia"<br />
EndSection<br />
<br />
==KMS==<br />
Kernel Mode-Setting is a technology that puts the work of setting graphics output modes in kernel space. This allows for a cleaner driver implementation, and means that switching VTs (Ctrl+Alt+F1, etc.) is nearly instant. As well, you will have a full-resolution framebuffer, which is nice for high-res displays in console mode.<br />
<br />
Upstream actually recommends testing KMS as it is the future. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
===Late start===<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes.<br />
<br />
1) Add the following line to {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options nouveau modeset=1<br />
<br />
2) Remove all "vga=" and "video=" options from your kernel commandline in {{Filename|/boot/grub/menu.lst}}. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
===Early start===<br />
{{Warning|If you have troubles with nouveau, and are led to rebuild nouveau-drm several times for testing purpose, do not add nouveau to the initramfs. It is too easy to forget to rebuild the initramfs and it will just make any testing harder. Just use ''late start''.}}<br />
<br />
This method will start KMS as early as possible in the boot process, when the [[initramfs]] is loaded. Here is how to do this with the official packages:<br />
<br />
1) Add the following line to {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options nouveau modeset=1<br />
<br />
2) Add "nouveau" to the ''MODULES'' array in {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="'''nouveau''' ..."<br />
<br />
3) Add "/etc/modprobe.d/modprobe.conf" to the FILES section in {{Filename|/etc/mkinitcpio.conf}}:<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
<br />
4) Re-generate your initcpio:<br />
# mkinitcpio -p <''your kernel preset (kernel26, etc.)''><br />
<br />
<small>You can also look at the [[Intel Graphics]] instructions for an early start: [[Intel Graphics#KMS_.28Kernel_Mode_Setting.29|Intel Graphics:KMS (Kernel Mode Setting)]]</small><br />
<br />
====kernel26-nouveau-git====<br />
With {{Package Official|kernel26-nouveau-git}}, all you need to do is add "nouveau" to HOOKS in {{Filename|/etc/mkinitcpio.conf}}. For example:<br />
HOOKS="'''nouveau''' base udev autodetect pata scsi sata lvm2 filesystems"<br />
<br />
Then run:<br />
# mkinitcpio -p kernel26-nouveau-git<br />
<br />
==Alternative installation==<br />
If the official Arch Linux packages do not work, you can try a more current video driver from the [[AUR]]: {{Package AUR|xf86-video-nouveau-git}}. A more up-to-date DRM module can be built by using the {{Package Official|nouveau-drm}} PKGBUILD from [[Arch Build System|ABS]]. Simply update {{Codeline|_snapdate}} to the current date, and modify the {{Codeline|sources}} array to read:<br />
source=(# ftp://ftp.archlinux.org/other/$pkgname/master-${_snapdate}.tar.gz<br />
http://people.freedesktop.org/~pq/nouveau-drm/master.tar.gz<br />
# get the Makefile from http://cgit.freedesktop.org/nouveau/linux-2.6/plain/nouveau/Makefile?h=master-compat<br />
Makefile)<br />
<br />
You can use {{Package AUR|kernel26-nouveau-git}} to compile the nouveau project's kernel tree, which already includes the necessary modules. This is the method recommended by upstream.<br />
<br />
==3D==<br />
3D is ''unsupported''.<br />
<br />
That means:<br />
* Do not ask for instructions to try it.<br />
* What ever you do, do not install the 3D driver system-wide.<br />
* If you want to try 3D acceleration or you have problems with it, you are on your own, unless you are looking to contribute patches.<br />
<br />
References: [http://nouveau.freedesktop.org/wiki/FrontPage Nouveau frontpage] and [http://nouveau.freedesktop.org/wiki/FAQ#head-ae99a8e6a3f57b76ae2589d4c0d2a5fa7ebf9f5d Nouveau FAQ]<br />
<br />
For all the above reasons, make sure that the ''nouveau-dri'' package is ''not'' installed, which besides is outdated.<br />
<br />
==DualHead==<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors. See the [[RandR12]] page for tutorials.<br />
<br />
Here is a full sample {{Filename|/etc/X11/xorg.conf}} above for running 2 monitors in dual head mode. You may prefer to use a graphical tool to configure monitors like gnome-display-properties (System -> Preferences -> Display).<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre><br />
<br />
==Troubleshooting==<br />
<br />
===Console virtual resolution does not correspond to real one===<br />
Use the {{Package Official|fbset}} tool to adjust console resolution.</div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=80244Nouveau2009-10-25T00:23:57Z<p>Tavianator: Typo</p>
<hr />
<div>[[Category: Graphics (English)]][[Category: X Server (English)]][[Category: HOWTOs (English)]]<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for nVidia cards.<br />
Don't forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, there is a lot of valuable information there.<br />
<br />
== Installation ==<br />
<br />
Before proceeding, have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] to see what features are supported for a given architecture, and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames] to determine the card's category.<br />
<br />
<br />
Install the following packages :<br />
# pacman -S nouveau-drm xf86-video-nouveau<br />
<br />
== Configuration ==<br />
<br />
You can use the following xorg.conf, which allows you to easily switch back to other drivers :<br />
<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nouveau"<br />
#Driver "nv"<br />
#Driver "nvidia"<br />
EndSection<br />
<br />
Xv (the X video extension) is now supported by NV50 chipsets, but with current xorg-server it requires a compositing window manager to work properly. [http://wiki.archlinux.org/index.php/Xcompmgr xcompmgr] is the best choice - Compiz won't work, but KWin compositing with the XRender backend might. A compositing manager is not necessary with the xorg-server from testing. See the nouveau [http://nouveau.freedesktop.org/wiki/FeatureMatrix Featurematrix] for more details.<br />
<br />
== KMS ==<br />
<br />
Kernel Mode-Setting is a technology that puts the work of setting graphics output modes in kernel space. This allows for a cleaner implementation, and means that switching VTs (Ctrl+Alt+F1, etc.) is nearly instant. As well, you will have a full-resolution framebuffer, which is nice for high-res displays in console mode.<br />
<br />
Upstream actually recommends testing KMS as it is the future. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
=== Late start ===<br />
<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes right then.<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Remove all "vga=" and "video=" options from your kernel commandline in /boot/grub/menu.lst. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
=== Early start ===<br />
<br />
This method will start KMS as early as possible in the boot process, when the initramfs is loaded. Here's how to do this with the official packages:<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Add "nouveau" to the MODULES array in /etc/mkinitcpio.conf:<br />
MODULES="'''nouveau''' haxmodulez ..."<br />
<br />
3) Add "/etc/modprobe.d/modprobe.conf" to the FILES section in /etc/mkinitcpio.conf:<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
<br />
4) Re-generate your initcpio:<br />
# mkinitcpio -p <''your kernel preset (kernel26, etc.)''><br />
<br />
<small>You can also look at the [[Intel Graphics]] instructions for an early start: [[Intel Graphics#KMS_.28Kernel_Mode_Setting.29|Intel Graphics:KMS (Kernel Mode Setting)]]</small><br />
<br />
==== kernel26-nouveau-git ====<br />
With [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git], all you need to do is add "nouveau" to HOOKS in /etc/mkinitcpio.conf. For example:<br />
HOOKS="'''nouveau''' base udev autodetect pata scsi sata lvm2 filesystems"<br />
<br />
Then run<br />
# mkinitcpio -p kernel26-nouveau-git<br />
<br />
== Alternative installation ==<br />
<br />
If the official archlinux packages don't work, you could try more current packages from AUR : [http://aur.archlinux.org/packages.php?ID=29602 nouveau-drm-snapshot] and [http://aur.archlinux.org/packages.php?ID=11891 xf86-video-nouveau-git]<br />
<br />
If this still does not work, you can try the way recommended by upstream, which is to install a kernel already including the nouveau drm modules : [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git]<br />
<br />
== 3D ==<br />
<br />
Mesa will render some basic things like glxgears in software by default. The nouveau project is developing an accelerated 3D driver, but it is still very experimental and unsupported. Using it to render anything more graphically involved than glxgears is almost guaranteed to crash X, and possibly your whole box. If you want to give it a try anyway, you can install [http://aur.archlinux.org/packages.php?ID=29024 nouveau-dri-git] from the AUR. Note that nouveau DRI2 is not compatible with the xorg-server in extra, but it works with the xorg-server in testing. DRI1 works with either.<br />
<br />
== DualHead ==<br />
<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors.<br />
<br />
This is a full sample /etc/X11/xorg.conf for running 2 monitors in dual head mode:<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
BoardName "nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] rev 161"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre></div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=80239Nouveau2009-10-24T20:44:01Z<p>Tavianator: Explain that nouveau supports software rendering OOTB.</p>
<hr />
<div>[[Category: Graphics (English)]][[Category: X Server (English)]][[Category: HOWTOs (English)]]<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for nVidia cards.<br />
Don't forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, there is a lot of valuable information there.<br />
<br />
== Installation ==<br />
<br />
Before proceeding, have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] to see what features are supported for a given architecture, and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames] to determine the card's category.<br />
<br />
<br />
Install the following packages :<br />
# pacman -S nouveau-drm xf86-video-nouveau<br />
<br />
== Configuration ==<br />
<br />
You can use the following xorg.conf, which allows you to easily switch back to other drivers :<br />
<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nouveau"<br />
#Driver "nv"<br />
#Driver "nvidia"<br />
EndSection<br />
<br />
Xv (the X video extension) is now supported by NV50 chipsets, but with current xorg-server it requires a compositing window manager to work properly. [http://wiki.archlinux.org/index.php/Xcompmgr xcompmgr] is the best choice - Compiz won't work, but KWin compositing with the XRender backend might. A compositing manager is not necessary with the xorg-server from testing. See the nouveau [http://nouveau.freedesktop.org/wiki/FeatureMatrix Featurematrix] for more details.<br />
<br />
== KMS ==<br />
<br />
Kernel Mode-Setting is a technology that puts the work of setting graphics output modes in kernel space. This allows for a cleaner implementation, and means that switching VTs (Ctrl+Alt+F1, etc.) is nearly instant. As well, you will have a full-resolution framebuffer, which is nice for high-res displays in console mode.<br />
<br />
Upstream actually recommends testing KMS as it is the future. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
=== Late start ===<br />
<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes right then.<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Remove all "vga=" and "video=" options from your kernel commandline in /boot/grub/menu.lst. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
=== Early start ===<br />
<br />
This method will start KMS as early as possible in the boot process, when the initramfs is loaded. Here's how to do this with the official packages:<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Add "nouveau" to the MODULES array in /etc/mkinitcpio.conf:<br />
MODULES="'''nouveau''' haxmodulez ..."<br />
<br />
3) Add "/etc/modprobe.d/modprobe.conf" to the FILES section in /etc/mkinitcpio.conf:<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
<br />
4) Re-generate your initcpio:<br />
# mkinitcpio -p <''your kernel preset (kernel26, etc.)''><br />
<br />
<small>You can also look at the [[Intel Graphics]] instructions for an early start: [[Intel Graphics#KMS_.28Kernel_Mode_Setting.29|Intel Graphics:KMS (Kernel Mode Setting)]]</small><br />
<br />
==== kernel26-nouveau-git ====<br />
With [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git], all you need to do is add "nouveau" to HOOKS in /etc/mkinitcpio.conf. For example:<br />
HOOKS="'''nouveau''' base udev autodetect pata scsi sata lvm2 filesystems"<br />
<br />
Then run<br />
# mkinitcpio -p kernel26-nouveau-git<br />
<br />
== Alternative installation ==<br />
<br />
If the official archlinux packages don't work, you could try more current packages from AUR : [http://aur.archlinux.org/packages.php?ID=29602 nouveau-drm-snapshot] and [http://aur.archlinux.org/packages.php?ID=11891 xf86-video-nouveau-git]<br />
<br />
If this still does not work, you can try the way recommended by upstream, which is to install a kernel already including the nouveau drm modules : [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git]<br />
<br />
== 3D ==<br />
<br />
Mesa will render some basic things like glxgears in software by default. The nouveau project is developing an accelerated 3D driver, but it is still very experimental and unsupported. Using it to rendr anything more graphically involved than glxgears is almost guaranteed to crash X, and possibly your whole box. If you want to give it a try anyway, you can install [http://aur.archlinux.org/packages.php?ID=29024 nouveau-dri-git] from the AUR. Note that nouveau DRI2 is not compatible with the xorg-server in extra, but it works with the xorg-server in testing. DRI1 works with either.<br />
<br />
== DualHead ==<br />
<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors.<br />
<br />
This is a full sample /etc/X11/xorg.conf for running 2 monitors in dual head mode:<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
BoardName "nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] rev 161"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre></div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=80237Nouveau2009-10-24T20:33:46Z<p>Tavianator: Add instructions for the kernel26-nouveau-git-specific "nouveau" mkinitcpio hook.</p>
<hr />
<div>[[Category: Graphics (English)]][[Category: X Server (English)]][[Category: HOWTOs (English)]]<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for nVidia cards.<br />
Don't forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, there is a lot of valuable information there.<br />
<br />
== Installation ==<br />
<br />
Before proceeding, have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] to see what features are supported for a given architecture, and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames] to determine the card's category.<br />
<br />
<br />
Install the following packages :<br />
# pacman -S nouveau-drm xf86-video-nouveau<br />
<br />
== Configuration ==<br />
<br />
You can use the following xorg.conf, which allows you to easily switch back to other drivers :<br />
<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nouveau"<br />
#Driver "nv"<br />
#Driver "nvidia"<br />
EndSection<br />
<br />
Xv (the X video extension) is now supported by NV50 chipsets, but with current xorg-server it requires a compositing window manager to work properly. [http://wiki.archlinux.org/index.php/Xcompmgr xcompmgr] is the best choice - Compiz won't work, but KWin compositing with the XRender backend might. A compositing manager is not necessary with the xorg-server from testing. See the nouveau [http://nouveau.freedesktop.org/wiki/FeatureMatrix Featurematrix] for more details.<br />
<br />
== KMS ==<br />
<br />
Kernel Mode-Setting is a technology that puts the work of setting graphics output modes in kernel space. This allows for a cleaner implementation, and means that switching VTs (Ctrl+Alt+F1, etc.) is nearly instant. As well, you will have a full-resolution framebuffer, which is nice for high-res displays in console mode.<br />
<br />
Upstream actually recommends testing KMS as it is the future. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
=== Late start ===<br />
<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes right then.<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Remove all "vga=" and "video=" options from your kernel commandline in /boot/grub/menu.lst. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
=== Early start ===<br />
<br />
This method will start KMS as early as possible in the boot process, when the initramfs is loaded. Here's how to do this with the official packages:<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Add "nouveau" to the MODULES array in /etc/mkinitcpio.conf:<br />
MODULES="'''nouveau''' haxmodulez ..."<br />
<br />
3) Add "/etc/modprobe.d/modprobe.conf" to the FILES section in /etc/mkinitcpio.conf:<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
<br />
4) Re-generate your initcpio:<br />
# mkinitcpio -p <''your kernel preset (kernel26, etc.)''><br />
<br />
<small>You can also look at the [[Intel Graphics]] instructions for an early start: [[Intel Graphics#KMS_.28Kernel_Mode_Setting.29|Intel Graphics:KMS (Kernel Mode Setting)]]</small><br />
<br />
==== kernel26-nouveau-git ====<br />
With [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git], all you need to do is add "nouveau" to HOOKS in /etc/mkinitcpio.conf. For example:<br />
HOOKS="'''nouveau''' base udev autodetect pata scsi sata lvm2 filesystems"<br />
<br />
Then run<br />
# mkinitcpio -p kernel26-nouveau-git<br />
<br />
== Alternative installation ==<br />
<br />
If the official archlinux packages don't work, you could try more current packages from AUR : [http://aur.archlinux.org/packages.php?ID=29602 nouveau-drm-snapshot] and [http://aur.archlinux.org/packages.php?ID=11891 xf86-video-nouveau-git]<br />
<br />
If this still does not work, you can try the way recommended by upstream, which is to install a kernel already including the nouveau drm modules : [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git]<br />
<br />
== 3D ==<br />
<br />
3D support is still very experimental and unsupported. Anything more graphically involved than glxgears is almost guaranteed to crash X, and possibly your whole box. If you want to give it a try anyway, you can install [http://aur.archlinux.org/packages.php?ID=29024 nouveau-dri-git] from the AUR. Note that nouveau DRI2 is not compatible with the xorg-server in extra, but it works with the xorg-server in testing. DRI1 works with either.<br />
<br />
== DualHead ==<br />
<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors.<br />
<br />
This is a full sample /etc/X11/xorg.conf for running 2 monitors in dual head mode:<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
BoardName "nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] rev 161"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre></div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=79775Nouveau2009-10-21T14:39:46Z<p>Tavianator: Actually, mkinitcpio.conf doesn't support the (...) array syntax, as I have now discovered by borking my initcpio images.</p>
<hr />
<div>[[Category: Graphics (English)]][[Category: X Server (English)]][[Category: HOWTOs (English)]]<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for nVidia cards.<br />
Don't forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, there is a lot of valuable information there.<br />
<br />
== Installation ==<br />
<br />
Before proceeding, have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] to see what features are supported for a given architecture, and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames] to determine the card's category.<br />
<br />
<br />
Install the following packages :<br />
# pacman -S nouveau-drm xf86-video-nouveau<br />
<br />
== Configuration ==<br />
<br />
You can use the following xorg.conf, which allows you to easily switch back to other drivers :<br />
<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nouveau"<br />
#Driver "nv"<br />
#Driver "nvidia"<br />
EndSection<br />
<br />
Xv (the X video extension) is now supported by NV50 chipsets, but with current xorg-server it requires a compositing window manager to work properly. [http://wiki.archlinux.org/index.php/Xcompmgr xcompmgr] is the best choice - Compiz won't work, but KWin compositing with the XRender backend might. A compositing manager is not necessary with the xorg-server from testing. See the nouveau [http://nouveau.freedesktop.org/wiki/FeatureMatrix Featurematrix] for more details.<br />
<br />
== KMS ==<br />
<br />
Kernel Mode-Setting is a technology that puts the work of setting graphics output modes in kernel space. This allows for a cleaner implementation, and means that switching VTs (Ctrl+Alt+F1, etc.) is nearly instant. As well, you will have a full-resolution framebuffer, which is nice for high-res displays in console mode.<br />
<br />
Upstream actually recommends testing KMS as it is the future. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
=== Late start ===<br />
<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes right then.<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Remove all "vga=" and "video=" options from your kernel commandline in /boot/grub/menu.lst. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
=== Early start ===<br />
<br />
This method will start KMS as early as possible in the boot process, when the initramfs is loaded.<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Add "nouveau" to the MODULES array in /etc/mkinitcpio.conf:<br />
MODULES="'''nouveau''' haxmodulez ..."<br />
<br />
3) Add "/etc/modprobe.d/modprobe.conf" to the FILES section in /etc/mkinitcpio.conf:<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
<br />
4) Re-generate your initcpio:<br />
# mkinitcpio -p < Your kernel preset (kernel26, kernel26-nouveau-git, etc.) ><br />
<br />
<small>You can also look at the [[Intel Graphics]] instructions for an early start: [[Intel Graphics#KMS_.28Kernel_Mode_Setting.29|Intel Graphics:KMS (Kernel Mode Setting)]]</small><br />
<br />
== Alternative installation ==<br />
<br />
If the archlinux packages don't work, you could try more current packages from AUR : [http://aur.archlinux.org/packages.php?ID=29602 nouveau-drm-snapshot] and [http://aur.archlinux.org/packages.php?ID=11891 xf86-video-nouveau-git]<br />
<br />
If this still does not work, you can try the way recommended by upstream, which is to install a kernel already including the nouveau drm modules : [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git]<br />
<br />
== 3D ==<br />
<br />
3D support is still very experimental and unsupported. Anything more graphically involved than glxgears is almost guaranteed to crash X, and possibly your whole box. If you want to give it a try anyway, you can install [http://aur.archlinux.org/packages.php?ID=29024 nouveau-dri-git] from the AUR. Note that nouveau DRI2 is not compatible with the xorg-server in extra, but it works with the xorg-server in testing. DRI1 works with either.<br />
<br />
== DualHead ==<br />
<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors.<br />
<br />
This is a full sample /etc/X11/xorg.conf for running 2 monitors in dual head mode:<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
BoardName "nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] rev 161"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre></div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=79773Nouveau2009-10-21T13:44:48Z<p>Tavianator: Fix early start instructions - mkinitcpio.conf doesn't support "!pcspkr" syntax</p>
<hr />
<div>[[Category: Graphics (English)]][[Category: X Server (English)]][[Category: HOWTOs (English)]]<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for nVidia cards.<br />
Don't forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, there is a lot of valuable information there.<br />
<br />
== Installation ==<br />
<br />
Before proceeding, have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] to see what features are supported for a given architecture, and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames] to determine the card's category.<br />
<br />
<br />
Install the following packages :<br />
# pacman -S nouveau-drm xf86-video-nouveau<br />
<br />
== Configuration ==<br />
<br />
You can use the following xorg.conf, which allows you to easily switch back to other drivers :<br />
<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nouveau"<br />
#Driver "nv"<br />
#Driver "nvidia"<br />
EndSection<br />
<br />
Xv (the X video extension) is now supported by NV50 chipsets, but with current xorg-server it requires a compositing window manager to work properly. [http://wiki.archlinux.org/index.php/Xcompmgr xcompmgr] is the best choice - Compiz won't work, but KWin compositing with the XRender backend might. A compositing manager is not necessary with the xorg-server from testing. See the nouveau [http://nouveau.freedesktop.org/wiki/FeatureMatrix Featurematrix] for more details.<br />
<br />
== KMS ==<br />
<br />
Kernel Mode-Setting is a technology that puts the work of setting graphics output modes in kernel space. This allows for a cleaner implementation, and means that switching VTs (Ctrl+Alt+F1, etc.) is nearly instant. As well, you will have a full-resolution framebuffer, which is nice for high-res displays in console mode.<br />
<br />
Upstream actually recommends testing KMS as it is the future. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
=== Late start ===<br />
<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes right then.<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Remove all "vga=" and "video=" options from your kernel commandline in /boot/grub/menu.lst. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
=== Early start ===<br />
<br />
This method will start KMS as early as possible in the boot process, when the initramfs is loaded.<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Add "nouveau" to the MODULES array in /etc/mkinitcpio.conf:<br />
MODULES=('''nouveau''' haxmodulez ...)<br />
<br />
3) Add "/etc/modprobe.d/modprobe.conf" to the FILES section in /etc/mkinitcpio.conf:<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
<br />
4) Re-generate your initcpio:<br />
# mkinitcpio -p < Your kernel preset (kernel26, kernel26-nouveau-git, etc.) ><br />
<br />
<small>You can also look at the [[Intel Graphics]] instructions for an early start: [[Intel Graphics#KMS_.28Kernel_Mode_Setting.29|Intel Graphics:KMS (Kernel Mode Setting)]]</small><br />
<br />
== Alternative installation ==<br />
<br />
If the archlinux packages don't work, you could try more current packages from AUR : [http://aur.archlinux.org/packages.php?ID=29602 nouveau-drm-snapshot] and [http://aur.archlinux.org/packages.php?ID=11891 xf86-video-nouveau-git]<br />
<br />
If this still does not work, you can try the way recommended by upstream, which is to install a kernel already including the nouveau drm modules : [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git]<br />
<br />
== 3D ==<br />
<br />
3D support is still very experimental and unsupported. Anything more graphically involved than glxgears is almost guaranteed to crash X, and possibly your whole box. If you want to give it a try anyway, you can install [http://aur.archlinux.org/packages.php?ID=29024 nouveau-dri-git] from the AUR. Note that nouveau DRI2 is not compatible with the xorg-server in extra, but it works with the xorg-server in testing. DRI1 works with either.<br />
<br />
== DualHead ==<br />
<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors.<br />
<br />
This is a full sample /etc/X11/xorg.conf for running 2 monitors in dual head mode:<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
BoardName "nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] rev 161"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre></div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=79740Nouveau2009-10-21T03:50:21Z<p>Tavianator: Improve note about NV50 xv support</p>
<hr />
<div>[[Category: Graphics (English)]][[Category: X Server (English)]][[Category: HOWTOs (English)]]<br />
== Introduction ==<br />
<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for nVidia cards.<br />
Don't forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, there is a lot of valuable information there.<br />
<br />
== Models ==<br />
<br />
Have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames].<br />
<br />
== Installation ==<br />
<br />
Install the following packages :<br />
pacman -S nouveau-drm xf86-video-nouveau<br />
<br />
== Configuration ==<br />
<br />
You can use the following xorg.conf, which allows you to easily switch back to other drivers :<br />
<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nouveau"<br />
#Driver "nv"<br />
#Driver "nvidia"<br />
EndSection<br />
<br />
Xv (the X video extension) is now supported by NV50 chipsets, but with current xorg-server it requires a compositing window manager to work properly. [http://wiki.archlinux.org/index.php/Xcompmgr xcompmgr] is the best choice - Compiz won't work, but KWin compositing with the XRender backend might. A compositing manager is not necessary with the xorg-server from testing. See the nouveau [http://nouveau.freedesktop.org/wiki/FeatureMatrix Featurematrix] for more details.<br />
<br />
== KMS ==<br />
<br />
Kernel Mode-Setting is a technology that puts the work of setting graphics output modes in kernel space. This allows for a cleaner implementation, and means that switching VTs (Ctrl+Alt+F1, etc.) is nearly instant. As well, you will have a full-resolution framebuffer, which is nice for high-res displays in console mode.<br />
<br />
Upstream actually recommends testing KMS as it is the future. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
=== Late start ===<br />
<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes right then.<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Remove all "vga=" and "video=" options from your kernel commandline in /boot/grub/menu.lst. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
=== Early start ===<br />
<br />
This method will start KMS as early as possible in the boot process, when the initramfs is loaded.<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Add "nouveau" to MODULES in /etc/mkinitcpio.conf<br />
<br />
3) Add "/etc/modprobe.d/modprobe.conf" to FILES in /etc/mkinitcpio.conf<br />
<br />
4) Re-generate your initcpio:<br />
mkinitcpio -p <your kernel preset (kernel26, or kernel26-nouveau-git)><br />
<br />
You can also look at the Intel instructions for an early start: [[Intel_Graphics#KMS_.28Kernel_Mode_Setting.29]].<br />
<br />
== Alternative installation ==<br />
<br />
If the archlinux packages don't work, you could try more current packages from AUR : [http://aur.archlinux.org/packages.php?ID=29602 nouveau-drm-snapshot] and [http://aur.archlinux.org/packages.php?ID=11891 xf86-video-nouveau-git]<br />
<br />
If this still does not work, you can try the way recommended by upstream, which is to install a kernel already including the nouveau drm modules : [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git]<br />
<br />
== 3D ==<br />
<br />
3D support is still very experimental and unsupported. Anything more graphically involved than glxgears is almost guaranteed to crash X, and possibly your whole box. If you want to give it a try anyway, you can install [http://aur.archlinux.org/packages.php?ID=29024 nouveau-dri-git] from the AUR. Note that nouveau DRI2 is not compatible with the xorg-server in extra, but it works with the xorg-server in testing. DRI1 works with either.<br />
<br />
== DualHead ==<br />
<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors.<br />
<br />
This is a full sample /etc/X11/xorg.conf for running 2 monitors in dual head mode:<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
BoardName "nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] rev 161"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre></div>Tavianatorhttps://wiki.archlinux.org/index.php?title=User:Tavianator&diff=79737User:Tavianator2009-10-21T03:39:42Z<p>Tavianator: Created page with 'My name is Tavian; I'm a first-year computer science student a the University of Waterloo. I've been using Linux for a while now, and have been programming for even longer. Cur…'</p>
<hr />
<div>My name is Tavian; I'm a first-year computer science student a the University of Waterloo. I've been using Linux for a while now, and have been programming for even longer. Currently I'm working on writing a raytracer from scratch in C: [http://code.google.com/p/dmnsn Dimension]. In the past I've written an x86-64 assembly implementation of IEEE 754-2008 decimal arithmetic: [http://code.google.com/p/fpfd FPFD], and a high-precision physics engine in C++: [http://code.google.com/p/carom Carom]. FPFD was my entry at [http://en.wikipedia.org/wiki/Intel_International_Science_and_Engineering_Fair ISEF] 2009, which won a 3rd-place IEEE Computer Society award.<br />
<br />
I maintain various nouveau-related packages in the AUR: [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git], [http://aur.archlinux.org/packages.php?ID=11891 xf86-nouveau-git], and [http://aur.archlinux.org/packages.php?ID=29024 nouveau-dri-git].</div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=79724Nouveau2009-10-21T03:25:20Z<p>Tavianator: Point out that DRI2 works with testing/xorg-server.</p>
<hr />
<div>[[Category: Graphics (English)]][[Category: X Server (English)]][[Category: HOWTOs (English)]]<br />
== Introduction ==<br />
<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for nVidia cards.<br />
Don't forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, there is a lot of valuable information there.<br />
<br />
== Models ==<br />
<br />
Have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames].<br />
<br />
== Installation ==<br />
<br />
Install the following packages :<br />
pacman -S nouveau-drm xf86-video-nouveau<br />
<br />
== Configuration ==<br />
<br />
You can use the following xorg.conf, which allows you to easily switch back to other drivers :<br />
<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nouveau"<br />
#Driver "nv"<br />
#Driver "nvidia"<br />
EndSection<br />
<br />
Note from the [http://nouveau.freedesktop.org/wiki/FeatureMatrix Featurematrix] for NV50 chipset and Xv support :<br />
Now it works fine, but you need Xserver from git. In other case you need to run a composite manager<br />
(Compiz won't work, something like xcompmgr or KWin with XRender).<br />
<br />
So you can set up [http://wiki.archlinux.org/index.php/Xcompmgr xcompmgr].<br />
<br />
== KMS ==<br />
<br />
Kernel Mode-Setting is a technology that puts the work of setting graphics output modes in kernel space. This allows for a cleaner implementation, and means that switching VTs (Ctrl+Alt+F1, etc.) is nearly instant. As well, you will have a full-resolution framebuffer, which is nice for high-res displays in console mode.<br />
<br />
Upstream actually recommends testing KMS as it is the future. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
=== Late start ===<br />
<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes right then.<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Remove all "vga=" and "video=" options from your kernel commandline in /boot/grub/menu.lst. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
=== Early start ===<br />
<br />
This method will start KMS as early as possible in the boot process, when the initramfs is loaded.<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Add "nouveau" to MODULES in /etc/mkinitcpio.conf<br />
<br />
3) Add "/etc/modprobe.d/modprobe.conf" to FILES in /etc/mkinitcpio.conf<br />
<br />
4) Re-generate your initcpio:<br />
mkinitcpio -p <your kernel preset (kernel26, or kernel26-nouveau-git)><br />
<br />
You can also look at the Intel instructions for an early start: [[Intel_Graphics#KMS_.28Kernel_Mode_Setting.29]].<br />
<br />
== Alternative installation ==<br />
<br />
If the archlinux packages don't work, you could try more current packages from AUR : [http://aur.archlinux.org/packages.php?ID=29602 nouveau-drm-snapshot] and [http://aur.archlinux.org/packages.php?ID=11891 xf86-video-nouveau-git]<br />
<br />
If this still does not work, you can try the way recommended by upstream, which is to install a kernel already including the nouveau drm modules : [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git]<br />
<br />
== 3D ==<br />
<br />
3D support is still very experimental and unsupported. Anything more graphically involved than glxgears is almost guaranteed to crash X, and possibly your whole box. If you want to give it a try anyway, you can install [http://aur.archlinux.org/packages.php?ID=29024 nouveau-dri-git] from the AUR. Note that nouveau DRI2 is not compatible with the xorg-server in extra, but it works with the xorg-server in testing. DRI1 works with either.<br />
<br />
== DualHead ==<br />
<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors.<br />
<br />
This is a full sample /etc/X11/xorg.conf for running 2 monitors in dual head mode:<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
BoardName "nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] rev 161"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre></div>Tavianatorhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=76804Nouveau2009-09-29T20:17:34Z<p>Tavianator: More KMS pointers, more 3D info</p>
<hr />
<div>== Introduction ==<br />
<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for nVidia cards.<br />
<br />
== Models ==<br />
<br />
Have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames].<br />
<br />
== Installation ==<br />
<br />
Install the following packages :<br />
pacman -S nouveau-drm xf86-video-nouveau<br />
<br />
== Configuration ==<br />
<br />
You can use the following xorg.conf, which allows you to easily switch back to other drivers :<br />
<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nouveau"<br />
#Driver "nv"<br />
#Driver "nvidia"<br />
EndSection<br />
<br />
Note from the [http://nouveau.freedesktop.org/wiki/FeatureMatrix Featurematrix] for NV50 chipset and Xv support :<br />
Now it works fine, but you need Xserver from git. In other case you need to run a composite manager<br />
(Compiz won't work, something like xcompmgr or KWin with XRender).<br />
<br />
So you can set up [http://wiki.archlinux.org/index.php/Xcompmgr xcompmgr].<br />
<br />
== KMS ==<br />
<br />
Kernel Mode-Setting is a technology that puts the work of setting graphics output modes in kernel space. This allows for a cleaner implementation, and means that switching VTs (Ctrl+Alt+F1, etc.) is nearly instant. As well, you will have a full-resolution framebuffer, which is nice for high-res displays in console mode.<br />
<br />
Note from the upstream page : <br />
Please test the in-kernel mode setting (KMS) feature,<br />
as the userspace mode setting support will be dropped in the future.<br />
KMS is activated in the kernel module nouveau.ko by passing the option modeset=1.<br />
<br />
Unfortunately KMS can still cause very frequent kernel crashes when loading the module: [http://bugs.freedesktop.org/show_bug.cgi?id=23847 bug 23847]. So be warned!<br />
A funny workaround for this particular problem is to build a kernel with CONFIG_DEBUG_SPINLOCK. The [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git] package (see below) enables this by default.<br />
<br />
=== Late start ===<br />
<br />
[http://bugs.freedesktop.org/show_bug.cgi?id=23847 Bug 23847] means that this option is less likely to crash your kernel. With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes right then.<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Remove all "vga=" and "video=" options from your kernel commandline in /boot/grub/menu.lst. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
=== Early start ===<br />
<br />
This method will start KMS as early as possible in the boot process, when the initramfs is loaded. This method is unstable unless you have enabled the workaround for [http://bugs.freedesktop.org/show_bug.cgi?id=23847 bug 23847].<br />
<br />
1) Add the following line to /etc/modprobe.d/modprobe.conf:<br />
options nouveau modeset=1<br />
<br />
2) Add "nouveau" to MODULES in /etc/mkinitcpio.conf<br />
<br />
3) Add "/etc/modprobe.d/modprobe.conf" to FILES in /etc/mkinitcpio.conf<br />
<br />
4) Re-generate your initcpio:<br />
mkinitcpio -p <your kernel preset (kernel26, or kernel26-nouveau-git)><br />
<br />
You can also look at the Intel instructions for an early start: [[Intel_Graphics#KMS_.28Kernel_Mode_Setting.29]].<br />
<br />
== Alternative installation ==<br />
<br />
If the archlinux packages don't work, you could try more current packages from AUR : [http://aur.archlinux.org/packages.php?ID=29602 nouveau-drm-snapshot] and [http://aur.archlinux.org/packages.php?ID=11891 xf86-video-nouveau-git]<br />
<br />
If this still does not work, you can try the way recommended by upstream, which is to install a kernel already including the nouveau drm modules : [http://aur.archlinux.org/packages.php?ID=30158 kernel26-nouveau-git]<br />
<br />
== 3D ==<br />
<br />
3D support is still very experimental and unsupported. Anything more graphically involved than glxgears is almost guaranteed to crash X, and possibly your kernel. If you want to give it a try anyway, you can install [http://aur.archlinux.org/packages.php?ID=29024 nouveau-dri-git]. Note that nouveau DRI2 is not compatible with the current xorg-server release, but DRI1 "works."<br />
<br />
== DualHead ==<br />
<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors.<br />
<br />
This is a full sample /etc/X11/xorg.conf for running 2 monitors in dual head mode:<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
BoardName "nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] rev 161"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
#Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
# will be replaced by gallium 3D<br />
Option "AIGLX" "false"<br />
EndSection<br />
</pre></div>Tavianator