[HELP] Yet another help request on running Xorg with Nvidia graphics card

Hello enthusiasts, I've been running Freebsd on an old machine for close to a year now with no issues. I got another machine with a somewhat old (GeForce MX110) graphics card and decided to run my main DE setup (bspwm/dwm).

Problem: startx runs as expected, nothing fishy in the logs. The screen is on with a fixed cursor on the top left corner of the screen. Switching to another tty, Xorg is a process when nvidia-smi is run. dwm is successfully run as I can see its process. Knowing dwm bindings I "blindly" opened dmenu, opened alacritty and run reboot which works. I think this is more of a screen configuration issue but I can't pin it down.

Below are my configurations.
/etc/rc.conf:
1000001234.jpg


/boot/loader.conf:
1000001233.jpg


/etc/X11/xorg.conf (autogenerated with nvidia-xconfig):
1000001230.jpg
1000001229.jpg


/etc/fstab:
1000001232.jpg


I've looked at several solutions on this forum, including those with a similar problem as mine but still hit a dead end. I've tried nvidia-drm, running without configuring with Nvidia/xorg configure (works with nvidia-drm but the issue is the exact same). I've been tinkering with settings and configurations for hours, any help is much appreciated.
 
GeForce MX110
What version of the NVidia driver did you install? Its an oldy (released in 2017) but according to NVidia it should still be supported by the latest version of the driver.

/etc/X11/xorg.conf (autogenerated with nvidia-xconfig):
Alright, rm -f /etc/X11/xorg.conf, you don't need it.

Create a /usr/local/etc/X11/xorg.conf.d/nvidia-driver.conf:
Code:
Section "Device"
  Identifier "Device0"
  Driver "nvidia"
  BusID "PCI:1:0:0"
EndSection

You don't need to configure anything else. Test with startx as a user. Then post the log, easily done from the command line (assuming the system has internet access): cat /var/log/Xorg.0.log | nc termbin.com 9999

Not related to the issue, but remove those Linux mounts (/compat/linux/...) from /etc/fstab. They will be 'automagically' mounted if you add linux_enable="YES" to rc.conf.
 
What version of the NVidia driver did you install? Its an oldy (released in 2017) but according to NVidia it should still be supported by the latest version of the driver.


Alright, rm -f /etc/X11/xorg.conf, you don't need it.

Create a /usr/local/etc/X11/xorg.conf.d/nvidia-driver.conf:
Code:
Section "Device"
  Identifier "Device0"
  Driver "nvidia"
  BusID "PCI:1:0:0"
EndSection

You don't need to configure anything else. Test with startx as a user. Then post the log, easily done from the command line (assuming the system has internet access): cat /var/log/Xorg.0.log | nc termbin.com 9999

Not related to the issue, but remove those Linux mounts (/compat/linux/...) from /etc/fstab. They will be 'automagically' mounted if you add linux_enable="YES" to rc.conf.
Here is the xorg log file. This is after removing the autogenerated conf and adding the nvidia-driver.conf. I'm on the latest Nvidia drivers. Here is what I see on my screen after running startx:
1000001265.jpg
 
According to your log, your monitor doesn't seem to be detected.
Maybe you need to configure your monitor manually.

Example of monitor detection in /var/log/Xorg.0.log on my ThinkPad P52 with 4k internal monitor (iGPU is intentionally disabled on UEFI firmware).
Code:
     (snip)
[   341.925] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[   341.926]     compiled for 1.6.99.901, module version = 1.0.0
[   341.926]     Module class: X.Org Server Extension
[   341.926] (II) NVIDIA GLX Module  570.153.02  Tue May 13 16:08:23 UTC 2025
[   341.926] (II) NVIDIA: The X server supports PRIME Render Offload.
[   341.926] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[   341.926] (--) NVIDIA(0):     DFP-0
[   341.926] (--) NVIDIA(0):     DFP-1
[   341.926] (--) NVIDIA(0):     DFP-2
[   341.926] (--) NVIDIA(0):     DFP-3 (boot)
[   341.926] (--) NVIDIA(0):     DFP-4
[   341.926] (--) NVIDIA(0):     DFP-5
[   341.928] (II) NVIDIA(0): NVIDIA GPU Quadro P1000 (GP107GL-A) at PCI:1:0:0 (GPU-0)
[   341.928] (--) NVIDIA(0): Memory: 4194304 kBytes
[   341.928] (--) NVIDIA(0): VideoBIOS: 86.07.63.00.76
[   341.928] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[   341.928] (--) NVIDIA(GPU-0): DFP-0: disconnected
[   341.928] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[   341.928] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[   341.928] (--) NVIDIA(GPU-0):
[   341.928] (--) NVIDIA(GPU-0): DFP-1: disconnected
[   341.928] (--) NVIDIA(GPU-0): DFP-1: Internal DisplayPort
[   341.928] (--) NVIDIA(GPU-0): DFP-1: 1440.0 MHz maximum pixel clock
[   341.928] (--) NVIDIA(GPU-0):
[   341.928] (--) NVIDIA(GPU-0): DFP-2: disconnected
[   341.928] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[   341.928] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[   341.928] (--) NVIDIA(GPU-0):
[   341.928] (--) NVIDIA(GPU-0): Sharp (DFP-3): connected
[   341.928] (--) NVIDIA(GPU-0): Sharp (DFP-3): Internal DisplayPort
[   341.928] (--) NVIDIA(GPU-0): Sharp (DFP-3): 1440.0 MHz maximum pixel clock
[   341.928] (--) NVIDIA(GPU-0):
[   341.929] (--) NVIDIA(GPU-0): DFP-4: disconnected
[   341.929] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[   341.929] (--) NVIDIA(GPU-0): DFP-4: 1440.0 MHz maximum pixel clock
[   341.929] (--) NVIDIA(GPU-0):
[   341.929] (--) NVIDIA(GPU-0): DFP-5: disconnected
[   341.929] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[   341.929] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[   341.929] (--) NVIDIA(GPU-0):
[   341.931] (==) NVIDIA(0):
[   341.931] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[   341.931] (==) NVIDIA(0):     will be used as the requested mode.
[   341.931] (==) NVIDIA(0):
[   341.932] (II) NVIDIA(0): Validated MetaModes:
[   341.932] (II) NVIDIA(0):     "DFP-3:nvidia-auto-select"
[   341.932] (II) NVIDIA(0): Virtual screen size determined to be 3840 x 2160
[   341.938] (--) NVIDIA(0): DPI set to (286, 288); computed from "UseEdidDpi" X config
[   341.938] (--) NVIDIA(0):     option
    (snip)
 
