Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Kernel 3.7 and Nouveau drivers
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
radio_flyer
Guru
Guru


Joined: 04 Nov 2004
Posts: 317
Location: Northern California

PostPosted: Tue Mar 05, 2013 5:59 am    Post subject: [SOLVED] Kernel 3.7 and Nouveau drivers Reply with quote

I have an older x86 (stable) system with an Nvidia GeForce 9400 GT video card. For years I ran it with the Nvidia binary blob just fine. However, with the recent
brouhahah with the stabilization of 3.7 and Nvidia, I thought this would be a good time to switch to the open source driver. So far, though, I've had no luck getting it to work. With KMS enabled, the boot screen quickly disappears at startup and is replaced with a black screen with a rapidly flashing cursor. The Xorg.0.log file shows that X is successfully running, but neither the X screen nor switching to a VT shows anything other than the blinking cursor.

If I disable KMS (options nouveau modeset=0), the boot screen remains visible and I can access the VTs, but X refuses to run, reporting an inability to access KMS.

The appropriate lspci output:
Quote:

01:00.0 VGA compatible controller: NVIDIA Corporation G96 [GeForce 9400 GT] (rev a1) (prog-if 00 [VGA controller])
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at f8000000 (64-bit, non-prefetchable) [size=32M]
I/O ports at bf00 [size=128]
[virtual] Expansion ROM at fb000000 [disabled] [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [b4] Vendor Specific Information: Len=14 <?>
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nouveau


lsmod:
Code:

Module                  Size  Used by
nls_iso8859_1           3142  1
nls_cp437               4812  1
usb_storage            36214  1
nouveau               836514  2
vmnet                  34381  13
vmblock                 8515  0
vsock                  34874  0
vmci                   63323  1 vsock
vmmon                  59228  0
max6650                 5737  0
ipv6                  234884  62
wacom                  45859  0
snd_aloop              12697  0
snd_virmidi             2569  0
snd_seq_virmidi         3511  1 snd_virmidi
snd_seq_midi_event      5305  1 snd_seq_virmidi
snd_seq                46300  3 snd_seq_midi_event,snd_seq_virmidi
snd_hrtimer             1293  1
configfs               19977  0
fuse                   61952  1
ff_memless              4025  0
joydev                  7393  0
nfs                   114054  0
nfsd                   71803  11
exportfs                3055  1 nfsd
lockd                  55738  2 nfs,nfsd
sunrpc                162401  20 nfs,nfsd,lockd
firewire_sbp2          11002  0
dm_crypt               13021  0
dm_mod                 61040  1 dm_crypt
aes_i586                7134  0
loop                   14953  0
msr                     1842  0
cpuid                   1516  0
snd_usb_audio         104260  0
snd_usbmidi_lib        17134  1 snd_usb_audio
snd_rawmidi            17786  2 snd_usbmidi_lib,snd_seq_virmidi
snd_seq_device          5289  2 snd_seq,snd_rawmidi
snd_hda_codec_realtek    59088  1
snd_hda_intel          24013  3
snd_hda_codec          87397  2 snd_hda_codec_realtek,snd_hda_intel
mxm_wmi                 1334  1 nouveau
video                  11144  1 nouveau
drm_kms_helper         26008  1 nouveau
coretemp                4318  0
snd_hwdep               5173  2 snd_usb_audio,snd_hda_codec
hwmon                   1254  3 max6650,coretemp,nouveau
ttm                    52737  1 nouveau
snd_pcm                74801  5 snd_usb_audio,snd_aloop,snd_hda_codec,snd_hda_intel
kvm_intel             116867  0
uhci_hcd               18741  0
drm                   197573  4 ttm,drm_kms_helper,nouveau
ehci_hcd               33010  0
snd_page_alloc          6721  2 snd_pcm,snd_hda_intel
intel_agp               9109  0
usbcore               125435  6 wacom,uhci_hcd,snd_usb_audio,usb_storage,snd_usbmidi_lib,ehci_hcd
snd_timer              17307  4 snd_hrtimer,snd_pcm,snd_seq
i2c_algo_bit            4746  1 nouveau
intel_gtt              13279  1 intel_agp
snd                    55310  20 snd_virmidi,snd_hda_codec_realtek,snd_hrtimer,snd_usb_audio,snd_aloop,snd_hwdep,snd_timer,snd_pcm,snd_seq,snd_rawmidi,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_seq_virmidi,snd_seq_device
kvm                   242378  1 kvm_intel
firewire_ohci          27210  0
firewire_core          48880  2 firewire_ohci,firewire_sbp2
agpgart                25893  4 drm,ttm,intel_agp,intel_gtt
sky2                   42449  0
psmouse                46749  0
usb_common               703  1 usbcore
i2c_i801                8130  0
soundcore               5356  1 snd
microcode               6247  0
evdev                   7682  4


The output from dmesg when I modprobe the nouveau driver (logged in over SSH from another computer):
Quote:

[ 231.427794] nouveau [ DEVICE][0000:01:00.0] BOOT0 : 0x096080c1
[ 231.427797] nouveau [ DEVICE][0000:01:00.0] Chipset: G96 (NV96)
[ 231.427799] nouveau [ DEVICE][0000:01:00.0] Family : NV50
[ 231.428650] nouveau [ VBIOS][0000:01:00.0] checking PRAMIN for image...
[ 231.492123] nouveau [ VBIOS][0000:01:00.0] ... appears to be valid
[ 231.492125] nouveau [ VBIOS][0000:01:00.0] using image from PRAMIN
[ 231.492233] nouveau [ VBIOS][0000:01:00.0] BIT signature found
[ 231.492235] nouveau [ VBIOS][0000:01:00.0] version 62.94.50.00
[ 231.512426] nouveau [ MXM][0000:01:00.0] no VBIOS data, nothing to do
[ 231.512438] nouveau [ PFB][0000:01:00.0] RAM type: DDR2
[ 231.512440] nouveau [ PFB][0000:01:00.0] RAM size: 1024 MiB
[ 231.534390] [TTM] Zone kernel: Available graphics memory: 437974 kiB
[ 231.534392] [TTM] Zone highmem: Available graphics memory: 1686522 kiB
[ 231.534393] [TTM] Initializing pool allocator
[ 231.537367] nouveau [ DRM] VRAM: 1024 MiB
[ 231.537371] nouveau [ DRM] GART: 512 MiB
[ 231.537374] nouveau [ DRM] BIT BIOS found
[ 231.537378] nouveau [ DRM] Bios version 62.94.50.00
[ 231.537381] nouveau [ DRM] TMDS table version 2.0
[ 231.537384] nouveau [ DRM] DCB version 4.0
[ 231.537386] nouveau [ DRM] DCB outp 00: 02000300 00000028
[ 231.537391] nouveau [ DRM] DCB outp 01: 01000302 00020030
[ 231.537397] nouveau [ DRM] DCB outp 02: 04011310 00000028
[ 231.537401] nouveau [ DRM] DCB outp 03: 010323f1 00c0c088
[ 231.537404] nouveau [ DRM] DCB conn 00: 00001030
[ 231.537407] nouveau [ DRM] DCB conn 01: 00002100
[ 231.537409] nouveau [ DRM] DCB conn 02: 00000210
[ 231.537411] nouveau [ DRM] DCB conn 03: 00000211
[ 231.537413] nouveau [ DRM] DCB conn 04: 00000213
[ 231.540492] nouveau W[ DRM] DCB encoder 1 unknown
[ 231.540496] nouveau W[ DRM] TV-1 has no encoders, removing
[ 231.540720] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 231.540721] [drm] No driver support for vblank timestamp query.
[ 231.561149] nouveau [ DRM] 1 available performance level(s)
[ 231.561152] nouveau [ DRM] 3: core 550MHz shader 1400MHz memory 400MHz fanspeed 100%
[ 231.561154] nouveau [ DRM] c: core 300MHz shader 800MHz memory 199MHz fanspeed 40%
[ 231.814891] nouveau [ DRM] MM: using CRYPT for buffer copies
[ 231.907090] nouveau E[ PFB][0000:01:00.0] trapped write at 0x01010929d0 on channel 0x0003fee0 BAR/PFIFO_WRITE/IN reason: PAGE_NOT_PRESENT
[ 231.917996] nouveau [ DRM] allocated 1920x1200 fb: 0x70000, bo f51abc00
[ 231.918063] fbcon: nouveaufb (fb1) is primary device
[ 231.918065] fbcon: Remapping primary device, fb1, to tty 1-63
[ 232.408253] fb1: nouveaufb frame buffer device
[ 232.408254] drm: registered panic notifier
[ 232.408258] [drm] Initialized nouveau 1.1.0 20120801 for 0000:01:00.0 on minor 0
[ 285.321039] nouveau E[ PFB][0000:01:00.0] trapped read at 0x01010cc0a0 on channel 0x0003fee0 BAR/PFIFO_READ/IN reason: PAGE_NOT_PRESENT
[ 285.322052] nouveau E[ PFB][0000:01:00.0] trapped read at 0x0101499ea0 on channel 0x0003fee0 BAR/PFIFO_READ/IN reason: PAGE_NOT_PRESENT
[ 285.336020] nouveau E[ PFB][0000:01:00.0] trapped read at 0x0100503220 on channel 0x0003fee0 BAR/PFIFO_READ/IN reason: PAGE_NOT_PRESENT
[ 286.411041] nouveau E[ PFB][0000:01:00.0] trapped read at 0x0100a32a20 on channel 0x0003fee0 BAR/PFIFO_READ/IN reason: PAGE_NOT_PRESENT
[ 286.416038] nouveau E[ PFB][0000:01:00.0] trapped read at 0x0101d45720 on channel 0x0003fee0 BAR/PFIFO_READ/IN reason: PAGE_NOT_PRESENT


