# X11 driver "nouveau" not working (solved)

## stenny

I emerged nouveau and nouveau-xdm to support my Nvidia Graphics card.

When X (xorg 1.8.0) tries to start up, all kernel modules (nouveau, xdm, ...) are loaded properly, but then the X server logs, that no card entry can be found in /dev/dri. When looking at /dev, there is no directory dri or any cardX entry.

What's going wrong?

stennyLast edited by stenny on Mon Apr 26, 2010 11:03 pm; edited 1 time in total

----------

## d2_racing

Hi, can you post your /etc/X11/xorg.conf and also your Xorg log plz ?

----------

## stenny

No problem.

This is, what I emerged to get the nouveau driver running:

```
stenny@delos ~ $ sudo equery list '*nouveau*'

 * Searching for *nouveau* ...

[IP-] [  ] x11-base/nouveau-drm-20100316:0

[IP-] [  ] x11-drivers/nouveau-firmware-20091212:0

[IP-] [  ] x11-drivers/xf86-video-nouveau-0.0.15_pre20100329:0
```

This all is with Linux delos 2.6.33-gentoo #8 PREEMPT Fri Apr 23 18:32:08 CEST 2010 i686 AMD Sempron(tm) 2800+ AuthenticAMD GNU/Linux

and with x11-base/xorg-server-1.8.0.

This is the xorg.conf, I'm currently using:

```
# **********************************************************************

# Module section -- this  section  is used to specify

# which dynamically loadable modules to load.

# **********************************************************************

Section "Module"

    # Load        "xtt"

    # Load           "v4l"

    Load           "dbe"     # Double buffer extension

    Load           "extmod"

#      Option    "omit xfree86-dga"   # don't initialise the DGA extension

    Load           "type1"

    Load           "freetype"

    # Load        "speedo"

    Load           "glx"

EndSection

# **********************************************************************

# Files section.  This allows default font and rgb paths to be set

# **********************************************************************

Section "Files"

#    FontPath   "unix/:-1"

    FontPath        "/usr/share/fonts/misc/"

    FontPath        "/usr/share/fonts/TTF/"

    FontPath        "/usr/share/fonts/Speedo/"

    FontPath        "/usr/share/fonts/Type1/"

    FontPath        "/usr/share/fonts/CID/"

    FontPath        "/usr/share/fonts/75dpi/"

    FontPath        "/usr/share/fonts/100dpi/"

    FontPath        "/usr/share/fonts/corefonts/"

    FontPath        "/usr/share/fonts/local/"

    FontPath        "/usr/share/fonts/misc/"

    FontPath        "/usr/share/fonts/75dpi/:unscaled"

    FontPath        "/usr/share/fonts/100dpi/:unscaled"

    FontPath        "/usr/share/fonts/Speedo/"

    FontPath        "/usr/share/fonts/Type1/"

    FontPath        "/usr/share/fonts/TrueType/"

    FontPath        "/usr/share/fonts/freefont/"

    FontPath        "/usr/share/fonts/75dpi/"

    FontPath        "/usr/share/fonts/100dpi/"

EndSection

# **********************************************************************

# Server flags section.

# **********************************************************************

# **********************************************************************

# Input devices

# **********************************************************************

# **********************************************************************

# Core keyboard's InputDevice section

# **********************************************************************

Section "InputDevice"

    Identifier     "Keyboard1"

    # Driver         "kbd"

    Driver         "evdev"

    Option         "Name" "AT Translated Set 2 keyboard"

    # Option         "Device" "/dev/input/event3"

    Option         "XkbModel" "evdev"

    Option         "XkbLayout" "de_DE"

    Option         "XkbRules" "xorg"

    Option         "Xleds" "1 2 3"

#    Option "LeftAlt"     "Meta"

EndSection

# **********************************************************************

# Core Pointer's InputDevice section

# **********************************************************************

Section "InputDevice"

    Identifier     "Mouse1"

    # Driver         "mouse"

    Driver         "evdev"

    Option         "Name" "ImEXPS/2 Logitech Explorer Mouse"

    # Option         "Device" "/dev/input/mice"

    Option         "ZAxisMapping" "4 5"

#    Option "Protocol"    "IMPS/2"

EndSection

# **********************************************************************

# Monitor section

# **********************************************************************

Section "Monitor"

    Identifier     "Siemens X19-3"

    Option         "TargetRefresh" "60.0"

    Option         "DPMS"

EndSection

# **********************************************************************

# Graphics device section

# **********************************************************************

Section "Device"

    Identifier     "Standard VGA"

    Driver         "vga"

    VendorName     "Unknown"

    BoardName      "Unknown"

EndSection

Section "Device"

    Identifier     "* Generic VESA compatible"

    Driver         "vesa"

    Option         "UseDisplayDevice" "DFP"

    #VideoRam    1024

EndSection

Section "Device"

    Identifier     "NVIDIA GeForce"

    Driver         "nvidia"

EndSection

Section "Device"

    Driver         "nv"

    Identifier     "NVIDIA GeForce_nv"

EndSection

Section "Device"

    Driver         "nouveau"

    Identifier     "NVIDIA GeForce_nouveau"

EndSection

# **********************************************************************

# Screen sections

# **********************************************************************

Section "Screen"

    Device         "NVIDIA GeForce_nouveau"

    #Device         "NVIDIA GeForce_nv"

    #Device         "NVIDIA GeForce"

    #Device      "* Generic VESA compatible"

    #Device      "Standard VGA"

    Identifier     "Screen 1"

    Monitor        "Siemens X19-3"

    DefaultDepth    24

    Option         "nologo" "false"

    Option         "UseDisplayDevice" "DFP"

    # unsupported card

    SubSection     "Display"

        Viewport    0 0

        Depth       8

        Modes      "1280x1024" "1024x768" "800x600" "640x480"

    EndSubSection

    SubSection     "Display"

        Viewport    0 0

        Depth       16

        Modes      "1280x1024" "1024x768" "800x600" "640x480"

    EndSubSection

    SubSection     "Display"

        Viewport    0 0

        Depth       24

        Modes      "1280x1024" "1024x768" "800x600" "640x480"

    EndSubSection

    SubSection     "Display"

        Viewport    0 0

        Depth       32

        Modes      "1280x1024" "1024x768" "800x600" "640x480"

    EndSubSection

EndSection

# **********************************************************************

# ServerLayout sections.

# **********************************************************************

Section "ServerLayout"

    Identifier     "Simple Layout"

    Screen         "Screen 1" 0 0

    InputDevice    "Mouse1" "CorePointer"

    InputDevice    "Keyboard1" "CoreKeyboard"

    Option         "Xinerama" "on"

EndSection

```

