Bug 63641
Summary: | vgaarb only looks for VGA class devices, missing discrete secondary video cards in laptops | ||
---|---|---|---|
Product: | Drivers | Reporter: | Gabriel A. Devenyi (gdevenyi) |
Component: | Video(Other) | Assignee: | drivers_video-other |
Status: | REOPENED --- | ||
Severity: | low | CC: | alan, bonbons, chb00, fademind, lev.lybin, mapopa, perry_yuan, xthiago |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 3.12-rc6 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | Include "3D controller" in vgaarb initalization |
Description
Gabriel A. Devenyi
2013-10-24 14:13:02 UTC
problems with the non free Nvidia setup should be directed to Nvidia This bug would arise the same if the nouveau driver is used. This bug is due to the device's PCI ID being listed as a "3D controller" instead of a VGA device, meaning that vgaarb doesn't properly setup its interfaces. Please examine the patch. In which case please provide a trace with nouveau and submit the patch to the lists as per Documentation/SubmittingPatches. From my reading of the PCI spec though the existing code is correct. I guess this is fixed by now https://devtalk.nvidia.com/default/topic/567297/linux/linux-3-10-driver-crash/post/4353535/#4353535 > This issue arises when laptops with nvidia optimus are used, the secondary
> video card is not defined as a VGA device, instead (on the Zenbook UX32VD)
> it's defined as:
>
> 01:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M / GT
> 620M/625M/630M/720M] (rev ff)
FWIW, it also manifests itself on a MacBook Pro MacBookPro4,1 with a single
…
01:00.0 VGA compatible controller: NVIDIA Corporation G84M [GeForce 8600M GT] (rev a1)
…
although rather erratically, but if it does, then every 30 seconds for as
long as the system is up.
I have only seen these messages after having booted in EFI mode.
Note that adding such 3D controllers to VGA arbitration may have some side-effects not immediately visible (such as blacklight controls that stop working). Have a look at bug #86121 for such a case. How are the GPUs wired to displays when the nvidia one is flagged as 3D controller? Does the nvidia card have access to displays (via multiplexer) or does it require frames to be passed to Intel card for display? In the second case the nvidia chip is just a graphics/3D accelerator! The vgaarb is being triggered by closed nvidia driver (or maybe userspace) that tries to move VGA IO mappings around when it should not, ending up with vgaarb complaining about a PCI device it is asked to operate on while that device is not a candidate for arbitration. |