wrong primary display selected in multihead setup (PCI bus enumeration order)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xorg (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: xserver-xorg
The configure script from xserver-xorg detects video hardware using /sbin/discover.
discover returns video devices using the same order that lspci does. (bus order?)
This makes the integrated video to appear BEFORE the one inserted on a AGP/PCI-E slot. Why is this wrong?
- When you configure BIOS setup to use the agp/pci-e device as the primary one, you will see the POST/grub/usplash in one monitor and X in the other one (as multihead is not configured)
- There are some broken BIOSes which shows the integrated device in lspci/discover even when you disable it in BIOS setup. This will make X fail (for instance, in live cd)
X knows what's the primary video adapter. From /var/log/
"(II) Primary Device is: PCI 01:00:0"
The problem lies here:
/var/lib/
# collect information about installed video card(s), if possible
if which discover > /dev/null 2>&1; then
DISCOVERED_
MULTIHEAD=$(echo "$DISCOVERED_VIDEO" | wc -l)
DISCOVERED_
if [ -n "$DISCOVERED_VIDEO" ]; then
NCARDS=$(echo "$DISCOVERED_VIDEO" | wc -l)
SERVERS=$(echo "$DISCOVERED_VIDEO" | awk 'BEGIN { FS="\t" } {print $2}' | grep -v unknown | sort | uniq)
if [ -n "$SERVERS" ]; then
NSERVERS=
fi
DRIVERS=$(echo "$DISCOVERED_VIDEO" | awk 'BEGIN { FS="\t" } {print $NF}' | grep -v unknown | sort | uniq)
if [ -n "$DRIVERS" ]; then
NDRIVERS=
fi
if [ $MULTIHEAD -gt 1 ]; then
MULTIHEAD=yes
fi
fi
fi
This code just configures video adapters in the same order discover gives them. It would be desirable that it could find which one is the primary video, as X already knows how to do.
Changed in xorg: | |
status: | Unconfirmed → Confirmed |
If someone gets here because the machine keeps detecting the disabled video card and not the external one, something good to know is that typing the "live xforcevesa" as the boot command would at least make the Live CD to boot.