Great stuff! Thanks very much! I wonder if someone at launchpad can help in getting the i386 to compile? I saw an email associated to the ppa... I've set it to retry now.
On Fri, Aug 6, 2010 at 8:09 PM, octagonhead <[email protected]> wrote: > I've uploaded another package based on newer kernel sources here: > http://ubuntuone.com/p/Bor/ > That link should be more permanent that the other ones. > > There are also slightly different packages in the ppa: I have tested this > one: > http://ppa.launchpad.net/hybrid-graphics-linux/hybrid-graphics/ubuntu/pool/main/l/linux/linux-image-2.6.35-14-generic_2.6.35-14.19_amd64.deb > (i386 packages failed to build for some reason) > > Both of these kernels should create proper initrd files upon boot. > > I get similar results as before, but this time i noticed that dmesg produces > more output if I restart X after sending a something to the switch: > > /sys/kernel/debug/vgaswitcheroo# echo DIGD > switch > vga_switcheroo: client 0 refused switch > vga_switcheroo: setting delayed switch to client 0 > > --- and then: --- > > [drm] nouveau 0000:01:00.0: nouveau_channel_free: freeing fifo 3 > [drm] nouveau 0000:01:00.0: nouveau_channel_free: freeing fifo 2 > vga_switcheroo: processing delayed switch to 0 > fbcon: Remapping primary device, fb1, to tty 1-63 > ACPI Error: Needed [Buffer/String/Package], found [Integer] ffff880138edc8b8 > (20100428/exresop-590) > ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands for > [OpcodeName unavailable] (20100428/dswexec-445) > ACPI Error (psparse-0537): Method parse/execution failed > [\_SB_.PCI0.VGA_._DSM] (Node ffff88013b642160), AE_AML_OPERAND_TYPE > ACPI Error (psparse-0537): Method parse/execution failed > [\_SB_.PCI0.P0P1.VGA_._DSM] (Node ffff88013b643b60), AE_AML_OPERAND_TYPE > failed to evaluate _DSM: 12291 > ACPI Error: Needed [Buffer/String/Package], found [Integer] ffff880138edc870 > (20100428/exresop-590) > ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands for > [OpcodeName unavailable] (20100428/dswexec-445) > ACPI Error (psparse-0537): Method parse/execution failed > [\_SB_.PCI0.VGA_._DSM] (Node ffff88013b642160), AE_AML_OPERAND_TYPE > ACPI Error (psparse-0537): Method parse/execution failed > [\_SB_.PCI0.P0P1.VGA_._DSM] (Node ffff88013b643b60), AE_AML_OPERAND_TYPE > failed to evaluate _DSM: 12291 > mux switch toggle returned -30719 > vga_switcheroo: delayed switching failed 12291 > [drm] nouveau 0000:01:00.0: Allocating FIFO number 2 > [drm] nouveau 0000:01:00.0: nouveau_channel_alloc: initialised FIFO 2 > [drm] nouveau 0000:01:00.0: Allocating FIFO number 3 > [drm] nouveau 0000:01:00.0: nouveau_channel_alloc: initialised FIFO 3 > > > Note: if these kernels hang your display upon starting X, you may need to > remove the nvidia power-off module from a rescue shell or another kernel; > # rm /lib/modules/2.6.35-14-generic/updates/dkms/nvidia_g210m_acpi.ko > > after which you should be able to rebuild the module if you like: > # dkms remove -m nvidia-g210m-acpi -v 0.1.0 -k `uname -r` && dkms build -m > nvidia-g210m-acpi -v 0.1.0 -k `uname -r` > > On 10-08-05 12:04 AM, Albert Vilella wrote: > > Hi octagonhead, > > Can you repost the files somewhere? > > If it helps, I have created a ppa here: > https://launchpad.net/~hybrid-graphics-linux/+archive/hybrid-graphics > > On Fri, Jul 23, 2010 at 8:14 AM, octagonhead <[email protected]> wrote: > > Here is the result of my running this kernel with this patch applied > Note that I used the ubuntu-provided linux-source package of 2.6.35-rc5 > rather than the vanilla kernel, > So please let me know if this is expected to not work, > > the switcheroo interface is created: > > /sys/kernel/debug/vgaswitcheroo# cat switch > 0:+:Pwr:0000:00:02.0 > 1: :Pwr:0000:01:00.0 > > Here are the results of the switching commands I tried: > > /sys/kernel/debug/vgaswitcheroo# echo DIGD > switch > vga_switcheroo: client 0 refused switch > vga_switcheroo: setting delayed switch to client 0 > > /sys/kernel/debug/vgaswitcheroo# echo DDIS > switch > vga_switcheroo: client 0 refused switch > vga_switcheroo: setting delayed switch to client 1 > > /sys/kernel/debug/vgaswitcheroo# echo OFF > switch > > ^^^this seems to work, causing the nouveau driver to unload > (but not removing the nvidia PCI device nor reducing power consumption > according to powertop), > but usually causes a kernel freeze after about a minute > > dmesg is attached, with kernel trace at the end > > ... > Anyone wishing to make use of my kernel image may find an Ubuntu package at > one of these urls: > (sub-arch is Core-Duo/Xeon, all other config options are based of a stock > Ubuntu kernel) > > http://rapidshare.com/files/408536337/linux-image-2.6.35-rc5_CustomDebugNV.01_amd64.deb > or > http://hotfile.com/dl/56924631/1202d13/linux-image-2.6.35-rc5_CustomDebugNV.01_amd64.deb.html > > Please run this command post installing or this kernel will fail to boot! : > # mkinitramfs -k 2.6.35-rc5 -o /boot/initrd.img-2.6.35-rc5 > > (sorry, im too lazy to properly include the initrd or create a PPA at this > point :) > > > On 10-07-19 04:11 PM, Dave Airlie wrote: > > Okay first attempt at a patch is > > http://people.freedesktop.org/~airlied/scratch/0001-nouveau-mux-switching-test-patch-1.patch > > Applies on top of current Linus tree, a dmesg from a pre-optimus > machine with hybrid enabled should let me see the current state of the > toggle, > and if you are feeling brave you shuold be able to toggle the mux, so > it might flip from intel to nothing, and flip back or it might do > nothing. > > stuff should be logged in dmesg. > > Dave. > > On Sat, Jul 17, 2010 at 6:45 PM, Dave Airlie <[email protected]> wrote: > > So I'd really like to finish the _DSM support in nouveau so we can > actually switch the GPU over on the non-optimus systems. > > There are two things left to do: > > a) figure out what values to pass the DSM method to trigger the MUX, > It looks like method 0x5 is the one to trigger the mux switch but I've > no idea yet what values to pass it to trigger the mux switch. > > b) figure out how to get the LVDS DDC lines and make nouveau find the > panel, at the moment it fails to find the panel when booted and intel > is in control. > > looking at (a) I expect we could pass a bunch of values to the ACPI > method possibly using acpi_call to switch the mux and switch it back, > > It looks like passing 0 will return the current toggle status, then > its a matter of working out which of the top bits are doing what, > > >From reading one DSDT I can see, > > if bit 31 set, then bit 30 is some sort of notify, then bits 25,26,27 > are used to work out some values stored in a TOGF > > otherwise bit 24 is used for something, then bits 12,13,14, and 3,2,1, > and it stores some values for CRT/LCD/TVout, which may again be > toggles. > > If someone with the hardware and can use acpi_call it would be nice to > try and map out some of these things, at least initially a value that > will turn the Intel LCD off and back on. > > The DSDT I'm using at the moment is attached to bug 16403. > > Dave. > > _______________________________________________ > Mailing list: https://launchpad.net/~hybrid-graphics-linux > Post to : [email protected] > Unsubscribe : https://launchpad.net/~hybrid-graphics-linux > More help : https://help.launchpad.net/ListHelp > > _______________________________________________ > Mailing list: https://launchpad.net/~hybrid-graphics-linux > Post to : [email protected] > Unsubscribe : https://launchpad.net/~hybrid-graphics-linux > More help : https://help.launchpad.net/ListHelp > > > _______________________________________________ Mailing list: https://launchpad.net/~hybrid-graphics-linux Post to : [email protected] Unsubscribe : https://launchpad.net/~hybrid-graphics-linux More help : https://help.launchpad.net/ListHelp