As soon as I modprobe the driver, the console VT disappears on the (DVI-connected) monitor and is replaced with the blinking cursor screen of doom.

Google-searching the PAGE_NOT_PRESENT error isn't coming up with much pertinent info, and I'm not sure if this is the cause of the blank screen or an artifact that can be safely ignored.

I've run down the troubleshooting steps here (fbcon built into the kernel, nvidia.ko blacklisted, etc.) and still no joy.

I don't game on this system, so just basic 3D compositing performance is all I'm looking for. However, it appears to me that this Nvidia open-source driver is still a long way from being usable. Is anyone else having success running the open source Nvidia drivers? Or some idea why the driver appears to run but produces no useful video output? Thanks.


Last edited by radio_flyer on Wed Mar 06, 2013 4:51 am; edited 1 time in total
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Tue Mar 05, 2013 9:33 am    Post subject: Reply with quote

Yes, the nouveau drivers are still a long way from being usable. It seems that a few particular cards which the developers possess work reasonably well, but with all other cards you are practically lost. Here is my history of experience with these drivers with two different cards, starting from the moment when they were declared as "fully supported (except for some 3D stuff)":
  • Immediate crash at booting unless KMS is disabled. (Disabling KMS is practically the same as omittng to use the drivers).
  • Several months later: Boots without crash, but screen turns black and stays black.
  • About one year later: Boots successfully, switches resolution. Crash happens in the moment when you try to start X.
  • About one year later: X starts but shows only a rubbish content.
  • Several months later: X starts and crashes as soon as something should be shown.
  • About 1-2 years later: X starts and seems to work, but system hangs randomly when you do such daring things like opening a window or writing a line into a terminal. On my other card, the hangs do not occur, but any attempts to use opengl lead to a crash; things like dpms do not work (deactivates the screen for 10 second, then screen is back, no matter what I do).