And finally, this is, what xorg logs, when it is requested to use the nouveau driver:

```
[  5334.091] 

X.Org X Server 1.8.0

Release Date: 2010-04-02

[  5334.095] X Protocol Version 11, Revision 0

[  5334.097] Build Operating System: Linux 2.6.33-gentoo i686 Gentoo

[  5334.098] Current Operating System: Linux delos 2.6.33-gentoo #8 PREEMPT Fri Apr 23 18:32:08 CEST 2010 i686

[  5334.101] Kernel command line: root=/dev/sda2 initrd=/initramfs.img video=uvesafb:1280x1024-32,mtrr:4,ywrap

[  5334.103] Build Date: 23 April 2010  05:26:04AM

[  5334.105]  

[  5334.106] Current version of pixman: 0.18.0

[  5334.107]    Before reporting problems, check http://wiki.x.org

   to make sure that you have the latest version.

[  5334.110] Markers: (--) probed, (**) from config file, (==) default setting,

   (++) from command line, (!!) notice, (II) informational,

   (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

[  5334.116] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Apr 23 20:04:08 2010

[  5334.118] (==) Using config file: "/etc/X11/xorg.conf"

[  5334.120] (==) Using config directory: "/etc/X11/xorg.conf.d"

[  5334.123] (==) ServerLayout "Simple Layout"

[  5334.123] (**) |-->Screen "Screen 1" (0)

[  5334.123] (**) |   |-->Monitor "Siemens X19-3"

[  5334.123] (**) |   |-->Device "NVIDIA GeForce_nouveau"

[  5334.123] (**) |-->Input Device "Mouse1"

[  5334.123] (**) |-->Input Device "Keyboard1"

[  5334.123] (**) Option "Xinerama" "on"

[  5334.123] (==) Automatically adding devices

[  5334.123] (==) Automatically enabling devices

[  5334.123] (**) Xinerama: enabled

[  5334.123] (WW) The directory "/usr/share/fonts/TrueType/" does not exist.

[  5334.123]    Entry deleted from font path.

[  5334.123] (WW) The directory "/usr/share/fonts/freefont/" does not exist.

[  5334.123]    Entry deleted from font path.

[  5334.123] (**) FontPath set to:

   /usr/share/fonts/misc/,

   /usr/share/fonts/TTF/,

   /usr/share/fonts/Speedo/,

   /usr/share/fonts/Type1/,

   /usr/share/fonts/CID/,

   /usr/share/fonts/75dpi/,

   /usr/share/fonts/100dpi/,

   /usr/share/fonts/corefonts/,

   /usr/share/fonts/local/,

   /usr/share/fonts/misc/,

   /usr/share/fonts/75dpi/:unscaled,

   /usr/share/fonts/100dpi/:unscaled,

   /usr/share/fonts/Speedo/,

   /usr/share/fonts/Type1/,

   /usr/share/fonts/75dpi/,

   /usr/share/fonts/100dpi/,

   /usr/share/fonts/misc/,

   /usr/share/fonts/TTF/,

   /usr/share/fonts/OTF/,

   /usr/share/fonts/Type1/,

   /usr/share/fonts/100dpi/,

   /usr/share/fonts/75dpi/

[  5334.123] (==) ModulePath set to "/usr/lib/xorg/modules"

[  5334.123] (II) Loader magic: 0x81e8d80

[  5334.123] (II) Module ABI versions:

[  5334.123]    X.Org ANSI C Emulation: 0.4

[  5334.123]    X.Org Video Driver: 7.0

[  5334.123]    X.Org XInput driver : 9.0

[  5334.123]    X.Org Server Extension : 3.0

[  5334.132] (--) PCI: (0:0:12:0) 109e:036e:0070:13eb Brooktree Corporation Bt878 Video Capture rev 17, Mem @ 0xdbdfe000/4096

[  5334.140] (--) PCI:*(0:1:0:0) 10de:0221:0000:0000 nVidia Corporation NV44A [GeForce 6200] rev 161, Mem @ 0xde000000/16777216, 0xc0000000/268435456, 0xdd000000/16777216, BIOS @ 0x????????/131072

[  5334.140] (II) "extmod" will be loaded. This was enabled by default and also specified in the config file.

[  5334.140] (II) "dbe" will be loaded. This was enabled by default and also specified in the config file.

[  5334.140] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.

[  5334.140] (II) "record" will be loaded by default.

[  5334.140] (II) "dri" will be loaded by default.

[  5334.140] (II) "dri2" will be loaded by default.

[  5334.140] (II) LoadModule: "dbe"

[  5334.141] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so

[  5334.141] (II) Module dbe: vendor="X.Org Foundation"

[  5334.141]    compiled for 1.8.0, module version = 1.0.0

[  5334.141]    Module class: X.Org Server Extension

[  5334.141]    ABI class: X.Org Server Extension, version 3.0

[  5334.141] (II) Loading extension DOUBLE-BUFFER

[  5334.141] (II) LoadModule: "extmod"

[  5334.141] (II) Loading /usr/lib/xorg/modules/extensions/libextmod.so

[  5334.141] (II) Module extmod: vendor="X.Org Foundation"

[  5334.141]    compiled for 1.8.0, module version = 1.0.0

[  5334.142]    Module class: X.Org Server Extension

[  5334.142]    ABI class: X.Org Server Extension, version 3.0

[  5334.142] (II) Loading extension MIT-SCREEN-SAVER

[  5334.142] (II) Loading extension XFree86-VidModeExtension

[  5334.142] (II) Loading extension XFree86-DGA

[  5334.142] (II) Loading extension DPMS

[  5334.142] (II) Loading extension XVideo

[  5334.142] (II) Loading extension XVideo-MotionCompensation

[  5334.142] (II) Loading extension X-Resource

[  5334.142] (II) LoadModule: "glx"

[  5334.142] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so

[  5334.142] (II) Module glx: vendor="X.Org Foundation"

[  5334.142]    compiled for 1.8.0, module version = 1.0.0

[  5334.142]    ABI class: X.Org Server Extension, version 3.0

[  5334.142] (==) AIGLX enabled

[  5334.142] (II) Loading extension GLX

[  5334.142] (II) LoadModule: "record"

[  5334.142] (II) Loading /usr/lib/xorg/modules/extensions/librecord.so

[  5334.143] (II) Module record: vendor="X.Org Foundation"

[  5334.143]    compiled for 1.8.0, module version = 1.13.0

[  5334.143]    Module class: X.Org Server Extension

[  5334.143]    ABI class: X.Org Server Extension, version 3.0

[  5334.143] (II) Loading extension RECORD

[  5334.143] (II) LoadModule: "dri"

[  5334.143] (II) Loading /usr/lib/xorg/modules/extensions/libdri.so

[  5334.143] (II) Module dri: vendor="X.Org Foundation"

[  5334.143]    compiled for 1.8.0, module version = 1.0.0

[  5334.143]    ABI class: X.Org Server Extension, version 3.0

[  5334.143] (II) Loading extension XFree86-DRI

[  5334.143] (II) LoadModule: "dri2"

[  5334.143] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so

[  5334.144] (II) Module dri2: vendor="X.Org Foundation"

[  5334.144]    compiled for 1.8.0, module version = 1.2.0

[  5334.144]    ABI class: X.Org Server Extension, version 3.0

[  5334.144] (II) Loading extension DRI2

[  5334.144] (II) LoadModule: "nouveau"

[  5334.144] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so

[  5334.177] (II) Module nouveau: vendor="X.Org Foundation"

[  5334.177]    compiled for 1.8.0, module version = 0.0.15

[  5334.177]    Module class: X.Org Video Driver

[  5334.177]    ABI class: X.Org Video Driver, version 7.0

[  5334.177] (II) LoadModule: "evdev"

[  5334.177] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so

[  5334.177] (II) Module evdev: vendor="X.Org Foundation"

[  5334.177]    compiled for 1.8.0, module version = 2.4.0

[  5334.177]    Module class: X.Org XInput Driver

[  5334.177]    ABI class: X.Org XInput driver, version 9.0

[  5334.177] (II) NOUVEAU driver 

[  5334.177] (II) NOUVEAU driver for NVIDIA chipset families :

[  5334.177]    RIVA TNT    (NV04)

[  5334.177]    RIVA TNT2   (NV05)

[  5334.177]    GeForce 256 (NV10)

[  5334.177]    GeForce 2   (NV11, NV15)

[  5334.178]    GeForce 4MX (NV17, NV18)

[  5334.178]    GeForce 3   (NV20)

[  5334.178]    GeForce 4Ti (NV25, NV28)

[  5334.178]    GeForce FX  (NV3x)

[  5334.178]    GeForce 6   (NV4x)

[  5334.178]    GeForce 7   (G7x)

[  5334.178]    GeForce 8   (G8x)

[  5334.178] (--) using VT number 5

[  5334.746] (II) Primary Device is: PCI 01@00:00:0

[  5334.746] drmOpenDevice: node name is /dev/dri/card0

[  5334.752] drmOpenByBusid: Searching for BusID pci:0000:01:00.0

[  5334.752] drmOpenDevice: node name is /dev/dri/card0

[  5334.756] drmOpenByBusid: drmOpenMinor returns -1

[  5334.756] drmOpenDevice: node name is /dev/dri/card1

[  5334.759] drmOpenByBusid: drmOpenMinor returns -1

[  5334.759] drmOpenDevice: node name is /dev/dri/card2

[  5334.763] drmOpenByBusid: drmOpenMinor returns -1

[  5334.763] drmOpenDevice: node name is /dev/dri/card3

[  5334.767] drmOpenByBusid: drmOpenMinor returns -1

[  5334.767] drmOpenDevice: node name is /dev/dri/card4

[  5334.770] drmOpenByBusid: drmOpenMinor returns -1

[  5334.770] drmOpenDevice: node name is /dev/dri/card5

[  5334.774] drmOpenByBusid: drmOpenMinor returns -1

[  5334.774] drmOpenDevice: node name is /dev/dri/card6

[  5334.778] drmOpenByBusid: drmOpenMinor returns -1

[  5334.778] drmOpenDevice: node name is /dev/dri/card7

[  5334.781] drmOpenByBusid: drmOpenMinor returns -1

[  5334.781] drmOpenDevice: node name is /dev/dri/card8

[  5334.785] drmOpenByBusid: drmOpenMinor returns -1

[  5334.785] drmOpenDevice: node name is /dev/dri/card9

[  5334.789] drmOpenByBusid: drmOpenMinor returns -1

[  5334.789] drmOpenDevice: node name is /dev/dri/card10

[  5334.792] drmOpenByBusid: drmOpenMinor returns -1

[  5334.792] drmOpenDevice: node name is /dev/dri/card11

[  5334.796] drmOpenByBusid: drmOpenMinor returns -1

[  5334.796] drmOpenDevice: node name is /dev/dri/card12

[  5334.800] drmOpenByBusid: drmOpenMinor returns -1

[  5334.800] drmOpenDevice: node name is /dev/dri/card13

[  5334.803] drmOpenByBusid: drmOpenMinor returns -1

[  5334.803] drmOpenDevice: node name is /dev/dri/card14

[  5334.807] drmOpenByBusid: drmOpenMinor returns -1

[  5334.807] drmOpenDevice: node name is /dev/dri/card15

[  5334.810] drmOpenByBusid: drmOpenMinor returns -1

[  5334.810] drmOpenDevice: node name is /dev/dri/card0

[  5334.816] drmOpenDevice: node name is /dev/dri/card0

[  5334.820] drmOpenDevice: node name is /dev/dri/card1

[  5334.824] drmOpenDevice: node name is /dev/dri/card2

[  5334.827] drmOpenDevice: node name is /dev/dri/card3

[  5334.831] drmOpenDevice: node name is /dev/dri/card4

[  5334.835] drmOpenDevice: node name is /dev/dri/card5

[  5334.838] drmOpenDevice: node name is /dev/dri/card6

[  5334.842] drmOpenDevice: node name is /dev/dri/card7

[  5334.846] drmOpenDevice: node name is /dev/dri/card8

[  5334.849] drmOpenDevice: node name is /dev/dri/card9

[  5334.853] drmOpenDevice: node name is /dev/dri/card10

[  5334.857] drmOpenDevice: node name is /dev/dri/card11

[  5334.860] drmOpenDevice: node name is /dev/dri/card12

[  5334.864] drmOpenDevice: node name is /dev/dri/card13

[  5334.868] drmOpenDevice: node name is /dev/dri/card14

[  5334.871] drmOpenDevice: node name is /dev/dri/card15

[  5334.875] (EE) [drm] failed to open device

[  5334.875] (EE) No devices detected.

[  5334.875] 

Fatal server error:

[  5334.875] no screens found

[  5334.875] 

Please consult the The X.Org Foundation support 

    at http://wiki.x.org

 for help. 

[  5334.875] Please also check the log file at "/var/log/Xorg.0.log" for additional information.

[  5334.875] 

```

