Difference between revisions of "Nouveau"

From ArchWiki
Jump to: navigation, search
m (added Supported Hardware section to loosely mirror the nvidia page)
 
(100 intermediate revisions by 36 users not shown)
Line 1: Line 1:
 
[[Category:Graphics]]
 
[[Category:Graphics]]
[[Category:X Server]]
+
[[Category:X server]]
 
[[es:Nouveau]]
 
[[es:Nouveau]]
 
[[it:Nouveau]]
 
[[it:Nouveau]]
 +
[[ja:Nouveau]]
 
[[ru:Nouveau]]
 
[[ru:Nouveau]]
{{Article summary start}}
+
[[zh-CN:Nouveau]]
{{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.}}
+
{{Related articles start}}
{{Article summary heading|Related}}
+
{{Related|NVIDIA}}
{{Article summary wiki|NVIDIA}}
+
{{Related|Xorg}}
{{Article summary wiki|Xorg}}
+
{{Related|Bumblebee}}
{{Article summary end}}
+
{{Related articles end}}
  
This article covers installing and configuring the [http://nouveau.freedesktop.org/ Nouveau] open source driver for NVIDIA graphic cards. For information about the official proprietary driver, see [[NVIDIA]].
+
This article covers installing and configuring the [http://nouveau.freedesktop.org/ Nouveau] open-source driver for NVIDIA graphic cards. For information about the official proprietary driver, see [[NVIDIA]].
  
Do not forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ Nouveau driver FAQ] if you have any questions, as there is a lot of valuable information there.
+
Find your card's [http://nouveau.freedesktop.org/wiki/CodeNames codename] (a more detailed list is available on [[Wikipedia:Comparison of Nvidia Graphics Processing Units|Wikipedia]]), and compare it with the [http://nouveau.freedesktop.org/wiki/FeatureMatrix/ feature matrix] for supported features.
  
 
== Installation ==
 
== Installation ==
  
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. You could also consult [[Wikipedia:Comparison of Nvidia Graphics Processing Units|wikipedia]] for an even more detailed list.
+
[[Install]] the {{Pkg|xf86-video-nouveau}} package. It provides the DDX driver for 2D acceleration in [[Xorg]], and pulls in {{Pkg|mesa}} as a dependency which provides the DRI driver for 3D acceleration.
  
If you already installed the proprietary NVIDIA driver, then remove it first:
+
For OpenGL support, also install {{Pkg|mesa-libgl}}, and {{Pkg|lib32-mesa-libgl}} when using [[multilib]].
  
# pacman -Rdds nvidia nvidia-utils
+
=== Supported GPU Hardware ===
# pacman -S --asdeps libgl
+
  
{{Tip|If you want to keep Nvidia driver installed, it [[#Keep NVIDIA driver installed|requires some configuration]] to load the Nouveau driver instead of Nvidia.}}
+
Check the [https://nouveau.freedesktop.org/wiki/FeatureMatrix/ nouveau FeatureMatrix] to see if, or how well, your card is supported. Check [https://nouveau.freedesktop.org/wiki/CodeNames/ nouveau CodeNames] to find the code used for your card in the FeatureMatrix.
 
+
{{Note|If you are installing the Nouveau drivers after uninstalling the Nvidia ones, be sure to delete the {{ic|/etc/X11/xorg.conf}} file that the Nvidia driver created (or undo the changes), or else X will fail to properly load the Nouveau driver.}}
+
 
+
[[pacman|Install]] the DDX driver with the {{Pkg|xf86-video-nouveau}} package.
+
 
+
Also make sure you have [[Xorg]] properly installed.
+
+
If you want hardware-accelerated 3D support (to run GNOME Shell or KWin's effects, for instance), install the DRI driver with the {{Pkg|nouveau-dri}} package. For Arch x86_64, install {{Pkg|lib32-nouveau-dri}} from the [[Multilib]] repository, as well.
+
 
+
{{Warning|The DRI driver is '''experimental''', and may cause rendering corruptions or random GPU lockups (especially on older cards that use the classic Mesa driver). If you use it, it is recommended to enable the [[Sysctl#Configuration|Magic SysRq key]] to be able to [http://nouveau.freedesktop.org/wiki/LockupRecovery recover from a lockup]. See http://nouveau.freedesktop.org/wiki/MesaDrivers before reporting bugs with the 3D drivers.}}
+
  
 
== Loading ==
 
== Loading ==
  
The Nouveau kernel module should load fine automatically on system boot.
+
The Nouveau kernel module should load automatically on system boot. If it does not happen, then:
  
If it does not happen, then:
+
* Make sure you do '''not''' have {{ic|nomodeset}} or {{ic|1=vga=}} as a [[kernel parameter]], since Nouveau requires kernel mode-setting.
 +
* Also, check that you have not disabled Nouveau by using any modprobe blacklisting within {{ic|/etc/modprobe.d/}} or {{ic|/usr/lib/modprobe.d/}}.
 +
* If all above still fails to load nouveau check dmesg for opcode error. Add {{ic|1=nouveau.config=NvBios=PRAMIN}} to your [[Kernel parameters]] to prevent module unloading.[http://nouveau.freedesktop.org/wiki/TroubleShooting/#index10h3]
  
* Make sure you do '''not''' have {{ic|nomodeset}} or {{ic|1=vga=}} as a [[Kernel_parameters|kernel parameter]], since Nouveau needs kernel mode-setting in order to run successfully (see below).
+
=== Enable early KMS ===
* Also, check that you have not disabled Nouveau by using any modprobe blacklisting within {{ic|/etc/modprobe.d/}}.
+
  
=== KMS ===
+
{{Tip|If you have problems with the resolution, check [[Kernel mode setting#Forcing modes and EDID]].}}
  
Kernel Mode-Setting ([[KMS]]) is required by the Nouveau driver. As the system boots, the resolution will likely change when KMS initializes the display driver. Simply installing the Nouveau driver should be enough to get the system to recognize and initialize it in "Late Start" mode (see below). Additional reading: [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting].
+
[[Kernel mode setting]] (KMS) is required by the Nouveau driver. By default, the KMS is done after the other kernel modules are loaded. You will see the text "Loading modules" and the size of the text may change, possibly with an undesirable flicker. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting Nouveau KernelModeSetting page] for more details.
  
{{Note|Users may prefer the early start method as it does not cause the annoying resolution change part way through the boot process.}}
+
It is also possible to start the KMS as early as possible in the boot process, when the [[initramfs]] is loaded.  
  
==== Late start ====
+
To do this, add {{ic|nouveau}} to the {{ic|MODULES}} array in {{ic|/etc/mkinitcpio.conf}}:
  
With this choice KMS will be enabled when other kernel modules are loaded. You will see the text "Loading modules" and the size of the text may change, possibly with an undesirable flicker.
+
MODULES="... nouveau ..."
 
+
==== Early start ====
+
  
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:
+
If you are using a custom EDID file, you should embed it into initramfs as well:
  
Add {{ic|nouveau}} to the {{ic|MODULES}} array in {{ic|/etc/mkinitcpio.conf}}:
+
{{hc|/etc/mkinitcpio.conf|
 
+
2=FILES="/lib/firmware/edid/your_edid.bin"}}
MODULES="... nouveau ..."
+
  
 
Re-generate the initial ramdisk image:
 
Re-generate the initial ramdisk image:
Line 67: Line 55:
 
  # mkinitcpio -p <kernel preset; e.g. ''linux''>
 
  # mkinitcpio -p <kernel preset; e.g. ''linux''>
  
If you're experiencing troubles with Nouveau leading to rebuild nouveau-drm several times for testing purposes, do not add {{ic|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'' until you are confident the system is stable. There might be additional problems with initramfs if you need a custom firmware (generally not advised).
+
If you're experiencing troubles with Nouveau leading to rebuild nouveau-drm several times for testing purposes, do not add {{ic|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" until you are confident the system is stable. There might be additional problems with initramfs if you need a custom firmware (generally not advised).
  
 
== Tips and tricks ==
 
== Tips and tricks ==
Line 73: Line 61:
 
=== Keep NVIDIA driver installed ===
 
=== Keep NVIDIA driver installed ===
  
If you want to keep the proprietary NVIDIA driver installed, but want to use the Nouveau driver, comment out nouveau blacklisting in {{ic|etc/modprobe.d/nouveau_blacklist.conf}} modifying it as follows:
+
If you want to keep the proprietary NVIDIA driver installed (and are not using OpenGL), but want to use the Nouveau driver, comment out nouveau blacklisting in {{ic|/etc/modprobe.d/nouveau_blacklist.conf}} or {{ic|/usr/lib/modprobe.d/nvidia.conf}} modifying it as follows:
  
 
  #blacklist nouveau
 
  #blacklist nouveau
Line 84: Line 72:
 
  EndSection
 
  EndSection
  
{{Tip|You can use [[NVIDIA#Switching_between_nvidia_and_nouveau_drivers|these scripts]] if you are switching between open and closed drivers often.}}
+
{{Tip|You can use [[NVIDIA/Tips and tricks#Switching_between_NVIDIA_and_nouveau_drivers|these scripts]] if you are switching between open and closed drivers often.}}
  
 
If you already used the NVIDIA driver, and want to test Nouveau without reboot, make sure the 'nvidia' module is no longer loaded:
 
If you already used the NVIDIA driver, and want to test Nouveau without reboot, make sure the 'nvidia' module is no longer loaded:
Line 103: Line 91:
  
 
* You can use {{AUR|mesa-git}} which will allow the installation of the latest Mesa (including the latest DRI driver).
 
* You can use {{AUR|mesa-git}} which will allow the installation of the latest Mesa (including the latest DRI driver).
* You can use {{AUR|xf86-video-nouveau-git}} which will allow the installation of the latest DDX driver.
+
* You can use {{AUR|xf86-video-nouveau-git}}{{Broken package link|{{aur-mirror|xf86-video-nouveau-git}}}} which will allow the installation of the latest DDX driver.
 
* You can also try installing a newer kernel version, through packages like {{AUR|linux-mainline}} in which the Nouveau DRM code would allow better performance.
 
* You can also try installing a newer kernel version, through packages like {{AUR|linux-mainline}} in which the Nouveau DRM code would allow better performance.
* To get the latest Nouveau improvements, you should use the {{AUR|linux-git}} package from the AUR, edit the PKGBUILD and use Nouveau's own kernel repository, which is currently located at: git://anongit.freedesktop.org/nouveau/linux-2.6.
+
* To get the latest Nouveau improvements, you should use the {{AUR|linux-git}} package from the AUR, edit the PKGBUILD and use Nouveau's own kernel repository, which is currently located at git://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau.
  
Upsteam driver sources can be found here: http://nouveau.freedesktop.org/wiki/Source.
+
Upstream driver sources can be found at the [http://nouveau.freedesktop.org/wiki/Source Nouveau Source page].
 
+
=== Tear-free compositing ===
+
 
+
Edit your {{ic|/etc/X11/xorg.conf.d/20-nouveau.conf}}, and add the following to the {{ic|Device}} section:
+
 
+
Section "Device"
+
    Identifier "nvidia card"
+
    Driver "nouveau"
+
    Option "GLXVBlank" "true"
+
EndSection
+
  
 
=== Dual Head ===
 
=== Dual Head ===
  
Nouveau supports the xrandr extension for modesetting and multiple monitors. See the [[RandR12]] page for tutorials.
+
Nouveau supports the xrandr extension for modesetting and multiple monitors. See the [[xrandr]] page for tutorials.
  
 
Here is a full sample {{ic|/etc/X11/xorg.conf.d/20-nouveau.conf}} above for running 2 monitors in dual head mode. You may prefer to use a graphical tool to configure monitors like GNOME Control Center's Display panel ({{ic|gnome-control-center display}}).
 
Here is a full sample {{ic|/etc/X11/xorg.conf.d/20-nouveau.conf}} above for running 2 monitors in dual head mode. You may prefer to use a graphical tool to configure monitors like GNOME Control Center's Display panel ({{ic|gnome-control-center display}}).
Line 166: Line 144:
 
Use the {{Pkg|fbset}} tool to adjust console resolution.
 
Use the {{Pkg|fbset}} tool to adjust console resolution.
  
You can also pass the resolution to nouveau with the video= kernel line option (see [[KMS]]).
+
You can also pass the resolution to nouveau with the {{ic|1=video=}} kernel line option (see [[KMS]]).
  
 
=== Power Management ===
 
=== Power Management ===
  
GPU Scaling is in various stages of readiness depending on the GPU. See the following link for additional info:
+
GPU Scaling is in various stages of readiness depending on the GPU. After kernel 3.18 there's power management available in kernel. If you plan to play games you need to enable the power state on the module configuration by adding {{ic|1=nouveau.pstate=1}} to the module configuration. This will result in higher clocks when required.
  
http://nouveau.freedesktop.org/wiki/PowerManagement
+
See the [http://nouveau.freedesktop.org/wiki/PowerManagement Nouveau PowerManagement page] for more details.
  
=== Enable MSI (Message Signaled Interrupts) ===
+
==== Fan Control ====
  
This may provide a slight performance advantage.  It is only supported on NV50+ and is disabled by default.
+
If it is implemented for you card you can configure fan control via {{ic|/sys}}.
  
{{Warning|This may cause instability with some motherboard / GPU combinations.}}
+
$ find /sys -name pwm1_enable
 +
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon1/pwm1_enable
 +
$ readlink /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/driver
 +
../../../../bus/pci/drivers/nouveau
  
Place the following in {{ic|/etc/modprobe.d/nouveau.conf}}:
+
{{ic|pwm1_enable}} can be set to 0, 1 or 2 meaning NONE, MANUAL and AUTO fan control. If set to manual fan control, you can set {{ic|pwm1}} manually, for example to 40 for 40%.
 +
{{Warning|Use at your own risk! Don't overheat your card!}}
  
  options nouveau msi=1
+
You can also set it by udev rule:
 +
  $ cat /etc/udev/rules.d/50-nouveau-hwmon.rules
 +
ACTION=="add", SUBSYSTEM=="hwmon", DRIVERS=="nouveau", ATTR{pwm1_enable}="2"
  
If using [[#Early_start|early start]], add the line {{ic|1= FILES="/etc/modprobe.d/nouveau.conf"}} to {{ic|/etc/mkinitcpio.conf}}, then re-generate kernel image:
+
Sources:
 +
* http://floppym.blogspot.de/2013/07/fan-control-with-nouveau.html
 +
* https://kalgan.cc/blog/posts/Controlling_nVidia_cards_fans_with_nouveau_in_Debian/
  
# mkinitcpio -p <kernel preset; e.g. ''linux''>
+
=== Optimus ===
 
+
Reboot the system for the changes to take effect.
+
  
 +
You have two solutions to use [[Optimus]] on a laptop (aka hybrid graphics, when you have two GPUs on your laptop): [[bumblebee]] and [[PRIME]]
  
 
== Troubleshooting ==
 
== Troubleshooting ==
Add the following to your kernel command line (if using grub hit {{keypress|e}} at the boot menu to edit) to turn on video debugging:
+
Add {{ic|1=drm.debug=14}} and {{ic|1=log_buf_len=16M}} to your [[kernel parameters]] to turn on video debugging:
drm.debug=14 log_buf_len=16M
+
  
 
Create verbose Xorg log:
 
Create verbose Xorg log:
  startx -- -logverbose 9 -verbose 9
+
  $ startx -- -logverbose 9 -verbose 9
  
 
View loaded video module parameters and values:
 
View loaded video module parameters and values:
  modinfo -p video
+
  $ modinfo -p video
 +
 
 +
====Disable MSI====
 +
If you are still having problems loading the module or starting X server append {{ic|1=nouveau.config=NvMSI=0}} to your [[Kernel parameters]].
 +
 
 +
Source: https://bugs.freedesktop.org/show_bug.cgi?id=78441
 +
 
 +
====Phantom Output Issue====
 +
 
 +
It is possible for the nouveau driver to detect "phantom" outputs.  For example, both VGA-1 and LVDS-1 are shown as connected but only LVDS-1 is present.
 +
 
 +
This causes display problems and a corrupted screen.
 +
 
 +
The problem can be overcome by disabling the phantom output (VGA-1 in the examples given) on the kernel command line of your boot loader. This can be achieved by appending the following:
 +
 
 +
video=VGA-1:d
 +
 
 +
Where '''d''' = disable.
 +
 
 +
The phantom output can also be disabled in X by adding the following to {{ic|/etc/X11/xorg.conf.d/20-nouveau.conf}}:
 +
 
 +
Section "Monitor"
 +
Identifier "VGA-1"
 +
Option "Ignore" "1"
 +
EndSection
 +
 
 +
Source: http://gentoo-en.vfose.ru/wiki/Nouveau#Phantom_and_unpopulated_output_connector_issues
 +
 
 +
====Random lockups with kernel error messages====
 +
 
 +
Specific Nvidia chips with Nouveau may give random system lockups and more commonly throw many kernel messages, seen with ''dmesg''.  Try adding the {{ic|1=nouveau.noaccel=1}} [[kernel parameter]]. See [https://fedoraproject.org/wiki/Common_kernel_problems#Systems_with_nVidia_adapters_using_the_nouveau_driver_lock_up_randomly] for more information.

Latest revision as of 06:08, 20 May 2016

Related articles

This article covers installing and configuring the Nouveau open-source driver for NVIDIA graphic cards. For information about the official proprietary driver, see NVIDIA.

Find your card's codename (a more detailed list is available on Wikipedia), and compare it with the feature matrix for supported features.

Installation

Install the xf86-video-nouveau package. It provides the DDX driver for 2D acceleration in Xorg, and pulls in mesa as a dependency which provides the DRI driver for 3D acceleration.

For OpenGL support, also install mesa-libgl, and lib32-mesa-libgl when using multilib.

Supported GPU Hardware

Check the nouveau FeatureMatrix to see if, or how well, your card is supported. Check nouveau CodeNames to find the code used for your card in the FeatureMatrix.

Loading

The Nouveau kernel module should load automatically on system boot. If it does not happen, then:

  • Make sure you do not have nomodeset or vga= as a kernel parameter, since Nouveau requires kernel mode-setting.
  • Also, check that you have not disabled Nouveau by using any modprobe blacklisting within /etc/modprobe.d/ or /usr/lib/modprobe.d/.
  • If all above still fails to load nouveau check dmesg for opcode error. Add nouveau.config=NvBios=PRAMIN to your Kernel parameters to prevent module unloading.[1]

Enable early KMS

Tip: If you have problems with the resolution, check Kernel mode setting#Forcing modes and EDID.

Kernel mode setting (KMS) is required by the Nouveau driver. By default, the KMS is done after the other kernel modules are loaded. You will see the text "Loading modules" and the size of the text may change, possibly with an undesirable flicker. See the Nouveau KernelModeSetting page for more details.

It is also possible to start the KMS as early as possible in the boot process, when the initramfs is loaded.

To do this, add nouveau to the MODULES array in /etc/mkinitcpio.conf:

MODULES="... nouveau ..."

If you are using a custom EDID file, you should embed it into initramfs as well:

/etc/mkinitcpio.conf
FILES="/lib/firmware/edid/your_edid.bin"

Re-generate the initial ramdisk image:

# mkinitcpio -p <kernel preset; e.g. linux>

If you're experiencing troubles with Nouveau leading to rebuild nouveau-drm several times for testing purposes, 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" until you are confident the system is stable. There might be additional problems with initramfs if you need a custom firmware (generally not advised).

Tips and tricks

Keep NVIDIA driver installed

If you want to keep the proprietary NVIDIA driver installed (and are not using OpenGL), but want to use the Nouveau driver, comment out nouveau blacklisting in /etc/modprobe.d/nouveau_blacklist.conf or /usr/lib/modprobe.d/nvidia.conf modifying it as follows:

#blacklist nouveau

And tell Xorg to load nouveau instead of nvidia by creating the file /etc/X11/xorg.conf.d/20-nouveau.conf with the following content:

Section "Device"
    Identifier "Nvidia card"
    Driver "nouveau"
EndSection
Tip: You can use these scripts if you are switching between open and closed drivers often.

If you already used the NVIDIA driver, and want to test Nouveau without reboot, make sure the 'nvidia' module is no longer loaded:

# rmmod nvidia

Then load the 'nouveau' module:

# modprobe nouveau

And check that it loaded fine by looking at kernel messages:

$ dmesg

Installing the latest development packages

You may install the latest -git packages, through AUR:

Upstream driver sources can be found at the Nouveau Source page.

Dual Head

Nouveau supports the xrandr extension for modesetting and multiple monitors. See the xrandr page for tutorials.

Here is a full sample /etc/X11/xorg.conf.d/20-nouveau.conf above for running 2 monitors in dual head mode. You may prefer to use a graphical tool to configure monitors like GNOME Control Center's Display panel (gnome-control-center display).

# the right one
Section "Monitor"
          Identifier   "NEC"
          Option "PreferredMode" "1280x1024_60.00"
EndSection

# the left one
Section "Monitor"
          Identifier   "FUS"
          Option "PreferredMode" "1280x1024_60.00"
          Option "LeftOf" "NEC"
EndSection

Section "Device"
    Identifier "nvidia card"
    Driver "nouveau"
    Option  "Monitor-DVI-I-1" "NEC"
    Option  "Monitor-DVI-I-2" "FUS"
EndSection

Section "Screen"
    Identifier "screen1"
   Monitor "NEC"
    DefaultDepth 24
      SubSection "Display"
       Depth      24
       Virtual 2560 2048
      EndSubSection
    Device "nvidia card"
EndSection

Section "ServerLayout"
    Identifier "layout1"
    Screen "screen1"
EndSection

Setting console resolution

Use the fbset tool to adjust console resolution.

You can also pass the resolution to nouveau with the video= kernel line option (see KMS).

Power Management

GPU Scaling is in various stages of readiness depending on the GPU. After kernel 3.18 there's power management available in kernel. If you plan to play games you need to enable the power state on the module configuration by adding nouveau.pstate=1 to the module configuration. This will result in higher clocks when required.

See the Nouveau PowerManagement page for more details.

Fan Control

If it is implemented for you card you can configure fan control via /sys.

$ find /sys -name pwm1_enable
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon1/pwm1_enable
$ readlink /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/driver
../../../../bus/pci/drivers/nouveau

pwm1_enable can be set to 0, 1 or 2 meaning NONE, MANUAL and AUTO fan control. If set to manual fan control, you can set pwm1 manually, for example to 40 for 40%.

Warning: Use at your own risk! Don't overheat your card!

You can also set it by udev rule:

$ cat /etc/udev/rules.d/50-nouveau-hwmon.rules
ACTION=="add", SUBSYSTEM=="hwmon", DRIVERS=="nouveau", ATTR{pwm1_enable}="2"

Sources:

Optimus

You have two solutions to use Optimus on a laptop (aka hybrid graphics, when you have two GPUs on your laptop): bumblebee and PRIME

Troubleshooting

Add drm.debug=14 and log_buf_len=16M to your kernel parameters to turn on video debugging:

Create verbose Xorg log:

$ startx -- -logverbose 9 -verbose 9

View loaded video module parameters and values:

$ modinfo -p video

Disable MSI

If you are still having problems loading the module or starting X server append nouveau.config=NvMSI=0 to your Kernel parameters.

Source: https://bugs.freedesktop.org/show_bug.cgi?id=78441

Phantom Output Issue

It is possible for the nouveau driver to detect "phantom" outputs. For example, both VGA-1 and LVDS-1 are shown as connected but only LVDS-1 is present.

This causes display problems and a corrupted screen.

The problem can be overcome by disabling the phantom output (VGA-1 in the examples given) on the kernel command line of your boot loader. This can be achieved by appending the following:

video=VGA-1:d

Where d = disable.

The phantom output can also be disabled in X by adding the following to /etc/X11/xorg.conf.d/20-nouveau.conf:

Section "Monitor"
Identifier "VGA-1"
Option "Ignore" "1"
EndSection

Source: http://gentoo-en.vfose.ru/wiki/Nouveau#Phantom_and_unpopulated_output_connector_issues

Random lockups with kernel error messages

Specific Nvidia chips with Nouveau may give random system lockups and more commonly throw many kernel messages, seen with dmesg. Try adding the nouveau.noaccel=1 kernel parameter. See [2] for more information.