[Bug 275876] FreeBSD Handbook: The X Window System: 5.4.3. Video Cards: Use of BusID appears wrong
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 21 Dec 2023 22:29:15 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275876
Bug ID: 275876
Summary: FreeBSD Handbook: The X Window System: 5.4.3. Video
Cards: Use of BusID appears wrong
Product: Documentation
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Books & Articles
Assignee: doc@FreeBSD.org
Reporter: david@catwhisker.org
The section of
https://docs.freebsd.org/en/books/handbook/x11/#x-graphic-card-drivers after
"To configure multiple video cards, the BusID can be added. A list of video
card bus IDs can be displayed by executing:" shows:
The output should be similar to the following:
vgapci0@pci0:0:2:0: class=0x030000 rev=0x07 hdr=0x00 vendor=0x8086
device=0x2a42 subvendor=0x17aa subdevice=0x20e4
vendor = 'Intel Corporation'
device = 'Mobile 4 Series Chipset Integrated Graphics Controller'
class = display
--
vgapci1@pci0:0:2:1: class=0x038000 rev=0x07 hdr=0x00 vendor=0x8086
device=0x2a43 subvendor=0x17aa subdevice=0x20e4
vendor = 'Intel Corporation'
device = 'Mobile 4 Series Chipset Integrated Graphics Controller'
class = display
(which is fine), but then shows:
Example 6. Select Intel® Video Driver and NVIDIA® Video Driver in a File
/usr/local/etc/X11/xorg.conf.d/20-drivers.conf
Section "Device"
Identifier "Card0"
Driver "intel"
BusID "pci0:0:2:0"
EndSection
Section "Device"
Identifier "Card0"
Driver "nvidia"
BusID "pci0:0:2:1"
EndSection
(which appears to be syntactically incorrect).
In my case, the pciconf output is:g1-70(14.0-S)[1] pciconf -lv | grep -B4 VGA
vgapci1@pci0:0:2:0: class=0x030000 rev=0x06 hdr=0x00 vendor=0x8086
device=0x0416 subvendor=0x1028 subdevice=0x05cc
vendor = 'Intel Corporation'
device = '4th Gen Core Processor Integrated Graphics Controller'
class = display
subclass = VGA
--
vgapci0@pci0:1:0:0: class=0x030000 rev=0xa1 hdr=0x00 vendor=0x10de
device=0x11fc subvendor=0x1028 subdevice=0x15cc
vendor = 'NVIDIA Corporation'
device = 'GK106GLM [Quadro K2100M]'
class = display
subclass = VGA
g1-70(14.0-S)[2]
When I tried bringing up X11 with no configuration files at all, that failed
(as documented in xorg.conf(5), under BusID: "In multi-head configurations, or
when using a secondary graphics card in a single-head configuration, this entry
is mandatory.").
When I tried using the precise syntax from `pciconf -lv` in the BusID, Xorg
failed to recognize it at all.
The above xorg.conf(5) page documents the syntax for BusID as:
| PCI:bus@domain:device:function (e.g., “PCI:1@0:0:0”....
while pciconf(8) documents the displayed "selector" as:
| ... Selectors identify a PCI device by its address
| in PCI config space and can take one of the following forms:
|
| • pcidomain:bus:device:function
| • pcibus:device:function
| • pcibus:device
|
| In the case of an abridged form, omitted selector components are assumed
| to be 0.
So: while pciconf may well append a numeral to the literal "pci", that's not a
valid syntax for Xorg. And there appears to be a potential for a bit
"shuffling" of the selector component IDs.
What brought me here is that, now that I have switched from only using
x11/nvidia-driver-390 (running stable/12) to also using i915kms (running
stable/14), Xorg itself "works," but I no longer have GLX, so I can't even run
nvidia-settings (for example): This, from Xorg.log:
[ 30222.667] (II) Platform probe for /dev/dri/card0
[ 30222.682] (!!) More than one possible primary device found
[ 30222.682] (--) PCI: (0@0:2:0) 8086:0416:1028:05cc rev 6, Mem @
0xf5400000/4194304, 0xd0000000/268435456, I/O @ 0x0000f000/64, BIOS @
0x????????/65536
[ 30222.682] (--) PCI: (1@0:0:0) 10de:11fc:1028:15cc rev 161, Mem @
0xf4000000/16777216, 0xe0000000/268435456, 0xf0000000/33554432, I/O @
0x0000e000/128, BIOS @ 0x????????/65536
[ 30222.682] (II) LoadModule: "glx"
...
...
[ 30222.868] (II) Initializing extension GLX
[ 30222.868] (EE) Failed to initialize GLX extension (Compatible NVIDIA X
driver not found)
[ 30222.868] (II) modeset(0): Damage tracking initialized
....
and with stable/14, the i915kms is required in order to get suspend/resume to
work on the laptop.
--
You are receiving this mail because:
You are the assignee for the bug.