From my point of view, everything needed for nouveau ist emerged properly. The emerge ran flawlessly, after correcting the Kernel options. The modules are loaded as expected. And I know, that X is running with my xorg.conf, when using the default nv driver.

At that moment, I've absolutely now idea, what's going wrong with my nouveau-setup.

Regards

    stenny

----------

## d2_racing

Can you try this little one :

```

Section "ServerLayout"

    Identifier     "Layout0"

    Screen      0  "Screen0"

EndSection

Section "Monitor"

    Identifier     "Monitor0"

    VendorName     "Unknown"

    ModelName      "Unknown"

    Option         "DPMS"

EndSection

Section "Device"

    Identifier     "Device0"

    Driver         "nouveau"

    VendorName     "Nouveau"

EndSection

Section "Screen"

    Identifier     "Screen0"

    Device         "Device0"

    Monitor        "Monitor0"

    DefaultDepth    24

    SubSection     "Display"

        Depth       24

    EndSubSection

EndSection

```

----------

## tgR10

it seems for me like you don't have DRM support in kernel ?

this is how i get it working on my gf 7300gt

```
];-> zgrep -i -e nvidia -e nouveau -e drm -e fb /proc/config.gz | cat2

CONFIG_EXTRA_FIRMWARE="nouveau/nv46.ctxprog nouveau/nv46.ctxvals"

CONFIG_DRM=y

CONFIG_DRM_KMS_HELPER=y

CONFIG_DRM_TTM=y

CONFIG_FB=y

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

CONFIG_FB_BACKLIGHT=y

CONFIG_FB_MODE_HELPERS=y

CONFIG_FB_CON_DECOR=y

CONFIG_DRM_NOUVEAU=y

CONFIG_DRM_NOUVEAU_BACKLIGHT=y

CONFIG_DRM_NOUVEAU_DEBUG=y

CONFIG_DRM_I2C_CH7006=m
```