(If you are not using the newest kernel and xorg, you are probably a bit back in this list for a few months or years; moreover, I suspect that not all cards have even reached this state as my relatively ancient and primitive cards...)
Given this speed of development, I estimate that it needs still at least several years until I can use the drivers on my two cards at least in 2D without anything else.
Back to top
View user's profile Send private message
radio_flyer
Guru
Guru


Joined: 04 Nov 2004
Posts: 317
Location: Northern California

PostPosted: Tue Mar 05, 2013 4:38 pm    Post subject: Reply with quote

Thanks mv. That's the sort of feedback I was looking for, and matches what I'm seeing fairly well :( My other (newer, amd64) system uses an ATI card and I've been using the open-source radeon drivers for a year now with great success, 2D and 3D. I was expecting a similar sort of experience from the nouveau drivers when I read 'fully supported' on various websites. Truth be told, the nouveau driver reminds me of the open-source radeon drivers of 3-4 years ago--barely usable.

Looks like I'll be patching nvidia-drivers or masking kernel 3.7/3.8 for a while.
Back to top
View user's profile Send private message
Apheus
Guru
Guru


Joined: 12 Jul 2008
Posts: 422

PostPosted: Tue Mar 05, 2013 7:15 pm    Post subject: Reply with quote

Did you do

Code:
# eselect opengl set xorg-x11


Also, move /etc/X11/xorg.conf out of the way.
Back to top
View user's profile Send private message
radio_flyer
Guru
Guru


Joined: 04 Nov 2004
Posts: 317
Location: Northern California

PostPosted: Tue Mar 05, 2013 7:45 pm    Post subject: Reply with quote

Apheus wrote:
Did you do

Code:
# eselect opengl set xorg-x11


Also, move /etc/X11/xorg.conf out of the way.


Yes.

Part of the problem, however, is that if I enable KMS the video disappears once the nouveau driver is loaded, before it even gets to X. The X server then starts up and runs without error (I can SSH into the system, and top shows that X is running and Xorg.0.log looks fine) but there is nothing but a blank screen with a blinking cursor. The whole shebang seems to go wrong before X even gets started.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21490

PostPosted: Wed Mar 06, 2013 2:11 am    Post subject: Reply with quote

Perhaps I happen to have only cards that the Nouveau developers possess, but I have never had a problem with the Nouveau KMS support. Its predecessor, the nv driver, was rather unpleasant, but Nouveau has been quite reliable for me.

radio_flyer wrote:
Part of the problem, however, is that if I enable KMS the video disappears once the nouveau driver is loaded, before it even gets to X.
A blank screen like this can indicate that you failed to include the framebuffer driver.
Back to top
View user's profile Send private message
radio_flyer
Guru
Guru


Joined: 04 Nov 2004
Posts: 317
Location: Northern California

PostPosted: Wed Mar 06, 2013 4:49 am    Post subject: Reply with quote

I originally followed the steps in the Gentoo Nouveau Wiki that says no frame buffer driver should be compiled into the kernel. However, I then found the nouveau troubleshooting guide (noted in the original post) that mentioned CONFIG_FRAMEBUFFER_CONSOLE should be enabled. I did confirm that was the case. The output of the dmesg log I posted originally seems to indicate that nouveau has its own frame buffer (nouveaufb) and that it started correctly.

For now I'm going to mark this thread 'solved' as I went back to the binary nvidia blob and kernel 3.5.7, which is working fine. Various postings on slashdot and the like indicate that nouveau support is much further along in kernel 3.8 and later, so I'll wait until that kernel hits stable before giving the nouveau driver another go.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Wed Mar 06, 2013 6:45 pm    Post subject: Reply with quote

Hu wrote:
Its predecessor, the nv driver, was rather unpleasant, but Nouveau has been quite reliable for me.

For my cards, the nv driver worked well. No 3D-support, of course, but not hangs.
Back to top
View user's profile Send private message
newfuntek
n00b
n00b


Joined: 28 Jun 2006
Posts: 30
Location: Poland

PostPosted: Thu Jun 06, 2013 12:33 pm    Post subject: Reply with quote

nouveau-9999 with 3D and noaccel=false is now stable for me without vdpau, vaapi use flags and lib stuff.
I have compiled nouveau-drm in kernel 3.9.4 with all possible framebuffers.
I had to add "-vdpau -vaapi" to USE and reemerge:
emerge adobe-flash mesa avidemux mplayer2 virtual/ffmpeg media-video/ffmpeg
media-libs/avidemux-core adobe-flash avidemux-plugins --keep-going
emerge libdrm xorg-server;
#put all xf86* into xf86.txt
emerge `cat xf86.txt` --keep-going;
_________________
gcc 8.1.0 lto graphite, rpi3 gcc 7.3.0
Tools for easy installation of Gentoo Linux (comments in Polish)
https://github.com/pwasiewi/gentools
Back to top
View user's profile Send private message
TomWij
Retired Dev
Retired Dev


Joined: 04 Jul 2012
Posts: 1553

PostPosted: Thu Jun 06, 2013 3:06 pm    Post subject: Reply with quote

newfuntek wrote:
nouveau-9999 with 3D and noaccel=false is now stable for me without vdpau, vaapi use flags and lib stuff.
I have compiled nouveau-drm in kernel 3.9.4 with all possible framebuffers.
I had to add "-vdpau -vaapi" to USE and reemerge:
emerge adobe-flash mesa avidemux mplayer2 virtual/ffmpeg media-video/ffmpeg
media-libs/avidemux-core adobe-flash avidemux-plugins --keep-going
emerge libdrm xorg-server;
#put all xf86* into xf86.txt
emerge `cat xf86.txt` --keep-going;


For the xf86 suggestion it sounds like you would want to do `emerge @x11-module-rebuild` instead, this automatically figures out which modules to rebuild. Please note that nouveau-9999 will not stay stable (it's live) so if you wish to retain what you have you will probably want to snapshot its contents such that you can reproduce it, or figure out which upcoming version will be close to what you have now such tha tyou can use that version instead. On a side note, if you just merge avidemux it will pull in avidemux-core and avidemux-plugins for you. Have a nice day!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum