Zenbook UM433I installing nvidia driver

You'll,
for a couple of years now I am running FreeBSD (presently 14.2-RELEASE) on two desktops and really enjoy the stability, simplicity and straight-forwardness. However, I struggle with installing FreeBSD on an Asus Zenbook UM433I with a Nvidia GP107 (GeForce MX350) dGPU and an AMD Renoir iGPU, getting a black screen. Nvidia driver is the current one (550.xxx) and installed with pkg install nvidia-driver. I have read quite a number of threads here on this topic, but still cannot find my mistake.

rc.conf:
Code:
dbus_enable="YES"
gdm_enable="YES"
xfce_enable="YES"
slim_enable="YES"
kld_list="nvidia-modeset "
sound_load="YES"
snd_hda_load="YES"
cupsd_enable="YES"
linux_enable="YES"
devfs_system_ruleset="localrules"
autofs_enable="YES"
webcamd_enable="YES"

/usr/local/etc/X11/xorg.conf.d/nvidia-driver.conf:
Code:
Section "Device"
    Identifier "Card0"
    Driver "Nvidia"
    VendorName “NVIDIA Corporation”
    BusID "PCI:1:0:0"
EndSection
BusId determined with pciconf -lv | grep vgapci -A5


/boot/toader.conf
Code:
autofs_load="YES"
cuse_load="YES" 
fusefs_load="YES"
geom_eli_load="YES"
snd_hda_load=”YES”
snd_driver_load=”YES”
linux_load=”YES”
Appreciate your help!
 
You can already try to remove the BusID line. I don't have this on a system that holds a GTX 750 ti.
Also, IIRC, the Driver in the .conf file is "nvidia", not "Nvidia".
 
What AMD CPU exactly do you have?

However, I struggle with installing FreeBSD on an Asus Zenbook UM433I with a Nvidia GP107 (GeForce MX350) dGPU and an AMD Renoir iGPU, getting a black screen.
Apart from the lowercase spelling as in Driver "nvidia", my suspicion is that your AMD Renoir iGPU and its driver is the source of your blackscreen.
Another complication with your ASUS notebook might be that you can/cannot direct your video output from you Nvidia graphics to your laptop screen where it can only drive an external output: confer to your ASUS manual description, especially its BIOS/firmware. There may be some BIOS settings that affect this as well.

If your iGPU is supported, you likely need a 14.2-RELEASE specific version of graphics/drm-61-kmod; see this thread. Alternatively you can build graphics/drm-kmod locally to get & install the necceassary 14.2-RELEASE specific packages.
 
I had the same issue upgrading my R1 Alienware Steam Machine to 14.2-RELEASE. nvidia-hybrid-graphics is no longer available so I switched to GhostBSD on that machine.
 
Thanks for your quick replies!

If I remove the BusID, I get the X server error message "No screens found(EE)". Since I have two GPUs, the BusID seems to be required.

I changed it to lower case "nvidia".

Unfortunately, the BIOS settings are very restricted. For instance, I cannot disable the iGPU, which might solve the problem.

True, maybe the video stream is not directed to the screen. What about a screen section in the nvidia-driver.conf?
 
monwarez
Thanks for this hint! But just for my understanding:
Why do I need the iGPU driver, if I start the X server on the dGPU?
Why is DRM needed for the dGPU? According to the homepage of Nvidia, the GeForce GP107 (MX350) is supported by the current nvidia-driver.ko (550.xxx).

Erichans
Sorry, missed your question. My CPU is an AMD Ryzen 4700U.
 
So, I verified my own machine: no BusId in Xorg conf file, same nvidia driver than you (550), the module in kld_list is nvidia-modeset.

Differences are my iGPU is Intel and the nvidia card model.

Something I see about BusID: it's not exactly the same format that the output of pciconf -l.

Xorg: https://www.x.org/releases/X11R7.7/doc/man/man5/xorg.conf.5.xhtml#heading10
BusID "bus−id"

This specifies the bus location of the graphics card. For PCI/AGP cards, the bus−id string has the form PCI:bus:device:function (e.g., “PCI:1:0:0” might be appropriate for an AGP card). This field is usually optional in single-head configurations when using the primary graphics card. In multi-head configurations, or when using a secondary graphics card in a single-head configuration, this entry is mandatory. Its main purpose is to make an unambiguous connection between the device section and the hardware it is representing. This information can usually be found by running the pciaccess tool scanpci.