```
];-> equery list '*nouveau*' 

 * Searching for *nouveau* ...

[IP-] [  ] x11-base/nouveau-drm-20100316:0

[IP-] [  ] x11-drivers/nouveau-firmware-20091212:0

[I-O] [  ] x11-drivers/xf86-video-nouveau-9999:0
```

----------

## alunduil

Did you load the nouveau module?  You need to at least modprobe nouveau and add it to your modules list.  I see you've built it so maybe that is all that is missing.  Also, what version of mesa do you use?

My working xorg.conf:

```

Section "Device"

        Identifier "nvidia"

        Driver "nouveau"

        Option "DPMS" "on"

EndSection

```

Regards,

Alunduil

----------

## stenny

 *tgR10 wrote:*   

> it seems for me like you don't have DRM support in kernel ?
> 
> 

 

You're right!

But it's not that simple to activate kernel support for DRM:

```
Calculating dependencies  .. .. ... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) x11-base/nouveau-drm-20100316

 * nouveau-drm-20100316.tar.gz RMD160 SHA1 SHA256 size ;-) ...           [ ok ]

 * checking ebuild checksums ;-) ...                                     [ ok ]

 * checking auxfile checksums ;-) ...                                    [ ok ]

 * checking miscfile checksums ;-) ...                                   [ ok ]

 * CPV:  x11-base/nouveau-drm-20100316

 * REPO: gentoo

 * USE:  elibc_glibc kernel_linux userland_GNU x86

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found kernel object directory:

 *     /lib/modules/2.6.33-gentoo/build

 * Found sources for kernel version:

 *     2.6.33-gentoo

 * Checking for suitable kernel configuration options...

 *   CONFIG_DRM:    should not be set. But it is.

 *   CONFIG_FB_NVIDIA:    should not be set. But it is.

 *   CONFIG_FB_UVESA:    should not be set. But it is.

 * Please check to make sure these options are set correctly.

 * Failure to do so may cause unexpected problems.

 * Once you have satisfied these options, please try merging

 * this package again.

 * ERROR: x11-base/nouveau-drm-20100316 failed:

 *   Incorrect kernel configuration options

 * 

 * Call stack:

 *                     ebuild.sh, line  48:  Called pkg_setup

 *   nouveau-drm-20100316.ebuild, line  27:  Called linux-mod_pkg_setup

 *              linux-mod.eclass, line 585:  Called linux-info_pkg_setup

 *             linux-info.eclass, line 888:  Called check_extra_config

 *             linux-info.eclass, line 782:  Called die

 * The specific snippet of code:

 *         die "Incorrect kernel configuration options"

 * 

 * If you need support, post the output of 'emerge --info =x11-base/nouveau-drm-20100316',

 * the complete build log and the output of 'emerge -pqv =x11-base/nouveau-drm-20100316'.

 * The complete build log is located at '/var/tmp/portage/x11-base/nouveau-drm-20100316/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/x11-base/nouveau-drm-20100316/temp/die.env'.

 * S: '/var/tmp/portage/x11-base/nouveau-drm-20100316/work/master'

>>> Failed to emerge x11-base/nouveau-drm-20100316, Log file:

>>>  '/var/tmp/portage/x11-base/nouveau-drm-20100316/temp/build.log'
```

