Summary: | [nouveau] GeForce 8200 and 8300 not supported (10de:0848/0849/C77/MCP77/MCP78S) | ||
---|---|---|---|
Product: | xorg | Reporter: | Sebastian Brandt <sbrandt> |
Component: | Driver/nouveau | Assignee: | Nouveau Project <nouveau> |
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> |
Severity: | normal | ||
Priority: | medium | CC: | d13f00l, haiku235, nightmorph, skeggsb, vedran |
Version: | 7.4 (2008.09) | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Description
Sebastian Brandt
2008-10-29 00:32:03 UTC
Created attachment 19925 [details]
Xorg.log
Xorg.log ... started X, screen switched and went blank.
Nothing else happened, switching back to console did not work.
Only SysRQ worked (see next attachment)
Created attachment 19926 [details]
messages from load drm/nouveau.ko till reboot
Excerpt of /var/log/messages:
- loading the current git drm.ko and nouveau.ko
- starting X
- SysRQ: show Tasks, shoW blocking tasks
(no usable information, there, I belive)
- SysRQ: unRaw (did not help)
- SysRQ: S-U-S-B
Initialized drm 1.1.0 20060810
Initialized nouveau 0.0.11 libdrm-2.4.0-12-ge47ab7a5081e178ba on minor 0
By the way ...
System is opensuse 11.0/x86_64/2.6.25.18-0.2-default
Phenom X4 9750 2.4GHz 4GB
ASUS M3N-H/HDMI w/ GeForce 8300 chipset (of course ;-), 256 MB shared mem
Any change with latest git? Sorry, but current git crashes ... short version below, more info in the attachments. Took some time to get that far, I still had too many versions of glx, drm, nouveau, etc. lying around ... [...] (II) NOUVEAU(0): RandR 1.2 enabled, ignore the following RandR disabled message. (II) NOUVEAU(0): nv50_crtc_gamma_set is called for CRTC0. (II) NOUVEAU(0): NV50CrtcGammaSet is called for CRTC0. Backtrace: 0: X(xf86SigHandler+0x65) [0x47e715] 1: /lib64/libc.so.6 [0x7fe7331666e0] 2: /usr/lib64/xorg/modules//drivers/nouveau_drv.so [0x7fe7302f02a7] 3: X [0x4acdf2] 4: /usr/lib64/xorg/modules//drivers/nouveau_drv.so [0x7fe7302d0613] 5: X [0x485ef2] 6: X [0x486028] 7: X(xf86HandleColormaps+0x281) [0x487021] 8: /usr/lib64/xorg/modules//drivers/nouveau_drv.so [0x7fe7302d00cb] 9: X(AddScreen+0x1c9) [0x4319a9] 10: X(InitOutput+0x241) [0x466f71] 11: X(main+0x286) [0x432146] 12: /lib64/libc.so.6(__libc_start_main+0xe6) [0x7fe733152586] 13: X [0x4316f9] Fatal server error: Caught signal 11. Server aborting (II) NOUVEAU(0): NVLeaveVT is called. (II) NOUVEAU(0): NV50DispShutdown is called. [...] Created attachment 23484 [details]
Xorg log with nouveau git
ends with segfault.
Interestingly, the drm and nouveau kernel modules are *not* loaded.
They are not loaded automatically, and loading them manually does not change anything.
It seems the driver crashes before needing the kernel modules ...
Created attachment 23485 [details]
dmesg of system.
drm and nouveau.ko were loaded after X crashed
Please turn "NoAccel" off, retry, and file a seperate bug about "NoAccel" not working. Also some driver symbols would be handy usually, although in this case it's fairly obvious where it's coming from (one of the gamma/lut functions). You are too fast ... still working on gdb ;-) Program received signal SIGSEGV, Segmentation fault. 0x00007f5277cdd2a7 in NV50CrtcGammaSet (crtc=0x8020f0, red=0x80efd0, green=0x80f1d0, blue=0x80f3d0, size=<value optimized out>) at nv50_crtc.c:504 504 memcpy(crtc->lut->map, crtc->lut_values, 4*256*sizeof(uint16_t)) ; (gdb) p crtc $1 = (nouveauCrtcPtr) 0x8020f0 (gdb) p *crtc $2 = {scrn = 0x7ffa20, name = 0x0, index = 0 '\0', active = 1, front_buffer = 0x809600, fb_pitch = 5632, x = 0, y = 0, lut = 0x809810, lut_values = {{red = 0, green = 0, blue = 0, unused = 0}, {red = 64, green = 64, blue = 64, unused = 0}, {red = 128, green = 128, blue = 128, unused = 0}, {red = 192, green = 192, blue = 192, unused = 0}, {red = 256, green = 256, blue = 256, unused = 0}, { [...] SetCursorPosition = 0x7f5277cdd420 <NV50CrtcSetCursorPosition>, LoadCursor = 0x7f5277cdd3a0 <NV50CrtcLoadCursor>, GammaSet = 0x7f5277cdd1e0 <NV50CrtcGammaSet>, Save = 0, Load = 0} (gdb) (gdb) (gdb) where #0 0x00007f5277cdd2a7 in NV50CrtcGammaSet (crtc=0x8020f0, red=0x80efd0, green=0x80f1d0, blue=0x80f3d0, size=<value optimized out>) at nv50_crtc.c:504 #1 0x00000000004acdf2 in ?? () #2 0x00007f5277cbd613 in NVLoadPalette (pScrn=0x7ffa20, numColors=256, indices=0x81a920, colors=0x81ad30, pVisual=0x0) at nv_driver.c:1924 #3 0x0000000000485ef2 in ?? () #4 0x0000000000486028 in ?? () #5 0x0000000000487021 in xf86HandleColormaps () #6 0x00007f5277cbd0cb in NVScreenInit (scrnIndex=0, pScreen=0x809200, argc=<value optimized out>, argv=<value optimized out>) at nv_driver.c:2253 #7 0x00000000004319a9 in AddScreen () #8 0x0000000000466f71 in InitOutput () #9 0x0000000000432146 in main () (gdb) l 499 /* This is pre-init, we don't have access to the lut bo now. */ 500 if (!crtc->lut) 501 return; 502 503 nouveau_bo_map(crtc->lut, NOUVEAU_BO_WR); 504 memcpy(crtc->lut->map, crtc->lut_values, 4*256*sizeof(uint16_t)) ; 505 nouveau_bo_unmap(crtc->lut); 506 } 507 508 void (gdb) p crtc->lut $3 = (struct nouveau_bo *) 0x809810 (gdb) p *crtc->lut $4 = {device = 0x7f5277ef7db0, handle = 0, size = 4096, map = 0x7f527dc12000, tiled = 0, flags = 33, offset = 267517952} (gdb) p *(crtc->lut) $5 = {device = 0x7f5277ef7db0, handle = 0, size = 4096, map = 0x7f527dc12000, tiled = 0, flags = 33, offset = 267517952} (gdb) p *(crtc->lut->map) Attempt to dereference a generic pointer. (gdb) p crtc->lut->map $6 = (void *) 0x7f527dc12000 (gdb) p crtc->lut_values $7 = {{red = 0, green = 0, blue = 0, unused = 0}, {red = 64, green = 64, blue = 64, unused = 0}, {red = 128, green = 128, blue = 128, unused = 0}, {red = 192, green = 192, blue = 192, unused = 0}, {red = 256, green = 256, blue = 256, unused = 0}, {red = 320, green = 320, blue = 320, [...] (gdb) p crtc->lut->map $8 = (void *) 0x7f527dc12000 (gdb) p crtc->lut $9 = (struct nouveau_bo *) 0x809810 (gdb) quit The program is running. Quit anyway (and kill it)? (y or n) y Created attachment 23486 [details]
Xorg.log with accel and drm/nouveau
Another try - this time, with accelaration and correct libglx.
No crash. X starts, but screen stays blank. No reaction to keyboard except SysRQ.
[...]
(II) Mouse[1]: ps2EnableDataReporting: succeeded
Could not init font path element /usr/share/fonts/TTF/, removing from list!
Could not init font path element /usr/share/fonts/OTF, removing from list!
SysRQ StackTrace, show blocked
kill -9 on X via ssh
SysRQ unraw
Keyboard reacts, screen still blank.
Created attachment 23487 [details]
dmesg - removed most of the Stack Trace
[drm] Initialized drm 1.1.0 20060810
ACPI: PCI Interrupt Link [AIGP] enabled at IRQ 20
nouveau 0000:02:00.0: PCI INT A -> Link[AIGP] -> GSI 20 (level, low) -> IRQ 20
nouveau 0000:02:00.0: setting latency timer to 64
[drm] Detected an NV50 generation card (0x0aa400a2)
[drm] Initialized nouveau 0.0.12 libdrm-2.4.5-22-ga6dd0afa87558a670 on minor 0
mtrr: base(0xd8000000) is not aligned on a size(0x10000000) boundary
[drm] Allocating FIFO number 1
[drm] nouveau_fifo_alloc: initialised FIFO 1
[drm] Unhandled PFIFO_INTR - 0x00000010
[drm] Allocating FIFO number 2
[drm] nouveau_fifo_alloc: initialised FIFO 2
## now, X seems to be hanging ...
SysRq : Show State
[...]
X R running task 0 4023 3994
ffff8800c5d9ff70 ffffffff8049b0a9 0000000000000296 ffff8800c5d9ff00
ffffffff80a27000 ffffffff80a31600 ffffffff80a2e3f0 ffffffff80a31600
ffffffff80a27000 ffffffff80a31600 ffffffff80a31600 ffffffff80a31600
Call Trace:
[<ffffffff8020c5a7>] retint_careful+0xd/0x21
[<00007f0ab955b478>] 0x7f0ab955b478
[...]
## killall -9 X
[drm] nouveau_fifo_free: freeing fifo 2
[drm:nouveau_fifo_free] *ERROR* Failed to idle channel 2 before destroy.Prepare for strangeness..
[drm] nouveau_fifo_free: freeing fifo 1
Created attachment 23488 [details]
complete dmesg as gz
Is there any chance to get this working if NVIDIA *doesn't* add support for these chips into nv? There is always a chance, in practice it will involve someone with sufficient motivation, some experience and access to 8200/8300/9400(onboard version)/G200 hardware. The whole NVA0 series is still problematic. Can you follow the instructions at http://nouveau.freedesktop.org/wiki/InstallDRM to install the latest DRM (though, make sure you build the "master" branch and not "newttm-devel" as instructed there). When you load the nouveau module, ensure you enable KMS by "modprobe nouveau modeset=1". There's some changes recently which may help with this chipset. If you have any troubles, please stop by #nouveau on freenode! Created attachment 27287 [details]
ROM dump of GeForce 8300 mGPU
sudo ./vbtracetool -w 2> GF8300.rom
Using card 10de:0848 on 0200
Nvidia card -- using PROM/PRAMIN BIOS
Using card memory region at 0xfb000000
Attempting to locate BIOS image in PROM... BIOS signature not found
Attempting to locate BIOS image in PRAMIN... appears to be valid
I was unable to attach the mmiotrace (3.8>1MB) - you can find it on http://dbis.rwth-aachen.de/~brandt/nouveau/10de-0848-GeForce8300-mmiotrace.tar.gz mmiotrace for GeForce 8300. Created on kernel 2.6.27.23-0.1 x64 SMP (opensuse 11.1 default, but recompiled with active MMIOTRACE), single cpu only. contains mmiotrace itself, dmesg, lspci, commands to create it, and output of X11. trace_entries had to be raised to 520000. Strangely, only one trace run could be done per system boot ... any subsequent trace runs resulted in the "cat" process exiting ($?=0) after nvidia.ko load. Created attachment 27380 [details]
dmesg from failed nouveau/modeset attempt
Got the current version of the nouveau kernel, compiled and installed it.
opensuse 11.1 has a .27 kernel, so, no way of adding the KMS drm stuff there.
used 2.6.31-rc1-0.1 nouveau x64
compiled and installed git drm and nouveau driver.
When booting with vesa fb, loading the nouveau modules with modeset=1 resulted in a hung console.
When booting w/o framebuffer, loading the nouveau modules with modeset=1 resulted in a modeswitch, and the TFT going into powersave mode (HDMI->DVI->TFT)
Starting X11 did not work, neither with modeset=1 nor =0.
[I need to repeat the Xorg test with non-nvidia glx driver.]
excerpt from dmesg:
[drm] Initialized drm 1.1.0 20060810
ACPI: PCI Interrupt Link [AIGP] enabled at IRQ 20
nouveau 0000:02:00.0: PCI INT A -> Link[AIGP] -> GSI 20 (level, low) -> IRQ 20
nouveau 0000:02:00.0: setting latency timer to 64
nouveau 0000:02:00.0: Detected an NV50 generation card (0x0aa400a2)
[TTM] TTM available graphics memory: 1539 MiB
[TTM] TTM available object memory: 1539 MiB
nouveau 0000:02:00.0: Allocating FIFO number 1
nouveau 0000:02:00.0: nouveau_fifo_alloc: initialised FIFO 1
nouveau 0000:02:00.0: Attempting to load BIOS image from PRAMIN
nouveau 0000:02:00.0: ... appears to be valid
nouveau 0000:02:00.0: BIT BIOS found
nouveau 0000:02:00.0: Bios version 62.77.1e.00
nouveau 0000:02:00.0: TMDS table revision 2.0 not currently supported
nouveau 0000:02:00.0: Found Display Configuration Block version 4.0
nouveau 0000:02:00.0: Raw DCB entry 0: 01000300 0000001e
nouveau 0000:02:00.0: Raw DCB entry 1: 01011332 00020010
nouveau 0000:02:00.0: Raw DCB entry 2: 0000000e 00000000
nouveau 0000:02:00.0: Parsing VBIOS init table 0 at offset 0xC672
nouveau 0000:02:00.0: ========== unknown reg 0x002FF0A8 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x002FF0A8 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021220 ==========
nouveau 0000:02:00.0: Could not find a compatible set of PLL values
nouveau 0000:02:00.0: Parsing VBIOS init table 1 at offset 0xC956
nouveau 0000:02:00.0: Parsing VBIOS init table 2 at offset 0xC958
nouveau 0000:02:00.0: Parsing VBIOS init table 3 at offset 0xCA3D
nouveau 0000:02:00.0: ========== unknown reg 0x00020010 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x0002000C ==========
nouveau 0000:02:00.0: ========== unknown reg 0x0002000C ==========
nouveau 0000:02:00.0: Parsing VBIOS init table 4 at offset 0xCB02
nouveau 0000:02:00.0: Detected a DAC output
nouveau 0000:02:00.0: Detected a TMDS output
nouveau 0000:02:00.0: Detected a VGA connector
nouveau-0000:02:00.0-VGA-1: Test OK
nouveau 0000:02:00.0: Detected a DVI-D connector
nouveau-0000:02:00.0-DVI-D-1: Test OK
allocated 1400x1050 fb: 0x40220000, bo ffff8800c10cbe00
Console: switching to colour frame buffer device 175x65
[drm] TMDS-8: set mode 1400x1050 1f
nouveau 0000:02:00.0: 0xB5A0: parsing output script 1
nouveau 0000:02:00.0: 0xB5A1: parsing output script 2
nouveau 0000:02:00.0: 0xB375: parsing clock script 0
nouveau 0000:02:00.0: 0xB38F: Init table command not found: 0x96
nouveau 0000:02:00.0: 0xACAA: parsing clock script 1
nouveau 0000:02:00.0: GPU lockup - switching to software fbcon
fb0: nouveaufb frame buffer device
registered panic notifier
[drm] Initialized nouveau 0.0.14 20090420 for 0000:02:00.0 on minor 0
** Information lost here, as next line repeated >30k times **
nouveau 0000:02:00.0: Unhandled PFIFO_INTR - 0x00000010
Created attachment 27381 [details]
dmesg and xorg.log with nouveau/modeset
- modprobe nouveau modeset=1
- X -logverbose 9 -config xorg-nouveau.conf
with xorg glx.
end of xorg-log:
(EE) NOUVEAU(0): Failed to allocate framebuffer memory
Fatal server error:
AddScreen/ScreenInit failed for driver 0
dmesg repeats forever:
nouveau 0000:02:00.0: Unhandled PFIFO_INTR - 0x00000010
I implemented the missing handler for opcode 0x96 in a script we run to setup your outputs, hopefully you'll have more luck getting a display up and running if you update your drm. If not, can you please repost your kernel log with nouveau.modeset=1 and drm.debug=1. Once we have a display up and running for the console we'll worry about getting X up :) Created attachment 27476 [details]
dmesg of sucessful modeset
GREAT - modeset works!
Log messages:
[drm] Initialized drm 1.1.0 20060810
ACPI: PCI Interrupt Link [AIGP] enabled at IRQ 20
nouveau 0000:02:00.0: PCI INT A -> Link[AIGP] -> GSI 20 (level, low) -> IRQ 20
nouveau 0000:02:00.0: setting latency timer to 64
nouveau 0000:02:00.0: Detected an NV50 generation card (0x0aa400a2)
[TTM] TTM available graphics memory: 1539 MiB
[TTM] TTM available object memory: 1539 MiB
nouveau 0000:02:00.0: Allocating FIFO number 1
nouveau 0000:02:00.0: nouveau_fifo_alloc: initialised FIFO 1
nouveau 0000:02:00.0: Attempting to load BIOS image from PRAMIN
nouveau 0000:02:00.0: ... appears to be valid
nouveau 0000:02:00.0: BIT BIOS found
nouveau 0000:02:00.0: Bios version 62.77.1e.00
nouveau 0000:02:00.0: TMDS table revision 2.0 not currently supported
nouveau 0000:02:00.0: Found Display Configuration Block version 4.0
nouveau 0000:02:00.0: Raw DCB entry 0: 01000300 0000001e
nouveau 0000:02:00.0: Raw DCB entry 1: 01011332 00020010
nouveau 0000:02:00.0: Raw DCB entry 2: 0000000e 00000000
nouveau 0000:02:00.0: Parsing VBIOS init table 0 at offset 0xC672
nouveau 0000:02:00.0: ========== unknown reg 0x002FF0A8 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x002FF0A8 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021220 ==========
nouveau 0000:02:00.0: Could not find a compatible set of PLL values
nouveau 0000:02:00.0: Parsing VBIOS init table 1 at offset 0xC956
nouveau 0000:02:00.0: Parsing VBIOS init table 2 at offset 0xC958
nouveau 0000:02:00.0: Parsing VBIOS init table 3 at offset 0xCA3D
nouveau 0000:02:00.0: ========== unknown reg 0x00020010 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x0002000C ==========
nouveau 0000:02:00.0: ========== unknown reg 0x0002000C ==========
nouveau 0000:02:00.0: Parsing VBIOS init table 4 at offset 0xCB02
nouveau 0000:02:00.0: Detected a DAC output
nouveau 0000:02:00.0: Detected a TMDS output
nouveau 0000:02:00.0: Detected a VGA connector
nouveau-0000:02:00.0-VGA-1: Test OK
nouveau 0000:02:00.0: Detected a DVI-D connector
nouveau-0000:02:00.0-DVI-D-1: Test OK
allocated 1400x1050 fb: 0x40220000, bo ffff880037c77000
Console: switching to colour frame buffer device 175x65
[drm] TMDS-8: set mode 1400x1050 1f
nouveau 0000:02:00.0: 0xB5A0: parsing output script 1
nouveau 0000:02:00.0: 0xB5A1: parsing output script 2
nouveau 0000:02:00.0: 0xB375: parsing clock script 0
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: ========== unknown reg 0x00021028 ==========
nouveau 0000:02:00.0: 0xACAA: parsing clock script 1
nouveau 0000:02:00.0: GPU lockup - switching to software fbcon
fb0: nouveaufb frame buffer device
registered panic notifier
[drm] Initialized nouveau 0.0.14 20090420 for 0000:02:00.0 on minor 0
Xorg still fails ;-)
dmesg:
nouveau 0000:02:00.0: Unhandled PFIFO_INTR - 0x00000010
* repeatet an awful lot of times *
nouveau 0000:02:00.0: Unhandled PFIFO_INTR - 0x00000010
[TTM]Failed moving buffer. Proposed placement 0x00070004
[TTM]Out of aperture space or DRM memory quota.
Xorg-log:
(EE) NOUVEAU(0): Failed to allocate framebuffer memory
*** Bug 18092 has been marked as a duplicate of this bug. *** *** Bug 17526 has been marked as a duplicate of this bug. *** *** Bug 20962 has been marked as a duplicate of this bug. *** Can we do any more testing to help developers resolve this? I think bug 17526 and bug 18092 are not duplicates of this bug. They are filed against the xf86-video-nv driver and not nouveau. Oops, my bad. Fixing that. I have a motherboard with a built-in 8200 chip, MCP78S. What output do you need for this bug, so's it can be properly supported in Nouveau? Right now even the binary nVidia driver doesn't work with it. Terrible performance; can't even move the mouse around. I'd love to help this bug out and get my chip supported. Can someone actually confirm it doesn't work with the current version (with KMS enabled)? Created attachment 32668 [details]
Xorg.0.log, nvidia 8200m g
Created attachment 32669 [details]
nvidia 8200m g bios dump
I confirm that it doesn't work well on GeForce 8200M, even if kms is not enabled. If kms enabled it sets native screen resolution, xorg runs, but very slowly and 2d acceleration doesn't work. 02:00.0 VGA compatible controller: nVidia Corporation C77 [GeForce 8200M G] (rev a2) Here is the dmesg with modeset=1: [drm] Initialized drm 1.1.0 20060810 ACPI: PCI Interrupt Link [LGPU] enabled at IRQ 21 nouveau 0000:02:00.0: PCI INT A -> Link[LGPU] -> GSI 21 (level, low) -> IRQ 21 nouveau 0000:02:00.0: setting latency timer to 64 [drm] nouveau 0000:02:00.0: failed to evaluate _DSM: 5 [drm] nouveau 0000:02:00.0: Detected an NV50 generation card (0x0aa280a2) [drm] nouveau 0000:02:00.0: Attempting to load BIOS image from PRAMIN [drm] nouveau 0000:02:00.0: ... appears to be valid [drm] nouveau 0000:02:00.0: BIT BIOS found [drm] nouveau 0000:02:00.0: Bios version 62.77.2f.00 [drm] nouveau 0000:02:00.0: TMDS table revision 2.0 not currently supported [drm] nouveau 0000:02:00.0: Found Display Configuration Block version 4.0 [drm] nouveau 0000:02:00.0: DCB connector table: VHER 0x40 5 16 4 [drm] nouveau 0000:02:00.0: 0: 0x00000040: type 0x40 idx 0 tag 0xff [drm] nouveau 0000:02:00.0: 1: 0x00000100: type 0x00 idx 1 tag 0xff [drm] nouveau 0000:02:00.0: 2: 0x00001261: type 0x61 idx 2 tag 0x07 [drm] nouveau 0000:02:00.0: Raw DCB entry 0: 01000323 00010034 [drm] nouveau 0000:02:00.0: Raw DCB entry 1: 02011300 0000001e [drm] nouveau 0000:02:00.0: Raw DCB entry 2: 02022332 00020010 [drm] nouveau 0000:02:00.0: Raw DCB entry 3: 0000000e 00000000 [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 0 at offset 0xD5C5 [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 1 at offset 0xD824 [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 2 at offset 0xD826 [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 3 at offset 0xD90B [drm] nouveau 0000:02:00.0: Parsing VBIOS init table 4 at offset 0xDA5A [drm] nouveau 0000:02:00.0: Parsing VBIOS init table at offset 0xDABF [drm] nouveau 0000:02:00.0: 0xDABF: Condition still not met after 20ms, skipping following opcodes [drm] nouveau 0000:02:00.0: 0xC1D2: parsing output script 0 [drm] nouveau 0000:02:00.0: 0xC38E: parsing output script 0 [TTM] Zone kernel: Available graphics memory: 898512 kiB. [drm] nouveau 0000:02:00.0: 256 MiB VRAM [drm] nouveau 0000:02:00.0: 512 MiB GART (aperture) nouveau 0000:02:00.0: firmware: requesting nouveau/nvaa.ctxprog nouveau 0000:02:00.0: firmware: requesting nouveau/nvaa.ctxvals [drm] nouveau 0000:02:00.0: Allocating FIFO number 1 [drm] nouveau 0000:02:00.0: nouveau_channel_alloc: initialised FIFO 1 [drm] nouveau 0000:02:00.0: Detected a LVDS output [drm] nouveau 0000:02:00.0: Detected a DAC output [drm] nouveau 0000:02:00.0: Detected a TMDS output [drm] nouveau 0000:02:00.0: Detected a LVDS connector [drm] nouveau 0000:02:00.0: Detected a VGA connector [drm] nouveau 0000:02:00.0: Detected a DVI-D connector [drm] nouveau 0000:02:00.0: allocated 1366x768 fb: 0x40210000, bo ffff880068c85e00 Console: switching to colour frame buffer device 170x48 fb0: nouveaufb frame buffer device registered panic notifier [drm] Initialized nouveau 0.0.15 20090420 for 0000:02:00.0 on minor 0 [drm] nouveau 0000:02:00.0: Allocating FIFO number 2 [drm] nouveau 0000:02:00.0: nouveau_channel_alloc: initialised FIFO 2 [drm] nouveau 0000:02:00.0: nouveau_channel_free: freeing fifo 2 [drm] LVDS-7: set mode 1366x768 1a [drm] nouveau 0000:02:00.0: 0xC1D6: parsing output script 1 [drm] nouveau 0000:02:00.0: 0xC045: parsing clock script 0 [drm] nouveau 0000:02:00.0: 0xC1CD: parsing clock script 1 When kms is not enabled, xorg just hangs computer and sysrq keys doesn't work, so i can't attach log. nouveau-drm version in my distro is 0.0.15_20091220. (In reply to comment #28) > Can someone actually confirm it doesn't work with the current version (with KMS > enabled)? It kinda works on my GeForce 8200. And it's kinda broken. While KMS works perfectly, from the console to logging into my Xfce desktop, performance is pretty bad. Nowhere *near* as bad as the proprietary driver is, but it's still definitely stuttering and slow in places while just doing 2D desktop work. I haven't tried 3D games yet. I checked my Xorg logs, and this is what I see: (EE) NOUVEAU(0): Error creating GPU channel: -16 (EE) NOUVEAU(0): Error initialising acceleration. Falling back to NoAccel (==) NOUVEAU(0): Backing store disabled (==) NOUVEAU(0): Silken mouse enabled (II) NOUVEAU(0): NVEnterVT is called. (**) NOUVEAU(0): DPMS enabled (II) AIGLX: Screen 0 is not DRI2 capable (II) AIGLX: Screen 0 is not DRI capable (II) AIGLX: Loaded and initialized /usr/lib64/dri/swrast_dri.so (II) GLX: Initialized DRISWRAST GL provider for screen 0 By far it looks like the biggest errors are in the EE lines, where it says it's falling back to NoAccel. How can I fix that? The other big problem is where it disables the backing store. Probably not good for performance. And lastly, it tells me it's not capable of DRI/DRI2, even though those are both installed and working correctly for my other (ATI) card. I'm using: kernel 2.6.33-rc7 (vanilla, straight from upstream) mesa git (today's checkout) libdrm git (today's checkout) xorg-server 1.7.99.2 dri2proto 2.2 xf86-video-nouveau 0.0.15_pre20100213 nouveau-firmware 20091212 I will say that there is no documentation at all for which specific nVidia GPU family my chipset belongs to -- only that it's "at least" nv50. The 8200 is just a downclocked 8300, and the interwebs indicate that the 8300 (GS) is an nv86 chip. So that's what I put in my kernel for the extra firmware: nv86.ctxprog/ctxvals. Maybe this is screwing things up? If I should actually be using the nv50 firmware, then lemme know -- I can recompile. I just thought that it was for the old 8800 cards. Both the 8200 and 8300 are NVAA chips, they are not NV86. As far as i know darktama is aware of what is causing the problem, but he hasn't gotten around to implementing it for nouveau. DRI2 doesn't work, because acceleration isn't working. (In reply to comment #32) > > I will say that there is no documentation at all for which specific nVidia GPU > family my chipset belongs to -- only that it's "at least" nv50. The 8200 is > just a downclocked 8300, and the interwebs indicate that the 8300 (GS) is an > nv86 chip. So that's what I put in my kernel for the extra firmware: > nv86.ctxprog/ctxvals. Maybe this is screwing things up? > Just look at Stanislav last dmesg : [drm] nouveau 0000:02:00.0: Detected an NV50 generation card (0x0aa280a2) [drm] nouveau 0000:02:00.0: Attempting to load BIOS image from PRAMIN ... [drm] nouveau 0000:02:00.0: 256 MiB VRAM [drm] nouveau 0000:02:00.0: 512 MiB GART (aperture) nouveau 0000:02:00.0: firmware: requesting nouveau/nvaa.ctxprog nouveau 0000:02:00.0: firmware: requesting nouveau/nvaa.ctxvals You can see its a nvaa card (0x0aa...) and that the two nvaa firmwares are correctly loaded. So that's not the problem. The problem is indeed the EE in xorg log : (EE) NOUVEAU(0): Error creating GPU channel: -16 (EE) NOUVEAU(0): Error initialising acceleration. Falling back to NoAccel There's a possibility NVAA is now fixed in current nouveau git. (In reply to comment #35) > There's a possibility NVAA is now fixed in current nouveau git. I think it is. I'm doing things on my Geforce 8200 I could never do before. While I *very occasionally* see graphical corruption when rolling over Xfce startmenus, or the "File Edit View Help" bars in application windows, accel seems to be working okay. $ glxinfo direct rendering: Yes server glx vendor string: SGI server glx version string: 1.4 client glx vendor string: Mesa Project and SGI client glx version string: 1.4 OpenGL vendor string: nouveau OpenGL renderer string: Gallium 0.4 on NVAA OpenGL version string: 2.1 Mesa 7.9-devel OpenGL shading language version string: 1.20 This is with kernel 2.6.34_rc2, 1-hour-old checkouts of Mesa/libdrm/xf86-video-nouveau, and nouveau-firmware-20091212. Mesa is built with gallium3d, since apparently that's required for nouveau these days. I dunno if there are any other software versions or xorg.conf settings that would be better, but the above stack is what works for me. Nice'n'stable; no lockups. No, I can't run ioQuake3-based games like Urban Terror at native 1440x900 with all settings maxed (the way I can with my RadeonHD 4550 and xf86-video-ati), but it is kinda playable. That's big progress. So whatever ya'll have done in the last month, keep it up -- it's yielding amazing results. Thanks a bunch! Just FYI, you no longer need firmware on 34, it was only needed for 33. Thanks to... Marcin ! :) http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?id=266229a5779459314e2fda4281199fb1f308d668 |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.