← Back to team overview

hybrid-graphics-linux team mailing list archive

Re: Reenabling discrete ATI card for fglrx

 

Hi,

Same problem here, I have an HP 1162sf and same acpi ON/OFF function as
you.
I already ask this question but it seams that nobody find a solution
(nobody answers...).

I'm very (very) interested if you find a solution ;)

I'll try your vga switcheroo modification when I have time to see if I
have more luck...

Regards,

On Tue, 2011-05-31 at 14:08 +0700, Medvedchikov Alexey wrote:
> Hello.
> 
> Sorry for english and PCI\ACPI knowledge :)
> 
> I have Acer TimelineX 3820TG with switchable graphics: Core i5 + ATI
> HD5650 with Gentoo Linux installed on it. Everything works fine,
> including powering off discreete card by vga_switcheroo or acpi_call.
> I want to use intel+fglrx, not intel+radeon. But can't reenable
> discrete ATI card without reboot. I tried: with acpi_call 'echo
> "\_SB.PCI0.P0P2.PEGP._OFF" > /proc/acpi/call' then 'echo
> "\_SB.PCI0.P0P2.PEGP._ON" > /proc/acpi/call' takes me to blank screen.
> With vgaswitcheroo I can reenable discreete card, but can't rmmod
> radeon, cause it's in use, obviously radeon and fglrx conflicts.
> 
> Then I modified vgaswitcheroo routines not to powering off previous active card:
> 
> --- /usr/src/linux/drivers/gpu/vga/vga_switcheroo.c     2011-05-31
> 05:38:05.809999874 +0700
> +++ /usr/src/linux/drivers/gpu/vga/vga_switcheroo.c.new 2011-05-31
> 14:00:21.103139923 +0700
> @@ -273,8 +273,8 @@
>         if (new_client->reprobe)
>                 new_client->reprobe(new_client->pdev);
> 
> -       if (active->pwr_state == VGA_SWITCHEROO_ON)
> -               vga_switchoff(active);
> +/*     if (active->pwr_state == VGA_SWITCHEROO_ON)
> +               vga_switchoff(active); */
> 
>         new_client->active = true;
>         return 0;
> 
> now I can reenable ATI card once, switch to integrated and remove
> radeon module :) but only once, then i have oops:
> 
> ### bash ###
> echo "\_SB.PCI0.P0P2.PEGP._OFF" > /proc/acpi/call
> # on integrated
> 
> modprobe radeon
> echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch
> echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch
> rmmod radeon                       # HERE on second iteration kernel make oops
> modprobe fglrx
> 
> # Yay, discreete again
> 
> ### end bash ###
> 
> Thank you!
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~hybrid-graphics-linux
> Post to     : hybrid-graphics-linux@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~hybrid-graphics-linux
> More help   : https://help.launchpad.net/ListHelp




References