As you can see, `x11-base/nouveau-drm-20100316' refuses the emerge with this CONFIG_DRM set.

Just keeping the already installed nouveau drivers (incl.nouveau-drm) and enabling CONFIG_DRM in the kernel, results in modules, which are no longer loadable:

```
insmod /lib/modules/2.6.33-gentoo/nouveau-drm/drm.ko 

WARNING: Error inserting drm (/lib/modules/2.6.33-gentoo/nouveau-drm/drm.ko): Invalid argument

WARNING: Error inserting drm_kms_helper (/lib/modules/2.6.33-gentoo/nouveau-drm/drm_kms_helper.ko): Invalid argument

WARNING: Error inserting ttm (/lib/modules/2.6.33-gentoo/nouveau-drm/ttm.ko): Invalid argument

FATAL: Error inserting nouveau (/lib/modules/2.6.33-gentoo/nouveau-drm/nouveau.ko): Invalid argument
```

As a result of this behavior, X will not start:

```
[    21.788] 

X.Org X Server 1.8.0

Release Date: 2010-04-02

[    21.807] X Protocol Version 11, Revision 0

[    21.807] Build Operating System: Linux 2.6.33-gentoo i686 Gentoo

[    21.807] Current Operating System: Linux delos 2.6.33-gentoo #9 PREEMPT Sat Apr 24 19:14:40 CEST 2010 i686

