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
The branch in the drm-testing repo http://git.kernel.org/?p=linux/kernel/git/airlied/drm-testing.git;a=shortlog... does not solve the issue.
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.
Thanks in advance.
Giacomo. Elettra Synchrotron Radiation Facility Trieste, IT.
dri-devel@lists.freedesktop.org