Xrandr doesn’t detect monitor on hdmi port

xorgxrandr

I installed Arch on my laptop but I don't think this problem is specfic to Arch. The only problem at the moment is that the display connected to the hdmi port isn't detected. For example running from the gnome control centre the display applet then 'detect' only detects the laptop display, even though there is a 2nd monitor connected to the laptop via the HDMI port. I suspect that the problem is xrandr is not detecting the monitor connected to the HDMI port. How can I fix this?

Output from lspci -v for the vga controllers:

01:00.0 VGA compatible controller: nVidia Corporation Device 0df5 (rev a1) (prog-if 00 [VGA controller])
    Subsystem: Dell Device 0446
    Flags: bus master, fast devsel, latency 0, IRQ 16
    Memory at f0000000 (32-bit, non-prefetchable) [size=16M]
    Memory at c0000000 (64-bit, prefetchable) [size=256M]
    Memory at d0000000 (64-bit, prefetchable) [size=32M]
    I/O ports at 3000 [size=128]
    Expansion ROM at f1000000 [disabled] [size=512K]
    Capabilities: <access denied>
    Kernel driver in use: nouveau
    Kernel modules: nvidiafb, nouveau00:02.0 VGA compatible controller:

Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
    Subsystem: Dell Device 0446
    Flags: bus master, fast devsel, latency 0, IRQ 49
    Memory at f1400000 (64-bit, non-prefetchable) [size=4M]
    Memory at e0000000 (64-bit, prefetchable) [size=256M]
    I/O ports at 4000 [size=64]
    Expansion ROM at <unassigned> [disabled]
    Capabilities: <access denied>
    Kernel driver in use: i915
    Kernel modules: i915

output from xrandr:

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
LVDS1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080      60.0*+   40.0 
   1400x1050      60.0 
   1280x1024      60.0 
   1280x960       60.0 
   1024x768       60.0 
   800x600        60.3     56.2 
   640x480        59.9 
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)

Best Answer

I figured it out; my generated xorg.conf had the wrong nvidia module path and didn't specify the busid. To find out the busid I used:

$ lspci -v

01:00.0 VGA compatible controller: nVidia Corporation GT200 [GeForce GTX 260] (rev a1)

Then I edited xorg.conf so that it had a section similar to this:

Section "Device"
    Identifier "Device0"
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
    BusID "PCI:01:00:0"
    Option "NoLogo" "true"
    Option "UseEDID" "true"
    Option "ConnectedMonitor" "DFP"
EndSection

Section "Files"
    ModulePath      "/usr/lib/<path to nvidia driver>"
    ModulePath      "/usr/lib/xorg/modules"
EndSection
Related Question