Summary: | [NVA8] can't find VBIOS on Asus UL50VT laptop | ||||||
---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Matthew Stanton <stantonmab> | ||||
Component: | Driver/nouveau | Assignee: | Nouveau Project <nouveau> | ||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||
Severity: | critical | ||||||
Priority: | medium | ||||||
Version: | 7.5 (2009.10) | ||||||
Hardware: | x86-64 (AMD64) | ||||||
OS: | Linux (All) | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Description
Matthew Stanton
2010-03-13 14:28:58 UTC
Please provide full kernel logs. Which kernel version are you using ? Afaik you need switcheroo for dual graphics, this code should be in 2.6.34-rc1 or in drm-next. http://lwn.net/Articles/376311/ But no idea if it has any chances to work with nouveau. The initial patch says it was only tested with Intel/Ati. I have a similar problem with a laptop with dual-graphics. I have tried 2.6.24-rc3 and latest linux-2.6 git (in which i pulled latest code from nouveau git and acpi/test). This is the "nouveau" part of dmesg, full dmesg is attached. [ 9.136247] bus: 'pci': add driver nouveau [ 9.136258] bus: 'pci': driver_probe_device: matched device 0000:01:00.0 with driver nouveau [ 9.136261] bus: 'pci': really_probe: probing driver nouveau with device 0000 :01:00.0 [ 9.136275] nouveau 0000:01:00.0: setting latency timer to 64 [ 9.137762] device: 'controlD64': device_add [ 9.137794] PM: Adding info for No Bus:controlD64 [ 9.137848] device: 'card0': device_add [ 9.137855] PM: Adding info for No Bus:card0 [ 9.139301] [drm] nouveau 0000:01:00.0: Detected an NV50 generation card (0x0a5580a2) [ 9.145797] [drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PRAMIN [ 9.145811] [drm] nouveau 0000:01:00.0: ... BIOS signature not found [ 9.145814] [drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PROM [ 9.145826] [drm] nouveau 0000:01:00.0: ... BIOS signature not found [ 9.145829] [drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PCIROM [ 9.145924] nouveau 0000:01:00.0: Invalid ROM contents [ 9.145970] [drm] nouveau 0000:01:00.0: ... BIOS signature not found [ 9.145972] [drm] nouveau 0000:01:00.0: No valid BIOS image found [ 9.145998] device: 'card0': device_unregister [ 9.146000] PM: Removing info for No Bus:card0 [ 9.146045] device: 'controlD64': device_unregister 9.145970] [drm] nouveau 0000:01:00.0: ... BIOS signature not found [ 9.145972] [drm] nouveau 0000:01:00.0: No valid BIOS image found [ 9.145998] device: 'card0': device_unregister [ 9.146000] PM: Removing info for No Bus:card0 [ 9.146045] device: 'controlD64': device_unregister [ 9.146049] PM: Removing info for No Bus:controlD64 [ 9.146049] PM: Removing info for No Bus:controlD64 Created attachment 34801 [details]
full dmesg output
Try to disable nvidiafb. http://nouveau.freedesktop.org/wiki/KernelModeSetting Newer version of Nouveau kernel module might handle your card (Nouveau implements one more VBIOS loading method). Please retest it. Are any of you involved in the development of the nouveau kernel driver? I am currently attempting to get the nouveau kernel driver to load/setup successfully. I also have a UL50VT. This laptop does not support Optimus, but rather has a hardware MUX. I looked at the nouveau and i915 code and see they need to parse DSM information to determine whether vgaswitcheroo is supported. In addition to the nouveau driver not getting set up correctly, I don't see /sys/kernel/debug/vgaswitcheroo. nouveau T[ DEVICE][0000:01:00.0] inc() == 2 nouveau T[ DRM] inc() == 3 nouveau T[ DRM] inc() == 4 nouveau T[ DRM] inc() == 5 nouveau T[ DEVICE][0000:01:00.0] inc() == 3 nouveau [ DEVICE][0000:01:00.0] BOOT0 : 0x0a8a00a2 nouveau [ DEVICE][0000:01:00.0] Chipset: GT218 (NVA8) nouveau [ DEVICE][0000:01:00.0] Family : NV50 nouveau D[ DEVICE][0000:01:00.0] crystal freq: 27000KHz nouveau T[ DEVICE][0000:01:00.0] inc() == 4 nouveau [ VBIOS][0000:01:00.0] checking PRAMIN for image... nouveau [ VBIOS][0000:01:00.0] ... signature not found nouveau [ VBIOS][0000:01:00.0] checking PROM for image... nouveau [ VBIOS][0000:01:00.0] ... signature not found nouveau [ VBIOS][0000:01:00.0] checking ACPI for image... nouveau [ VBIOS][0000:01:00.0] ... signature not found nouveau [ VBIOS][0000:01:00.0] checking PCIROM for image... nouveau 0000:01:00.0: Invalid ROM contents nouveau [ VBIOS][0000:01:00.0] ... signature not found nouveau E[ VBIOS][0000:01:00.0] unable to locate usable image nouveau E[ DEVICE][0000:01:00.0] failed to create 0x10000001, -22 nouveau T[ DEVICE][0000:01:00.0] dec() == 3 nouveau E[ DRM] failed to create 0x80000080, -22 nouveau T[ DEVICE][0000:01:00.0] dec() == 2 nouveau T[ DRM] dec() == 4 nouveau T[ DRM] dec() == 3 nouveau T[ DRM] dec() == 2 nouveau D[ DRM] fini running nouveau T[ DRM] 0xffffffff:0xffffffff fini children nouveau T[ DRM] 0xffffffff:0xffffffff fini running nouveau T[ DRM] use(-1) == 1 nouveau T[ DRM] 0xffffffff:0xffffffff fini completed nouveau D[ DRM] fini completed with 0 nouveau T[ DRM] dec() == 0 nouveau D[ DRM] destroying nouveau T[ DEVICE][0000:01:00.0] dec() == 1 nouveau T[ DRM] 0xffffffff:0xffffffff destroy running nouveau T[ DRM] 0xffffffff:0xffffffff destroy completed nouveau T[ DRM] dec() == -1 nouveau T[ DEVICE][0000:01:00.0] dec() == 0 nouveau D[ DEVICE][0000:01:00.0] destroying nouveau: probe of 0000:01:00.0 failed with error -22 # lspci 00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) 01:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce G210M] (rev a2) dmesg: [ 3.517680] vesafb: mode is 1024x768x32, linelength=4096, pages=0 [ 3.517691] vesafb: scrolling: redraw [ 3.517700] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0 [ 3.518342] vesafb: framebuffer at 0xd0000000, mapped to 0xffffc90011380000, using 3072k, total 3072k [ 3.555338] Console: switching to colour frame buffer device 128x48 [ 3.585908] fb0: VESA VGA frame buffer device [ 21.367309] Linux agpgart interface v0.103 [ 21.422456] ACPI: AC Adapter [AC0] (on-line) [ 21.425939] agpgart-intel 0000:00:00.0: Intel GM45 Chipset [ 21.426209] agpgart-intel 0000:00:00.0: detected gtt size: 2097152K total, 262144K mappable [ 21.427707] agpgart-intel 0000:00:00.0: detected 32768K stolen memory [ 21.429098] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xd0000000 [ 21.704900] [drm] Initialized drm 1.1.0 20060810 [ 23.171595] ACPI Error: Needed [Buffer/String/Package], found [Integer] ffff88013a694000 (20120711/exresop-590) [ 23.171605] ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands for [OpcodeName unavailable] (20120711/dswexec-460) [ 23.171899] ACPI Error: Method parse/execution failed [\_SB_.PCI0.VGA_._DSM] (Node ffff88013ab50000), AE_AML_OPERAND_TYPE (20120711/psparse-536) [ 23.172151] failed to evaluate _DSM: 12291 [ 23.193181] ACPI Error: Needed [Buffer/String/Package], found [Integer] ffff88013a695c20 (20120711/exresop-590) [ 23.193192] ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands for [OpcodeName unavailable] (20120711/dswexec-460) [ 23.193548] ACPI Error: Method parse/execution failed [\_SB_.PCI0.VGA_._DSM] (Node ffff88013ab50000), AE_AML_OPERAND_TYPE (20120711/psparse-536) [ 23.193669] ACPI Error: Method parse/execution failed [\_SB_.PCI0.P0P1.VGA_._DSM] (Node ffff88013ab6a730), AE_AML_OPERAND_TYPE (20120711/psparse-536) [ 23.193955] failed to evaluate _DSM: 12291 [ 23.199675] checking generic (d0000000 300000) vs hw (e0000000 10000000) [ 23.199680] checking generic (d0000000 300000) vs hw (fa000000 2000000) [ 23.199911] nouveau 0000:01:00.0: enabling device (0004 -> 0007) [ 23.215724] asus_laptop: Asus Laptop Support version 0.42 [ 23.265572] asus_laptop: UL50VT model detected [ 23.287663] checking generic (d0000000 300000) vs hw (d0000000 10000000) [ 23.287668] fb: conflicting fb hw usage inteldrmfb vs VESA VGA - removing generic driver [ 23.482305] i915 0000:00:02.0: setting latency timer to 64 [ 23.622888] i915 0000:00:02.0: irq 46 for MSI/MSI-X [ 23.632024] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). [ 23.632029] [drm] Driver supports precise vblank timestamp query. [ 23.811555] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=none:owns=io+mem [ 23.811560] vgaarb: transferring owner from PCI:0000:00:02.0 to PCI:0000:01:00.0 Also, I downloaded the source for the acpi_call modules. When I run test_off.sh, I get: Trying \_SB.PCI0.P0P1.VGA._OFF: works! Does this still occur with the latest kernel? There might be something specific to this laptop about how the VBIOS is stored... if it still doesn't work with the latest, we'd need an mmiotrace of the nvidia proprietary driver. No response in a year. Closing as invalid. Probably fixed with newer kernels which are less selective about when to accept a vbios from ACPI. Owning the same laptop, I can confirm that at least with kernel 3.16 reading the VBIOS works correctly, |
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.