← Back to team overview

hybrid-graphics-linux team mailing list archive

ASUS 1215N: how does vga_switcheroo work?

 

Hi to everyone,
I've got an Asus 1215N.
I use Mandriva 2010.2 x86_64.

Recently I've compiled kernel 2.6.38 from kernel.org.

In my linux distribution i915 and nouveau kernel module are blacklisted, and
I've uncomment this 2 line in /etc/modprobe.d/blacklist-mdv.
So I can load both this 2 modules:

# lsmod | grep i915
i915                  487045  2
drm_kms_helper         34769  2 nouveau,i915
drm                   215732  5 nouveau,ttm,i915,drm_kms_helper
i2c_algo_bit            5705  2 nouveau,i915
button                  6065  2 nouveau,i915
i2c_core               30375  7
nouveau,videodev,i2c_i801,i915,drm_kms_helper,drm,i2c_algo_bit
video                  12802  2 nouveau,i915

# lsmod | grep nouveau
nouveau               675181  0
ttm                    66834  1 nouveau
drm_kms_helper         34769  2 nouveau,i915
drm                   215732  5 nouveau,ttm,i915,drm_kms_helper
i2c_algo_bit            5705  2 nouveau,i915
button                  6065  2 nouveau,i915
i2c_core               30375  7
nouveau,videodev,i2c_i801,i915,drm_kms_helper,drm,i2c_algo_bit
video                  12802  2 nouveau,i915


I've this in /etc/fstab:
# cat /etc/fstab | grep debugfs
none            /sys/kernel/debug debugfs defaults 0 0



When both i915 and nouveau are loaded in the kernel I can see this in
/var/log/messages :

kernel: VGA switcheroo: detected DSM switching method \_SB_.PCI0.P0P4.GFX0
handle
kernel: nouveau 0000:04:00.0: power state changed by ACPI to D0
kernel: nouveau 0000:04:00.0: power state changed by ACPI to D0
kernel: nouveau 0000:04:00.0: enabling device (0000 -> 0003)
kernel: nouveau 0000:04:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
kernel: [drm] nouveau 0000:04:00.0: Detected an NV50 generation card
(0x0a8b00b1)
kernel: vga_switcheroo: enabled
kernel: [drm] nouveau 0000:04:00.0: Attempting to load BIOS image from
PRAMIN
kernel: [drm] nouveau 0000:04:00.0: ... BIOS signature not found
kernel: [drm] nouveau 0000:04:00.0: Attempting to load BIOS image from PROM
kernel: [drm] nouveau 0000:04:00.0: ... BIOS signature not found
kernel: [drm] nouveau 0000:04:00.0: Attempting to load BIOS image from
PCIROM
kernel: nouveau 0000:04:00.0: Invalid ROM contents
kernel: [drm] nouveau 0000:04:00.0: ... BIOS signature not found
kernel: [drm] nouveau 0000:04:00.0: Attempting to load BIOS image from ACPI
kernel: [drm] nouveau 0000:04:00.0: ... appears to be valid
kernel: [drm] nouveau 0000:04:00.0: BIT BIOS found
kernel: [drm] nouveau 0000:04:00.0: Bios version 70.18.55.00
kernel: [drm] nouveau 0000:04:00.0: Pointer to BIT loadval table invalid
kernel: [drm] nouveau 0000:04:00.0: TMDS table version 2.0
kernel: [drm] nouveau 0000:04:00.0: Found Display Configuration Block
version 4.0
kernel: [drm] nouveau 0000:04:00.0: Raw DCB entry 0: 02010300 00000000
kernel: [drm] nouveau 0000:04:00.0: Raw DCB entry 1: 02021362 00020010
kernel: [drm] nouveau 0000:04:00.0: Raw DCB entry 2: 0000000e 00000000
kernel: [drm] nouveau 0000:04:00.0: DCB connector table: VHER 0x40 5 16 4
kernel: [drm] nouveau 0000:04:00.0:   0: 0x00000000: type 0x00 idx 0 tag
0xff
kernel: [drm] nouveau 0000:04:00.0:   1: 0x00002161: type 0x61 idx 1 tag
0x08
kernel: [drm] nouveau 0000:04:00.0: Adaptor not initialised, running VBIOS
init tables.
kernel: [drm] nouveau 0000:04:00.0: Parsing VBIOS init table 0 at offset
0xDE31
kernel: [drm] nouveau 0000:04:00.0: 0xDD98: i2c wr fail: -6
kernel: [drm] nouveau 0000:04:00.0: Parsing VBIOS init table 1 at offset
0xE2DC
kernel: [drm] nouveau 0000:04:00.0: Parsing VBIOS init table 2 at offset
0xEE88
kernel: [drm] nouveau 0000:04:00.0: Parsing VBIOS init table 3 at offset
0xEEA1
kernel: [drm] nouveau 0000:04:00.0: Parsing VBIOS init table 4 at offset
0xEF88
kernel: [drm] nouveau 0000:04:00.0: Parsing VBIOS init table at offset
0xEFED
kernel: [drm] nouveau 0000:04:00.0: 3 available performance level(s)
kernel: [drm] nouveau 0000:04:00.0: 0: memory 135MHz core 135MHz shader
270MHz voltage 850mV
kernel: [drm] nouveau 0000:04:00.0: 1: memory 405MHz core 405MHz shader
810MHz voltage 850mV
kernel: [drm] nouveau 0000:04:00.0: 3: memory 790MHz core 475MHz shader
1092MHz voltage 900mV
kernel: [drm] nouveau 0000:04:00.0: c: memory 950MHz core 550MHz shader
200MHz voltage 850mV
kernel: [TTM] Zone  kernel: Available graphics memory: 1024824 kiB.
kernel: [TTM] Initializing pool allocator.
kernel: [drm] nouveau 0000:04:00.0: Detected 512MiB VRAM
kernel: [drm] nouveau 0000:04:00.0: 512 MiB GART (aperture)
kernel: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
kernel: [drm] No driver support for vblank timestamp query.
kernel: [drm] nouveau 0000:04:00.0: ACPI backlight interface available, not
registering our own
kernel: [drm] nouveau 0000:04:00.0: allocated 1024x768 fb: 0x60000000, bo
ffff8800519ac400
kernel: fb1: nouveaufb frame buffer device
kernel: [drm] Initialized nouveau 0.0.16 20090420 for 0000:04:00.0 on minor
1


I've this in debug fs:
# cat /sys/kernel/debug/vgaswitcheroo/switch
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Pwr:0000:04:00.0


so vga_switcheroo seems to be enabled, but if I try to switch whit this
command:
# echo "DIS" > /sys/kernel/debug/vgaswitcheroo/switch
my screen goes in a gray color state, it doesn't off, but I can't interact
with the system
 and I need to poweroff pc with power button.
I've see this in messages:
kernel: fbcon: Remapping primary device, fb1, to tty 1-63
kernel: i915: switched off


Any suggestions to make other steps to enable the nvidia card? What I can do
now?
Thanks