Selector in FreeBSD format, pciconf(8):
pcidomain:bus:device:function

As you see, there is no domain in the BusID format you use.

So, verify you are correct for this format and if it is, post your Xorg log, either without BusID and with.
 
pciconf -l gives information about class, revision, vendor, subvendor, etc.

I have to figuren out how I can export the Xorg log file, maybe via USB. The laptop ist not yet connected to the Internet.
 
Sorry for the delay, I was cut off from the internet. Herre are pciconf -l and the Xorg log file:


pciconf -l:

1) For the dGPU (Nvidia GP107 / GeForce MX350) at BusID 1.0.0:
class=0x030200 rev=0xa1 hdr=0x00 vendor=0x10de device=0x1c95 subvendor=0x1043 subdevice=0x1092

2) For the iGPU (AMD Renoir, Ryzen 4700U) at BusID 4:0:0:
class=0x030000 rev=0xc2 hdr=0x00 vendor=0x1002 device=0x1636 subvendor=0x1043 subdevice=0x1092


Xorg log file:

X.Org X Server 1.21.1.14
X Protocol Version 11, Revision 0
Current Operating System: FreeBSD Asus-Laptop-Martin 14.2-RELEASE FreeBSD 14.2-RELEASE releng/14.2-n269506-c8918d6c7412 GENERIC amd64
Current version of pixman: 0.42.2
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Mon Jan 6 07:28:44 2025
(==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
(==) No Layout section. Using the first Screen section.
(==) No screen section available. Using defaults.
(**) |-->Screen "Default Screen Section" (0)
(**) | |-->Monitor "<default monitor>"
(==) No device specified for screen "Default Screen Section".
Using the first device section listed.
(**) | |-->Device "card0"
(==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
(**) Allowing byte-swapped clients
(==) Automatically adding devices
(==) Automatically enabling devices
(==) Automatically adding GPU devices
(==) Automatically binding GPU devices
(==) Max clients allowed: 256, resource mask: 0x1fffff
(==) FontPath set to:
/usr/local/share/fonts/misc/,
/usr/local/share/fonts/TTF/,
/usr/local/share/fonts/OTF/,
/usr/local/share/fonts/Type1/,
/usr/local/share/fonts/100dpi/,
/usr/local/share/fonts/75dpi/,
catalogue:/usr/local/etc/X11/fontpath.d
(==) ModulePath set to "/usr/local/lib/xorg/modules"
(II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
(II) Module ABI versions:
X.Org ANSI C Emulation: 0.4
X.Org Video Driver: 25.2
X.Org XInput driver : 24.4
X.Org Server Extension : 10.0
(--) PCI: (1@0:0:0) 10de:1c96:1043:1092 rev 161, Mem @ 0xfb000000/16777216, 0xb0000000/268435456, 0xc0000000/33554432, I/O @ 0x0000f000/128
(--) PCI:*(4@0:0:0) 1002:1636:1043:1092 rev 194, Mem @ 0xd0000000/268435456, 0xe0000000/2097152, 0xfc500000/524288, I/O @ 0x0000e000/256, BIOS @ 0x????????/65536
(II) LoadModule: "glx"
(II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
(II) Module glx: vendor="X.Org Foundation"
compiled for 1.21.1.14, module version = 1.0.0
ABI class: X.Org Server Extension, version 10.0
(II) LoadModule: "nvidia"
(II) Loading /usr/local/lib/xorg/modules/drivers/nvidia_drv.so
(II) Module nvidia: vendor="NVIDIA Corporation"
compiled for 1.6.99.901, module version = 1.0.0
Module class: X.Org Video Driver
(II) NVIDIA dlloader X Driver 550.120 Fri Sep 13 09:34:46 UTC 2024
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
(--) Using syscons driver with X support (version 2.0)
(--) using VT number 9

(EE) No devices detected.
(EE) Fatal server error:
(EE) no screens found(EE)
(EE) Please consult the The X.Org Foundation support at http://wiki.x.org for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.


Thanks in advance!
 
P.S. The XOrg log file is of course with disabled BusID 1:0:0 in /usr/local/etc/X11/xorg.conf.d/nvidia-driver.conf. If I use BusID 1:0:0, I get locked out by a black screen.
 
Emrion
In nvidia-driver.conf the correct notation is PCI:1:0:0. Indeed, the spelling is somewhat different from the usual, pci0:1:0:0, but I checked the handbook and also found a thread in this topic.

Checking the XOrg log file again, I saw that FreeBSD actually found a device, but it says "is none of the devices in the conf files". In fact, I added a conf file for the AMD iGPU at PCI:4:0:0, but I keep getting a black screen. With pciconf -lv | grep -B4 display I geht the known information about the iGPU (AMD Renoir, Ryzen 4700U) and the dGPU (Nvidia GP107M, GeForce MX350). The conf files are identical to the ones I found in the handbook, see above. I can post them again. How do I find out which devices the X Server found?
 
Is nvidia-modeset actually loaded? Use kldstat.

Post the Xorg log file when you get a black screen, but when you have only the nvidia conf file. Don't specify an additionnal conf file for the iGPU for the moment.
 
I think I saw the post while loading the nvidia driver. But I will check with kldstat tonight.

Also, XOrg log file with BusID st to PCI:1:0:0 (dGPU from Nvidia), producing black screen, no conf file for amdgpu.

It would be really nice to have FreeBSD on that laptop, because now I have to fiddle around over the network/NAS due to different OS and filesystems.

Thanks in advance!
 
Emrion
You were right. kldsat and Xorg.0.log reveal that the nvidia driver is not loaded. According to the homepage of Nvidia 550.xxx is actually supposed to support the Nvidia GP107M (GeForce MX350) card. In fact, even older drivers are supposed to. Anyway, here is Xorg.0.log and the other files again (just to make sure I didn't change anything in the meantime which could have affected it).

Xorg.0.log (black screen, no iGPU conf file or iGPU driver loaded, only nvidia-driver in rc.conf and nvidia-driver.con in /usr/local/etc/X11/xorg.conf.d, see below)
Code:
[   468.541] 
X.Org X Server 1.21.1.14
X Protocol Version 11, Revision 0
[   468.541] Current Operating System: FreeBSD  14.2-RELEASE FreeBSD 14.2-RELEASE releng/14.2-n269506-c8918d6c7412 GENERIC amd64
[   468.541]  
[   468.541] Current version of pixman: 0.42.2
[   468.541]     Before reporting problems, check [URL]http://wiki.x.org[/URL]
    to make sure that you have the latest version.
[   468.541] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   468.541] (==) Log file: "/var/log/Xorg.0.log", Time: Wed Jan  8 10:18:32 2025
[   468.542] (==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
[   468.542] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
[   468.542] (==) No Layout section.  Using the first Screen section.
[   468.542] (==) No screen section available. Using defaults.
[   468.542] (**) |-->Screen "Default Screen Section" (0)
[   468.542] (**) |   |-->Monitor "<default monitor>"
[   468.543] (==) No device specified for screen "Default Screen Section".
    Using the first device section listed.
[   468.543] (**) |   |-->Device "Card0"
[   468.543] (==) No monitor specified for screen "Default Screen Section".
    Using a default monitor configuration.
[   468.543] (**) Allowing byte-swapped clients
[   468.543] (==) Automatically adding devices
[   468.543] (==) Automatically enabling devices
[   468.543] (==) Automatically adding GPU devices
[   468.543] (==) Automatically binding GPU devices
[   468.543] (==) Max clients allowed: 256, resource mask: 0x1fffff
[   468.545] (==) FontPath set to:
    /usr/local/share/fonts/misc/,
    /usr/local/share/fonts/TTF/,
    /usr/local/share/fonts/OTF/,
    /usr/local/share/fonts/Type1/,
    /usr/local/share/fonts/100dpi/,
    /usr/local/share/fonts/75dpi/,
    catalogue:/usr/local/etc/X11/fontpath.d
[   468.545] (==) ModulePath set to "/usr/local/lib/xorg/modules"
[   468.545] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
[   468.545] (II) Module ABI versions:
[   468.545]     X.Org ANSI C Emulation: 0.4
[   468.545]     X.Org Video Driver: 25.2
[   468.545]     X.Org XInput driver : 24.4
[   468.545]     X.Org Server Extension : 10.0
[   468.547] (--) PCI: (1@0:0:0) 10de:1c96:1043:1092 rev 161, Mem @ 0xfb000000/16777216, 0xb0000000/268435456, 0xc0000000/33554432, I/O @ 0x0000f000/128
[   468.547] (--) PCI:*(4@0:0:0) 1002:1636:1043:1092 rev 194, Mem @ 0xd0000000/268435456, 0xe0000000/2097152, 0xfc500000/524288, I/O @ 0x0000e000/256, BIOS @ 0x????????/65536
[   468.547] (II) LoadModule: "glx"
[   468.548] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[   468.552] (II) Module glx: vendor="X.Org Foundation"
[   468.552]     compiled for 1.21.1.14, module version = 1.0.0
[   468.552]     ABI class: X.Org Server Extension, version 10.0
[   468.552] (II) LoadModule: "nvidia"
[   468.553] (II) Loading /usr/local/lib/xorg/modules/drivers/nvidia_drv.so
[   468.556] (II) Module nvidia: vendor="NVIDIA Corporation"
[   468.556]     compiled for 1.6.99.901, module version = 1.0.0
[   468.556]     Module class: X.Org Video Driver
[   468.556] (II) NVIDIA dlloader X Driver  550.120  Fri Sep 13 09:34:46 UTC 2024
[   468.556] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[   468.556] (--) Using syscons driver with X support (version 2.0)
[   468.556] (--) using VT number 2

[   468.557] (II) Loading sub module "fb"
[   468.557] (II) LoadModule: "fb"
[   468.557] (II) Module "fb" already built-in
[   468.557] (II) Loading sub module "wfb"
[   468.557] (II) LoadModule: "wfb"
[   468.557] (II) Loading /usr/local/lib/xorg/modules/libwfb.so
[   468.558] (II) Module wfb: vendor="X.Org Foundation"
[   468.558]     compiled for 1.21.1.14, module version = 1.0.0
[   468.558]     ABI class: X.Org ANSI C Emulation, version 0.4
[   468.558] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[   468.558] (EE) NVIDIA:     system's kernel log for additional error messages and
[   468.558] (EE) NVIDIA:     consult the NVIDIA README for details.
[   468.558] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[   468.558] (EE) NVIDIA:     system's kernel log for additional error messages and
[   468.558] (EE) NVIDIA:     consult the NVIDIA README for details.
[   468.558] (EE) No devices detected.
[   468.558] (EE) 
Fatal server error:
[   468.558] (EE) no screens found(EE) 
[   468.558] (EE) 
Please consult the The X.Org Foundation support 
     at [URL]http://wiki.x.org[/URL]
 for help. 
[   468.558] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[   468.558] (EE) 
[   468.559] (EE) Server terminated with error (1). Closing log file.


Code:
/usr/local/etc/X11/xorg.conf.d/nvidia-driver.conf
Code:
Section "Device"
   Identifier "Card0"
   # VendorName "NVIDIA Corporation"
   Driver "nvidia"
   BusID "PCI:1:0:0"
EndSection



/etc/rc.conf
Code:
hostname="Asus-Laptop"
keymap="de.kbd"
wlans_iwlwifi0="wlan0"
ifconfig_wlan0="WPA DHCP"
sshd_enable="YES"
# ntpd_enable="YES"
powerd_enable="YES"
moused_nondefault_enable="NO"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"
dbus_enable="YES"
gdm_enable="YES"
xfce_enable="YES"
slim_enable="YES"
kld_list="nvidia-modeset"
sound_load="YES"
snd_hda_load="YES"
cupsd_enable="YES"
linux_enable="YES"
devfs_system_ruleset="localrules"
autofs_enable="YES"
webcamd_enable="YES"



/boot/loader.conf
Code:
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
cryptodev_load="YES"
zfs_load="YES"
autofs_load="YES"
cuse_load="YES"
# fusefs_load="YES"
geom_eli_load="YES"


I appreciate it!
 
Emrion
[...] Xorg.0.log reveal that the nvidia driver is not loaded. [...]
Xorg.0.log (black screen, no iGPU conf file or iGPU driver loaded, only nvidia-driver in rc.conf and nvidia-driver.con in /usr/local/etc/X11/xorg.conf.d, see below)
Rich (BB code):
 <snap>
[   468.547] (--) PCI: (1@0:0:0) 10de:1c96:1043:1092 rev 161, Mem @ 0xfb000000/16777216, 0xb0000000/268435456, 0xc0000000/33554432, I/O @ 0x0000f000/128
[   468.547] (--) PCI:*(4@0:0:0) 1002:1636:1043:1092 rev 194, Mem @ 0xd0000000/268435456, 0xe0000000/2097152, 0xfc500000/524288, I/O @ 0x0000e000/256, BIOS @ 0x????????/65536
[   468.547] (II) LoadModule: "glx"
[   468.548] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[   468.552] (II) Module glx: vendor="X.Org Foundation"
[   468.552]     compiled for 1.21.1.14, module version = 1.0.0
[   468.552]     ABI class: X.Org Server Extension, version 10.0
[   468.552] (II) LoadModule: "nvidia"
[   468.553] (II) Loading /usr/local/lib/xorg/modules/drivers/nvidia_drv.so
[   468.556] (II) Module nvidia: vendor="NVIDIA Corporation"
[   468.556]     compiled for 1.6.99.901, module version = 1.0.0
[   468.556]     Module class: X.Org Video Driver
[   468.556] (II) NVIDIA dlloader X Driver  550.120  Fri Sep 13 09:34:46 UTC 2024
[   468.556] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[   468.556] (--) Using syscons driver with X support (version 2.0)
[   468.556] (--) using VT number 2

[   468.557] (II) Loading sub module "fb"
[   468.557] (II) LoadModule: "fb"
[   468.557] (II) Module "fb" already built-in
[   468.557] (II) Loading sub module "wfb"
[   468.557] (II) LoadModule: "wfb"
[   468.557] (II) Loading /usr/local/lib/xorg/modules/libwfb.so
[   468.558] (II) Module wfb: vendor="X.Org Foundation"
[   468.558]     compiled for 1.21.1.14, module version = 1.0.0
[   468.558]     ABI class: X.Org ANSI C Emulation, version 0.4
[   468.558] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[   468.558] (EE) NVIDIA:     system's kernel log for additional error messages and
[   468.558] (EE) NVIDIA:     consult the NVIDIA README for details.
[   468.558] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[   468.558] (EE) NVIDIA:     system's kernel log for additional error messages and
[   468.558] (EE) NVIDIA:     consult the NVIDIA README for details.

Code:
/usr/local/etc/X11/xorg.conf.d/nvidia-driver.conf
Code:
Section "Device"
   Identifier "Card0"
   # VendorName "NVIDIA Corporation"
   Driver "nvidia"
   BusID "PCI:1:0:0"
EndSection

What I see in the quoted parts is that the Xorg Nvidia driver does load, but not successfully because it fails to initialise:
[ 468.558] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module.

[ 468.556] (II) NVIDIA dlloader X Driver 550.120 Fri Sep 13 09:34:46 UTC 2024
shows that you have installed a "550" nvidia driver. Currently, for the all Nvidia proprietary packages*, you have
x11/nvidia-driver-{304|340|390|470} as packages in the FreeBSD ports tree; of those x11/nvidia-driver-470 is the one with the highest version number.

Can you post the output of pkg info | grep nvidia
Edit: in light of the message below, I withdraw my question.
___
*
pkg install nvidia-driver
You may have intentionally/unintentinally installed graphics/nvidia-drm-kmod
 
@ Emiron
kldstat shows no nvidia-driver being loaded, only the usual stuff from rc.conf (I skipped the adderesses):

kernel
geom_eli.ko
cryptodev.ko
autofs.ko
cuse.ko


Erichans
pkg info | grep nvidia:

nvidia-driver-550.120 Nvidia graphics card binary drivers for hardware OpenGL rendering

I installed the driver via 'pkg install nvidia-driver'. pkg installed 550.120. I also tried 470 by the way, which did not work either.
 
@ SirDice
kldload nvidia-modeset does load the driver!

nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 550.120 Fri Sept 13 09:32:47 UTC 2024


If I check with kldstat, there it is:

nvidia-modeset.ko
nvidia.ko
 
Back
Top