On Mon, 02 June 2014 Bruno Pr?mont <bonbons at linux-vserver.org> wrote: > With commit b4aa0163056b ("efifb: Implement vga_default_device() (v2)") > Matthew Garrett introduced a efifb vga_default_device() so that EFI > systems that do not load shadow VBIOS or setup VGA get proper value for > boot_vga PCI sysfs attribute on the corresponding PCI device. > > Xorg is refusing to detect devices when boot_vga=0 which is the case on > some EFI system (e.g. MacBookAir2,1). Xorg detects the GPU and finds > the dri device but then bails out with "no devices detected". > > Note: When vga_default_device() is set boot_vga PCI sysfs attribute > reflects its state. When unset this attribute is 1 whenever > IORESOURCE_ROM_SHADOW flag is set. > > With introduction of sysfb/simplefb/simpledrm efifb is getting obsolete > while having native drivers for the GPU also makes selecting > sysfb/efifb optional. > > Remove the efifb implementation of vga_default_device() and initialize > vgaarb's vga_default_device() with the PCI GPU that matches boot > screen_info in pci_fixup_video().
Quite a few people trip over this issue, apparently concentrated on Apple Macs (EFI) with Nvidia graphics. It has shown up in at least two bugzilla reports (as side-issue): https://bugs.freedesktop.org/show_bug.cgi?id=58556#c16 https://bugs.freedesktop.org/show_bug.cgi?id=76732#c34 My initial report and discussion on freenode, #nouveau: http://people.freedesktop.org/~cbrill/dri-log/?channel=nouveau&date=2013-11-23 followed by initial patch proposal: http://permalink.gmane.org/gmane.comp.video.dri.devel/95943