← Back to team overview

hybrid-graphics-linux team mailing list archive

Re: ASUS 1215N: how does vga_switcheroo work?

 

This is very good news ! Thanks for your tests.

Would it seem feasible to disassemble/string-search windows drivers to look
for ACPI method names ? Maybe we could find a method to send the discrete
video signal to the integrated chip (and thus display it on the flat
panel)...

Nicolas JOYARD



On Wed, Apr 13, 2011 at 23:09, Fra B <frab1215@xxxxxxxxx> wrote:

> Hi to all, I have some good news about vga_switcheroo and 1215n.
>
> I try to make a summary of my test.
>
> I use the 2.6.38 kernel from kernel.org.
>
> I boot linux in runlevel 3 and by default my kernel loades module i915 for
> intel integrated graphic card.
> Then when I load the module nouveau via modprobe in /var/log/messages file
> I see cleary that vga_switcheroo is enabled..
> I connect HDMI port to a tv..
> At this point I try to switch video cards and it happens that a netbook's
> flat panel become gray color as the console goes on tv, so I conclude that
> the nvidia card is actually working.
> At this point I start the graphical session with the command: init 5
> and X server doesn't start automatically because it needs nvidia
> configuration in xorg.conf.
> So I make a basic configuration and the login screen is prompted to me on
> the tv, via hdmi.
>
> At this point, however, I need your help to better understand how to use
> flat panel of netbook with the disceret graphic card.
> In fact, if I do the test without connecting the HDMI cable I get nothing
> on flat panel ofnetbooks.
>
> Any suggestions?
> Thanks to all
>
>
>
>
>
>
>
> On Tue, Apr 12, 2011 at 4:40 PM, Hans Persson <perssonhans78@xxxxxxxxx>wrote:
>
>> Hi,
>>
>> As far as I understand it is not possible to use the nvidia chip on a
>> Optimus computer in Linux at the moment.
>> What is possible and what i just did on my ASUS 1215N is to switch off the
>> nvidia chip to save power.
>>
>> I'll paste what I just did below.
>>
>> Cheers
>> Hans Persson
>>
>> ___________________________________________________
>>
>>
>> Thanks
>>
>> That did the trick, now it shuts down nicely.
>>
>> Regards,
>> Hans
>> - Dölj citerad text -
>>
>>
>> 2011/4/4 Tomasz Famulski <famulski@xxxxxxxxx>
>> Try to add line
>>
>> blacklist nouveau
>>
>> to /etc/modprobe.d/blacklist.conf
>>
>> Regards,
>> Tomasz
>>
>> On Mon, Apr 4, 2011 at 5:13 PM, Albert Vilella <avilella@xxxxxxxxx>
>> wrote:
>> > fwd to the mailing list.
>> >
>> > On Mon, Apr 4, 2011 at 4:10 PM, Hans Persson <perssonhans78@xxxxxxxxx>
>> wrote:
>> >> Hi Albert,
>> >>
>> >> Yes loading and running it works, as seen in attatched file. My power
>> >> consumption is down by apporx. 4 W.
>> >>
>> >> But my computer will not shut down after switching of the NVidia chip.
>> >> I guess it's because my computer still loads the nv driver?!
>> >> I still don't know how to stop this driver from loading.
>> >>
>> >> There are some error messages while trying to shut down, which I can
>> not
>> >> find in dmesg, so I'm afraid I can not send them to you.
>> >>
>> >>
>> >> Cheers
>> >> Hans
>> >>
>> >>
>> >> 2011/4/3 Albert Vilella <avilella@xxxxxxxxx>
>> >>>
>> >>> Hi Hans,
>> >>>
>> >>> Can you check if this works for your ASUS 1215N?
>> >>>
>> >>> https://lists.launchpad.net/hybrid-graphics-linux/msg00254.html
>> >>>
>> >>> On Fri, Apr 1, 2011 at 4:03 PM, Hans Persson <perssonhans78@xxxxxxxxx
>> >
>> >>> wrote:
>> >>> > Hi all,
>> >>> >
>> >>> > I have a ASUS 1215N as follows:
>> >>> >
>> >>> > 1215N
>> >>> > x.x
>> >>> > 00:02.0 VGA compatible controller [0300]: Intel Corporation N10
>> Family
>> >>> > Integrated Graphics Controller [8086:a001] (rev 02) (prog-if 00 [VGA
>> >>> > controller])
>> >>> > 05:00.0 VGA compatible controller [0300]: nVidia Corporation Device
>> >>> > [10de:0a76] (rev a2) (prog-if 00 [VGA controller])
>> >>> >
>> >>> > I hope I will be able to help with testing and debugging.
>> >>> >
>> >>> > Regards
>> >>> > Hans Persson
>> >>> >
>>
>> 2011/4/11 Fra B <frab1215@xxxxxxxxx>
>>
>>>  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
>>>
>>> _______________________________________________
>>> 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
>>>
>>>
>>
>
> _______________________________________________
> 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
>
>

Follow ups

References