# Hybrid graphics and kernel > 2.6.35

## m3sm3r

I have an Asus N73J laptop with integrated intel graphics (i915) and an nVidia Geforce GT 335M. The problem I have is that on kernels 2.6.35 or higher the nVidia GPU does not appear to be recognized at all.

lspci on 2.6.36-r5. There is no device at 01.00.0

```

00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)                                          

00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)             

00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)               

00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)           

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)                     

00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)                     

00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)                     

00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)                     

00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)                     

00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)                     

00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)           

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)                                                  

00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)                         

00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 06)            

00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)         

03:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)          

04:00.0 USB Controller: Device 1b73:1400 (rev 01)                                                                       

05:00.0 Class ff00: Realtek Semiconductor Co., Ltd. Device 5209 (rev 01)                                                

05:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. Device 5209 (rev 01)                                        

06:00.0 Ethernet controller: Attansic Technology Corp. Device 1063 (rev c0)                                             

ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)        

ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)            

ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)                                               

ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)                                           

ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)                                                 

ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)

```

When I boot from the liveCD which I burned in September 2010 with kernel 2.6.34 the adapter correctly shows in lspci at 01.00.0

```

00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)                                          

00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)                                 

00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)             

00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)               

00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)           

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)                     

00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)                     

00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)                     

00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)                     

00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)                     

00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)                     

00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)           

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)                                                  

00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)                         

00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 06)            

00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)         

01:00.0 VGA compatible controller: nVidia Corporation GT215 [GeForce GT 335M] (rev a2)

03:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)          

04:00.0 USB Controller: Device 1b73:1400 (rev 01)                                                                       

05:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5209 (rev 01)                                   

05:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. Device 5209 (rev 01)                                        

06:00.0 Ethernet controller: Atheros Communications AR8131 Gigabit Ethernet (rev c0)                                    

ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)        

ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)            

ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)                                               

ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)                                           

ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)                                                 

ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)

```

I've been playing with all kinds of options for quite some time and I can't get the adapter to show in lspci no matter what. As a last resort I took the config from the liveCD kernel, made a change only to build AHCI SATA into the image so I can boot. The result was still the same - the adapter does not show up. Same thing on 2.6.35. I haven't yet tried 2.6.37

Thanks

----------

## chithanh

Firstly, consider running update-pciids to replace product IDs in lspci with actual product names.

Then please provide more information: Which driver do you use, do you have a BIOS option for integrated/discrete graphics, what about VGA_SWITCHEROO in the new kernel (and dmesg)?

----------

## m3sm3r

OK, update-pciids changed the unknown usb controller name only. I'm not sure how this is relevant but there.

```

04:00.0 USB Controller: Fresco Logic Device 1400 (rev 01)

```

I'm not using any driver at this point because the system will not even show that the device exists. There is no BIOS setting for the GPUs. The appear to be both on all the time. I also have a windows installation on the machine and I have no problem using any of the cards. VGA_SWITCHEROO option makes no difference. I have also tried:

* using the Inter driver as a module

* disabling KMS

* not using the Intel driver at all

* I have also fiddled with PCIe settings

all to no avail.

dmesg from gentoo sources 2.6.36-r5: http://pastebin.com/3vp7ETQ4

dmesg from gentoo sources live CD 2.6.34-r6: http://pastebin.com/ZmmrYXM8

----------

## Gusar

Optimus is what you have. So forget about using the nvidia card. The most you can maybe do is power it down with the acpi_call kernel module. See here for info: http://linux-hybrid-graphics.blogspot.com/

----------

## chithanh

You might possibly use VGA_SWITCHEROO to switch between the integrated and discrete graphics. This will not work with the Nvidia proprietary driver though,  only with nouveau, and needs a hardware switch for the display connectors (not all notebooks have one). Check out this forum thread or this wiki article.

Or, as Gusar suggested, disable the discrete graphics entirely and use only the integrated.

----------

## m3sm3r

Thanks,

My machine is fine with the integrated, I don't really have any higher demands for the nVidia one. I actually wanted to get involved in the Linux Hybrid Graphics project, referenced by the link from Gusar, but my card doesn't even show up in the system. So what I really wanted to understand is why the card enumerates on the PCI bus in one kernel and doesn't on the other.

----------

## chithanh

I imagine it has to do with the switcheroo code, even if not enabled. See what happens if you use it to switch to discrete.

----------

## m3sm3r

 *chithanh wrote:*   

> I imagine it has to do with the switcheroo code, even if not enabled. See what happens if you use it to switch to discrete.

 

Makes sense. I'll join the Hybrid Graphics mailing list and try to get more info on how to investigate further. Thanks guys.

----------