[    21.807] Kernel command line: root=/dev/sda2 initrd=/initramfs.img video=uvesafb:1280x1024-32,mtrr:4,ywrap

[    21.807] Build Date: 23 April 2010  05:26:04AM

[    21.807]  

[    21.807] Current version of pixman: 0.18.0

[    21.807]    Before reporting problems, check http://wiki.x.org

   to make sure that you have the latest version.

[    21.807] Markers: (--) probed, (**) from config file, (==) default setting,

   (++) from command line, (!!) notice, (II) informational,

   (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

[    21.807] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Apr 24 21:21:49 2010

[    21.817] (==) Using config file: "/etc/X11/xorg.conf"

[    21.817] (==) Using config directory: "/etc/X11/xorg.conf.d"

[    21.842] (==) ServerLayout "Simple Layout"

[    21.842] (**) |-->Screen "Screen 1" (0)

[    21.842] (**) |   |-->Monitor "Siemens X19-3"

[    21.843] (**) |   |-->Device "NVIDIA GeForce_nouveau"

[    21.843] (**) |-->Input Device "Mouse1"

[    21.843] (**) |-->Input Device "Keyboard1"

[    21.843] (**) Option "Xinerama" "on"

[    21.843] (==) Automatically adding devices

[    21.843] (==) Automatically enabling devices

[    21.843] (**) Xinerama: enabled

[    22.077] (WW) The directory "/usr/share/fonts/TrueType/" does not exist.

[    22.078]    Entry deleted from font path.

[    22.078] (WW) The directory "/usr/share/fonts/freefont/" does not exist.

[    22.078]    Entry deleted from font path.

[    22.095] (**) FontPath set to:

   /usr/share/fonts/misc/,

   /usr/share/fonts/TTF/,

   /usr/share/fonts/Speedo/,

   /usr/share/fonts/Type1/,

   /usr/share/fonts/CID/,

   /usr/share/fonts/75dpi/,

   /usr/share/fonts/100dpi/,

   /usr/share/fonts/corefonts/,

   /usr/share/fonts/local/,

   /usr/share/fonts/misc/,

   /usr/share/fonts/75dpi/:unscaled,

   /usr/share/fonts/100dpi/:unscaled,

   /usr/share/fonts/Speedo/,

   /usr/share/fonts/Type1/,

   /usr/share/fonts/75dpi/,

   /usr/share/fonts/100dpi/,

   /usr/share/fonts/misc/,

   /usr/share/fonts/TTF/,

   /usr/share/fonts/OTF/,

   /usr/share/fonts/Type1/,

   /usr/share/fonts/100dpi/,

   /usr/share/fonts/75dpi/

[    22.095] (==) ModulePath set to "/usr/lib/xorg/modules"

[    22.095] (II) Loader magic: 0x81e8d80

[    22.095] (II) Module ABI versions:

[    22.095]    X.Org ANSI C Emulation: 0.4

[    22.095]    X.Org Video Driver: 7.0

[    22.095]    X.Org XInput driver : 9.0

[    22.095]    X.Org Server Extension : 3.0

[    22.165] (--) PCI: (0:0:12:0) 109e:036e:0070:13eb Brooktree Corporation Bt878 Video Capture rev 17, Mem @ 0xdbdfe000/4096

[    22.173] (--) PCI:*(0:1:0:0) 10de:0221:0000:0000 nVidia Corporation NV44A [GeForce 6200] rev 161, Mem @ 0xde000000/16777216, 0xc0000000/268435456, 0xdd000000/16777216, BIOS @ 0x????????/131072

[    22.173] (II) "extmod" will be loaded. This was enabled by default and also specified in the config file.

[    22.173] (II) "dbe" will be loaded. This was enabled by default and also specified in the config file.

[    22.173] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.

[    22.173] (II) "record" will be loaded by default.

[    22.173] (II) "dri" will be loaded by default.

[    22.173] (II) "dri2" will be loaded by default.

[    22.173] (II) LoadModule: "dbe"

[    22.593] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so

[    22.600] (II) Module dbe: vendor="X.Org Foundation"

[    22.600]    compiled for 1.8.0, module version = 1.0.0

[    22.600]    Module class: X.Org Server Extension

[    22.600]    ABI class: X.Org Server Extension, version 3.0

[    22.600] (II) Loading extension DOUBLE-BUFFER

[    22.600] (II) LoadModule: "extmod"

[    22.600] (II) Loading /usr/lib/xorg/modules/extensions/libextmod.so

[    22.612] (II) Module extmod: vendor="X.Org Foundation"

[    22.612]    compiled for 1.8.0, module version = 1.0.0

[    22.612]    Module class: X.Org Server Extension

[    22.612]    ABI class: X.Org Server Extension, version 3.0

[    22.613] (II) Loading extension MIT-SCREEN-SAVER

[    22.613] (II) Loading extension XFree86-VidModeExtension

[    22.613] (II) Loading extension XFree86-DGA

[    22.613] (II) Loading extension DPMS

[    22.613] (II) Loading extension XVideo

[    22.613] (II) Loading extension XVideo-MotionCompensation

[    22.613] (II) Loading extension X-Resource

[    22.613] (II) LoadModule: "glx"

[    22.613] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so

[    22.625] (II) Module glx: vendor="X.Org Foundation"

[    22.625]    compiled for 1.8.0, module version = 1.0.0

[    22.625]    ABI class: X.Org Server Extension, version 3.0

[    22.629] (==) AIGLX enabled

[    22.629] (II) Loading extension GLX

[    22.629] (II) LoadModule: "record"

[    22.629] (II) Loading /usr/lib/xorg/modules/extensions/librecord.so

[    22.636] (II) Module record: vendor="X.Org Foundation"

[    22.636]    compiled for 1.8.0, module version = 1.13.0

[    22.636]    Module class: X.Org Server Extension

[    22.636]    ABI class: X.Org Server Extension, version 3.0

[    22.636] (II) Loading extension RECORD

[    22.636] (II) LoadModule: "dri"

[    22.636] (II) Loading /usr/lib/xorg/modules/extensions/libdri.so

[    22.750] (II) Module dri: vendor="X.Org Foundation"

[    22.750]    compiled for 1.8.0, module version = 1.0.0

[    22.750]    ABI class: X.Org Server Extension, version 3.0

[    22.750] (II) Loading extension XFree86-DRI

[    22.750] (II) LoadModule: "dri2"

[    22.750] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so

[    22.771] (II) Module dri2: vendor="X.Org Foundation"

[    22.771]    compiled for 1.8.0, module version = 1.2.0

[    22.771]    ABI class: X.Org Server Extension, version 3.0

[    22.771] (II) Loading extension DRI2

[    22.771] (II) LoadModule: "nouveau"

[    22.771] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so

[    22.832] (II) Module nouveau: vendor="X.Org Foundation"

[    22.832]    compiled for 1.8.0, module version = 0.0.15

[    22.832]    Module class: X.Org Video Driver

[    22.832]    ABI class: X.Org Video Driver, version 7.0

[    22.832] (II) LoadModule: "evdev"

[    22.844] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so

[    22.854] (II) Module evdev: vendor="X.Org Foundation"

[    22.854]    compiled for 1.8.0, module version = 2.4.0

[    22.854]    Module class: X.Org XInput Driver

[    22.854]    ABI class: X.Org XInput driver, version 9.0

[    22.854] (II) NOUVEAU driver 

[    22.854] (II) NOUVEAU driver for NVIDIA chipset families :

[    22.854]    RIVA TNT    (NV04)

[    22.854]    RIVA TNT2   (NV05)

[    22.854]    GeForce 256 (NV10)

[    22.854]    GeForce 2   (NV11, NV15)

[    22.854]    GeForce 4MX (NV17, NV18)

[    22.854]    GeForce 3   (NV20)

[    22.854]    GeForce 4Ti (NV25, NV28)

[    22.854]    GeForce FX  (NV3x)

[    22.854]    GeForce 6   (NV4x)

[    22.855]    GeForce 7   (G7x)

[    22.855]    GeForce 8   (G8x)

[    22.855] (++) using VT number 7

[    22.990] (II) Primary Device is: PCI 01@00:00:0

[    22.992] drmOpenDevice: node name is /dev/dri/card0

[    22.999] [drm] failed to load kernel module "nouveau"

[    22.999] (EE) [drm] failed to open device

[    22.999] (EE) No devices detected.

[    22.999] 

Fatal server error:

[    22.999] no screens found

[    23.000] 

Please consult the The X.Org Foundation support 

    at http://wiki.x.org

 for help. 

[    23.000] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
```

For me it seems as if CONFIG_DRM must not be set when using nouveau-drm emerged externally. Yes, I am aware, that my kernel 2.6.33 already has support for nouveau and nouveau-drm. But unfortunately, the kernel implementation of the nouveau driver and nouveau-drm are incompatible with the mesa libs I have installed. Neither do I want to downgrade mesa, nor do I want to downgrade from xorg-1.8.0 and and companion packages. 

Could it happen, that the nouveau-modules interfere with VESA/UVESA framebuffer drivers in a bad manner?

Regards

    stefan

----------

## alunduil

Everything you say is correct.  You must remove drm support from your kernel and emerge nouveau-drm for the 2.6.33 sources to work IMO correctly.

Regards,

Alunduil

----------

## stenny

Yes, that reflects the state of my investigations. And I'm back, where I started with my first posting:

 The kernel is configured properly (CONFIG_DRM is NOT set)

 All packages are emerged (xf86-video-nouveau, nouveau-drm and nouveau-firmware)

 The modules load (apparently) correct

But then, the /dev/dri/cardX entry is missing and I don't know how to fix this   :Sad: 

regards

    stenny

----------

## alunduil

What version of mesa do you have installed?  I've seen this problem occur when a mismatch in libdrm, mesa, and xorg-server happens.

Regards,

Alunduil

----------

## aoeuaoue

I get the freaking DRM problem as well.

so gotta stuck with nvidia blowbs

 :Sad: ((

----------

## d2_racing

Indeed, nvidia-drivers should work out of the box.

----------

## Steffen

I have solved the "drmOpenDevice" problem as follows: unmerge nvidia-drivers and delete /lib/modules/{linux-version}/video/nvidia.ko

----------

## chithanh

Yes, if you switch from the proprietary nvidia driver to nouveau, you must ensure that eselect opengl is set to x11, and that the nvidia kernel module is not loaded.

Check "lspci -k" for signs of the proprietary driver and "dmesg" for any error messages.

----------

## stenny

Thank you!

That's the solution to my problem. Although I had unmerged nvidia-drivers and switched opengl back to x11, the stale nvidia driver stayed in the kernel module directory and interfered with the nouveau driver. Since I removed the nvidia module, nouveau is working as expected.

Thanks for all the hints and advice     :Smile: 

stenny

----------

## d2_racing

Nice Steffen, never tought that it may have some old stuff inside /lib/modules  :Razz: 

----------

## aoeuaoue

 *chithanh wrote:*   

> Yes, if you switch from the proprietary nvidia driver to nouveau, you must ensure that eselect opengl is set to x11, and that the nvidia kernel module is not loaded.

 

thanks a lot!! that did for me!! I forgot completely to switch opengl to x11, now it works outta da box both the nvidia blowbs and nouveau provided I switch eselect.

The only problem with nouveau is the loud fan for me, else I'd switch permanently.

----------

## depontius

 *stenny wrote:*   

> Thank you!
> 
> That's the solution to my problem. Although I had unmerged nvidia-drivers and switched opengl back to x11, the stale nvidia driver stayed in the kernel module directory and interfered with the nouveau driver. Since I removed the nvidia module, nouveau is working as expected.
> 
> Thanks for all the hints and advice    
> ...

 

Another tip...  If you want to switch back and forth betweek nvidia-drivers and nouveau, blacklist both (plus the nouveau kernel drm stuff) in "/etc/modprobe.d/blacklist.conf".  That way neither will get automagically loaded when the kernel starts.  However when you start X, the needed one(s) will get demand-loaded by X.  You'll probably have to manually switch OpenGL with eselect-opengl, however.

----------

