Giacomo
2011-Jan-03 15:10 UTC
[Nouveau] drm-nvidia-switch git branch but still vgaswitcheroo not working for i915/nvidia (nouveau) on ASUS U30JC
Hello. In my double-carded ASUS U30JC (nvidia + intel i915) I do the following: stop X This is the output of /sys/kernel/debug/vgaswitcheroo/switch daphne linux # cat /sys/kernel/debug/vgaswitcheroo/switch 0: :Pwr:0000:01:00.0 1:+:Pwr:0000:00:02.0 (intel graphic card in use, ok) echo "DDIS" > /sys/kernel/debug/vgaswitcheroo/switch does not change the output above (intel remains marked as active) echo "OFF" > /sys/kernel/debug/vgaswitcheroo/switch seems to switch off Nvidia card, because the output above becomes: 0: :Off:0000:01:00.0 1:+:Pwr:0000:00:02.0 restarting X completely freezes the machine, black screen (need to power down by pressing the power button). ASUS U30JC Nvidia (nouveau) + intel i915. Kernel 2.6.35 x11-base/xorg-server 1.9.2.902 x11-drivers/xf86-video-nouveau 0.0.16_pre20101010 Shutting down the Nvidia graphic card via acpi_call https://github.com/mkottman/acpi_call produces the same freeze after trying to restart X. Same problem with kernel 2.6.36 and acpi_call. Did not try vga switcheroo on 2.6.36 due to problems with that kernel https://bugzilla.kernel.org/show_bug.cgi?id=24542 echo "OFF" > /sys/kernel/debug/vgaswitcheroo/switch produces in dmesg: Dec 8 00:06:18 daphne kernel: VGA switcheroo: switched nouveau off Dec 8 00:06:18 daphne kernel: [drm] nouveau 0000:01:00.0: Disabling fbcon acceleration... Dec 8 00:06:18 daphne kernel: [drm] nouveau 0000:01:00.0: Unpinning framebuffer(s)... Dec 8 00:06:18 daphne kernel: [drm] nouveau 0000:01:00.0: Evicting buffers... Dec 8 00:06:18 daphne kernel: [drm] nouveau 0000:01:00.0: Idling channels... Dec 8 00:06:18 daphne kernel: [drm] nouveau 0000:01:00.0: Suspending GPU objects... Dec 8 00:06:19 daphne kernel: [drm] nouveau 0000:01:00.0: And we're gone! Dec 8 00:06:19 daphne kernel: nouveau 0000:01:00.0: PCI INT A disabled Dec 8 00:06:19 daphne kernel: nouveau 0000:01:00.0: power state changed by ACPI to D3 which seems to be correct. The crash taking place when restarting X does not leave any trace on dmesg. 2010/12/13 Dave Airlie <airlied at gmail.com>: - Ocultar texto citado -> On Sun, Dec 12, 2010 at 12:05 AM, Giacomo <delleceste at gmail.com> wrote: >> Hello. >> >> In my double-carded ASUS U30JC (nvidia + intel i915) I do the following: > > You might want to try the branch in my drm-testing repo > > http://git.kernel.org/?p=linux/kernel/git/airlied/drm-testing.git;a=shortlog;h=refs/heads/drm-nvidia-switch > > Has much improvements for gpu switching on intel/nvidia. > > Dave. >The branch code does not solve the situation: both echo "DDIS" > /sys/kernel/debug/vgaswitcheroo/switch and echo "OFF" > /sys/kernel/debug/vgaswitcheroo/switch hang the machine. The first command hangs immediately, the second at X restart. DMESG out in the first case: Dec 21 22:46:10 daphne kernel: fbcon: Remapping primary device, fb0, to tty 1-63 Dec 21 22:46:10 daphne kernel: calling mux switch 0 Dec 21 22:46:10 daphne kernel: mux switched 0 Dec 21 22:46:10 daphne kernel: ACPI Error: Needed [Buffer/String/Package], found [Integer] ffff880146f23420 (20101013/exresop-590) Dec 21 22:46:10 daphne kernel: ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands for [OpcodeName unavailable] (20101013/dswexec-460) Dec 21 22:46:10 daphne kernel: ACPI Error: Method parse/execution failed [\_SB_.PCI0.GFX0._DSM] (Node ffff880147c6d1c8), AE_AML_OPERAND_TYPE (20101013/psparse-537) Dec 21 22:46:10 daphne kernel: ACPI Error: Method parse/execution failed [\_SB_.PCI0.PEG1.GFX0._DSM] (Node ffff880147c83830), AE_AML_OPERAND_TYPE (20101013/psparse-537) Dec 21 22:46:10 daphne kernel: failed to evaluate _DSM: 12291 Dec 21 22:46:10 daphne kernel: vga_switcheroo: switching failed stage 2 12291 -- here need to press power button to force shutdown --- Second case (echo "OFF"...): Dec 21 22:43:44 daphne kernel: VGA switcheroo: switched nouveau off Dec 21 22:43:44 daphne kernel: [drm] nouveau 0000:01:00.0: Disabling fbcon acceleration... Dec 21 22:43:44 daphne kernel: [drm] nouveau 0000:01:00.0: Unpinning framebuffer(s)... Dec 21 22:43:44 daphne kernel: [drm] nouveau 0000:01:00.0: Evicting buffers... Dec 21 22:43:44 daphne kernel: [drm] nouveau 0000:01:00.0: Idling channels... Dec 21 22:43:44 daphne kernel: [drm] nouveau 0000:01:00.0: Suspending GPU objects... Dec 21 22:43:45 daphne kernel: [drm] nouveau 0000:01:00.0: And we're gone! Dec 21 22:43:45 daphne kernel: nouveau 0000:01:00.0: PCI INT A disabled Dec 21 22:43:45 daphne kernel: nouveau 0000:01:00.0: power state changed by ACPI to D3 starting X hangs the machine immediately. Let me know if I can help more. Hope to hearing from you soon, Giacomo, Italy. -- Giacomo S. http://www.giacomos.it - - - - - - - - - - - - - - - - - - - - - - * iqfire-wall, un progetto ? open source che implementa un ? filtro di pacchetti di rete per Linux, ? e` disponibile per il download qui: ? http://sourceforge.net/projects/ipfire-wall * Informazioni e pagina web ufficiale: ? http://www.giacomos.it/iqfire/index.html - - - - - - - - - - - - - - - - - - - - - - ?. ''? `. :?? :'? ? : ?`.? ` ' ? ? `- Debian GNU/Linux -- The power of freedom ? ? ? ? http://www.debian.org