Example of Section "Monitor" before I've switched to graphics/nvidia-drm-61-kmod. At that time, the monitor was detected as DP-2, so configured as such.

Code:
Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Sharp"
    ModelName      "DP-2"
    HorizSync       47.2 - 56.6
    VertRefresh     50.0 - 60.0
    DisplaySize    344 194
EndSection

And decoded EDID data by sysutils/edid-decode.
Code:
% edid-decode edid.bin.TP-P52.bin
edid-decode (hex):

00 ff ff ff ff ff ff 00 4d 10 a1 14 00 00 00 00
16 1c 01 04 a5 22 13 78 06 df 50 a3 54 35 b5 26
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 50 d0 00 a0 f0 70 3e 80 30 20
35 00 58 c2 10 00 00 18 00 00 00 10 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fe
00 4c 51 31 35 36 44 31 4a 57 34 32 0a 20 00 ca

----------------

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: SHP
    Model: 5281
    Made in: week 22 of 2018
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 8
    DisplayPort interface
    Maximum image size: 34 cm x 19 cm
    Gamma: 2.20
    Supported color formats: RGB 4:4:4
    Default (sRGB) color space is primary color space
    First detailed timing includes the native pixel format and preferred refresh rate
  Color Characteristics:
    Red  : 0.6396, 0.3291
    Green: 0.2099, 0.7099
    Blue : 0.1494, 0.0595
    White: 0.3125, 0.3281
  Established Timings I & II: none
  Standard Timings: none
  Detailed Timing Descriptors:
    DTD 1:  3840x2160   60.000000 Hz  16:9    133.320 kHz    533.280000 MHz (344 mm x 194 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol N
                 Vfront    3 Vsync   5 Vback   54 Vpol N
    Dummy Descriptor:
    Dummy Descriptor:
    Alphanumeric Data String: 'LQ156D1JW42'
Checksum: 0xca
 
May be related:
Code:
Current Operating System: FreeBSD freebsd 14.3-STABLE FreeBSD 14.3-STABLE stable/14-n271477-eadda156a50d GENERIC amd64
Did you build x11/nvidia-driver from ports or did you use the package? Packages are built for 14.2. Although I would have expected this to go bad as soon as the kernel module gets loaded, if it gets loaded at all.

Code:
[   408.248] (--) PCI:*(0@0:2:0) 8086:9bca:103c:86b4 rev 4, Mem @ 0xb2000000/16777216, 0xc0000000/268435456, I/O @ 0x00006000/64, BIOS @ 0x????????/65536
[   408.249] (--) PCI: (1@0:0:0) 10de:174e:103c:86b4 rev 162, Mem @ 0xb3000000/16777216, 0xa0000000/268435456, 0xb0000000/33554432, I/O @ 0x00005000/128
Is this a desktop or a laptop? If it's a laptop this might be Optimus.
If it's a desktop with an external video card, did you perhaps attach the monitor to the onboard video?
 
May be related:
Code:
Current Operating System: FreeBSD freebsd 14.3-STABLE FreeBSD 14.3-STABLE stable/14-n271477-eadda156a50d GENERIC amd64
Did you build x11/nvidia-driver from ports or did you use the package? Packages are built for 14.2. Although I would have expected this to go bad as soon as the kernel module gets loaded, if it gets loaded at all.

Code:
[   408.248] (--) PCI:*(0@0:2:0) 8086:9bca:103c:86b4 rev 4, Mem @ 0xb2000000/16777216, 0xc0000000/268435456, I/O @ 0x00006000/64, BIOS @ 0x????????/65536
[   408.249] (--) PCI: (1@0:0:0) 10de:174e:103c:86b4 rev 162, Mem @ 0xb3000000/16777216, 0xa0000000/268435456, 0xb0000000/33554432, I/O @ 0x00005000/128
Is this a desktop or a laptop? If it's a laptop this might be Optimus.
If it's a desktop with an external video card, did you perhaps attach the monitor to the onboard video?
Yes it is Optimus supported according to this spec sheet. Looking at similar issues on the forum, it seems this issue is yet to be solved. I found a hack on GitHub but it hasn't been updated for quite a while. I have no experience working with Nvidia and its drivers.
 
Ah. Optimus...
For Optimus notebooks, usually graphics/nvidia-drm-*-kmod is mandatory.
This thread is about current implementation at early phase.

And without Optimus enabled, I heard aboout some notebooks that outputs from nvidia dGPU are directed only to external displays. Optimus (PRIME) allows rendering from nvidia dGPU to framebuffers of iGPU.

In my ThinkPad P52, outputs from iGPU and from nvidia dGPU (Quadro P1000) are connected to different DP ports of the LCD panel, thus, dGPU works fine even iGPU is disabled on UEFI firnware. I hope ALL notebooks implements their display panels just as such, with strong legal restrictions.
 
Back
Top