# Video ports
#
# The primary port (on which appears Grub and the early, EFI framebuffer console) is the left port
# of the top video card.  I could find no way to change this under Primeval’s BIOS.
#
# Nouveau driver options are documented in `man 4 nouveau`.
#
# PUBLIC at `http://reluk.ca/sys/computer/workstation/etc/` — for no particular reason.


    ### PCI 9, top slot, MSI GeForce GT 1030, card 1
    Section "Device"
        Identifier "Top video card, left port" # [LRO]
        BusID "PCI:9:0:0" # [BIF]
        Option "ZaphodHeads" "DP-2" # Left port, a Display Port. [ZH]
        Screen 1 # [NSN]
        Driver "nouveau"
        EndSection
    Section "Device"
        Identifier "Top video card, right port" # [LRO]
        BusID "PCI:9:0:0" # [BIF]
        Option "HWCursor" "off" # [HWC]
        Option "ZaphodHeads" "HDMI-2" # Right port. [ZH]
        Screen 0 # [NSN]
        Driver "nouveau"
        EndSection


    ### PCI 10 (or A), middle slot, MSI GeForce GT 1030, card 2
    Section "Device"
        Identifier "Middle video card, left port" # [LRO]
        BusID "PCI:10:0:0" # [BIF]
#     # Option "HWCursor" "off" # [HWC]
#     ### leaves an immovable extra  cursor on screen R; better to suffer (on just screen R) fault HWC
        Option "HWCursor" "off" # [HWC]
        Option "ZaphodHeads" "DP-3" # Left port, a Display Port. [ZH]
        Screen 0 # [NSN]
        Driver "nouveau"
        EndSection
    Section "Device"
        Identifier "Middle video card, right port" # [LRO]
        BusID "PCI:10:0:0" # [BIF]
        Option "ZaphodHeads" "HDMI-3" # Right port. [ZH]
        Screen 1 # [NSN]
        Driver "nouveau"
        EndSection


    ### PCI 4, bottom slot, MSI GeForce GT 1030, card 0
    Section "Device"
        Identifier "Bottom video card, left port" # [LRO]
        BusID "PCI:4:0:0" # [BIF]
        Option "ZaphodHeads" "DP-1" # Left port, a Display Port. [ZH]
        Screen 0 # [NSN]
        Driver "nouveau"
        EndSection
    Section "Device"
        Identifier "Bottom video card, right port" # [LRO]
        BusID "PCI:4:0:0" # [BIF]
        Option "HWCursor" "off" # [HWC]
        Option "ZaphodHeads" "HDMI-1" # Right port. [ZH]
        Screen 1 # [NSN]
        Driver "nouveau"
        EndSection


# NOTES
# ─────
#   BIF  Bus identifier form.
#
#            bus[@domain]:device[:func]
#
#        Here ‘domain, bus, device and func are decimal integers.  domain and func may be omitted and
#        assumed to be zero, although doing this isn’t encouraged.’  See `xf86ParsePciBusString` at
#        `https://github.com/freedesktop/xorg-xserver/blob/master/hw/xfree86/common/xf86pciBus.c`.
#
#        To show all identifiers in form `domain:bus:device.func`, use `lspci -D | grep VGA`.
#
#   HWC  Disabling the hardware cursor on account of the corresponding screen being rotated.  Otherwise
#        moving the cursor over certain windows on that screen triggers a fault wherein large parts
#        of the screen are misdrawn, viz. with outdated or misplaced content.  This is repeatable
#        for a) Emacs windows maximized vertically or horizontally, b) Emacs and Firefox windows
#        together on the same screen and sometimes c) XFE windows.  Cf. the namesake
#        footnote at `60_monitors.conf` and `60_screens.conf`.
#
#   LRO  Left-right orientation is from the computer’s view, viz. looking at the back of it.
#
#   NSN  Nominal `Screen` numbers.  A numbering that contradicts the written order of screens
#        in the `ServerLayout` section will confuse the X server, resulting in this log message:
#
#            (EE) Screen 0 deleted because of no matching config section.
#
#        One correction is to reverse the numbers here; e.g. writing ‘0’ instead of ‘1’, and vice versa.
#
#   ZH · Here use the name given by `/sys/class/drm/` except in the case of HDMI, for which use `HDMI-1`
#        instead of `HDMI-A-1`, and so forth.  https://nouveau.freedesktop.org/MultiMonitorDesktop.html