Can't get GUI

Newbie here.

Have been "using" FreeBSD through XigmaNAS fo years,
but now tried to install 15.0 at old desktop. Install goes OK,
(flowed YT "From Zero to Desktop"), but fails after reboot with
black screen (it logs as user I have defined). It doesn't show GUI.
I can go to console with CTRL_ALT_F1 and reboot, but nothing else,
since after reboot it goes BLACK again after logs as my user.

It's OLD AMD Athlon II X4 640 CPU with Nvidia GeForce 8600GT.
I have selected Nvidia drivers 340, as recommended (later tried others)
but nothing changed. Linux works OK on it, but I wanted to try FreeBSD.

Any ideas?
 
I have selected Nvidia drivers 340
That seems to be the correct version for that old card.

Did the installer also attempt to install the NVidia DRM driver? That's likely what messed things up.
 
You may need to install nvidia-xconfig ( /usr/ports/x11/nvidia-xconfig )
and run it once to put an xorg.conf file in /etc/X11/
In case proprietary Nvidia 340 driver has issues with recognising the CARD.
 
You may need to install nvidia-xconfig ( /usr/ports/x11/nvidia-xconfig )
and run it once to put an xorg.conf file in /etc/X11/
Please stop doing that.

Just create a /usr/local/etc/X11/xorg.conf.d/driver-nvidia.conf:
Code:
Section "Device"
  Identifier "Nvidia"
  Driver "nvidia"
EndSection
That's it. That's all that's required.

Oh, and make sure the kernel module gets loaded; sysrc kld_list+=nvidia-modeset

In case the installer added nvidia-drm; sysrc kld_list-=nvidia-drm
 
  • Like
Reactions: mer
I have an old MacbookPro that also has an Nvidia 8600GT and wirh the help of the forum I found the configuration required to make it work.
As the nvidia-340 driver is quite old, it has a problem with the current xorg version.
To make it work, it is necessary to add the ignore ABI option to the driver configuration as is described here.
As far as I remember - I currently don‘t have the Mac at hand - the nvidia-340 kernel module is named nvidia.ko, so the rc.conf config line would read:
sysrc kld_list+=nvidia. This must be the only nvidia entry in the kld_list
 
Please stop doing that.

Just create a /usr/local/etc/X11/xorg.conf.d/driver-nvidia.conf:
Code:
Section "Device"
  Identifier "Nvidia"
  Driver "nvidia"
EndSection
That's it. That's all that's required.

Oh, and make sure the kernel module gets loaded; sysrc kld_list+=nvidia-modeset

In case the installer added nvidia-drm; sysrc kld_list-=nvidia-drm
nope, after i have created file (and did sysrc, now it stays at login prompt.
not automatically logged in as before (with black screen after).
if i login manually as user, it stays in CLI. startx also doesn't help,
but it points to /var/log/Xorg.0.log, where I see this:
...
NVIDIA: Use the -ignoreABI option to override this check
Unload module: "nvidia"
Failed to load module "nvidia" (unknown error, 0)
no screens found (EE)
...
 
Check this thread (first post):
 
well, this also didn't help much. after boot, again black screen.
but if i go to console and login as root (CTRL_ALT_F2) and "startx"
I get some graphic mode, with black background and 4 "windows":
2 x xterm, 1 x login and in upper right corner I get some analog clock.
i can type in all of those xterm and login windows, mouse also works.
so what now?
"standard" user, which should automatically enter graphic mode stays
at black screen (background?) without any windows, mouse or keyboard
options and root enters some weird X.
 
well, this also didn't help much. after boot, again black screen.
but if i go to console and login as root (CTRL_ALT_F2) and "startx"
I get some graphic mode, with black background and 4 "windows":
2 x xterm, 1 x login and in upper right corner I get some analog clock.
i can type in all of those xterm and login windows, mouse also works.
so what now?
"standard" user, which should automatically enter graphic mode stays
at black screen (background?) without any windows, mouse or keyboard
options and root enters some weird X.
That is the default TWM environment. If it works as root, but not as a non-root user, then we are looking at permissions.
Is your normal user part of the "video" group? "grep video /etc/group" check for your username. If it's not there, "man pw" to get the syntax. You will probably need to log out and log back in for it to take effect.
 
Please stop doing that.

Just create a /usr/local/etc/X11/xorg.conf.d/driver-nvidia.conf:
Code:
Section "Device"
  Identifier "Nvidia"
  Driver "nvidia"
EndSection
That's it. That's all that's required.

Oh, and make sure the kernel module gets loaded; sysrc kld_list+=nvidia-modeset

In case the installer added nvidia-drm; sysrc kld_list-=nvidia-drm
x11/nvidia-kmod-340 has nvidia.ko only. Even nvidia-modeset.ko is NOT provided.

And there are no graphics/nvidia-drm-*-kmod-340, too.
Currently nvidia-drm.ko is available only for ones corresponding with x11/nvidia-kmod, x11/nvidia-kmod-devel and x11/nvidia-kmod-580.
 
You may need to install nvidia-xconfig ( /usr/ports/x11/nvidia-xconfig )
and run it once to put an xorg.conf file in /etc/X11/

No, nvidia-xconfig is not mandatory since forever, and no package should have its files in system prefix,
the location is /usr/local/etc/X11

(flowed YT "From Zero to Desktop")

Absolute beginner error. Do not do that. This is not Linux. Do not search for random FreeBSD sources unless you specifically know you cannot find what you look for in official documentation.


So in case you read the official documentation you would grasp that desktop on FreeBSD is installed in multiple steps. You need to install the window server, the graphics drivers and the desktop environment.

You took care of the first two. You're now left to install and configure autorun of a desktop enviroment. I suggest you go read the documentation immediately how to setup .xinitrc/startx or a graphical login manager.
 
the location is /usr/local/etc/X11
The old-school (monolithic config) place is /etc/X11/, and current majority (fine-grained configs) is, precisely, /usr/local/etc/X11/xorg.conf.d/.

And /usr/local/share/X11/xorg.conf.d/ would be searched for system-wide defaults.

Note that /usr/local/share/X11/xorg.conf.d/ should be as-is untouched by admins and let ports/pkgs to handle everything there.
Site-specific and/or host-specific fine-grained configs should go into /usr/local/etc/X11/xorg.conf.d/.
 
/var/log/Xorg.0.log does not mention /usr/local/etc/X11/xorg.conf.d

A user may believe hes is expected to alter filer in 7usr/local/share/X11/xorg.conf.d

X.Org X Server 1.21.1.20
X Protocol Version 11, Revision 0
[ 31.924] Current Operating System: FreeBSD sh570r6 15.1-STABLE FreeBSD 15.1-STABLE stable/15-n283911-b0f75189f6cb sh570r6 amd64
[ 31.924]
[ 31.924] Current version of pixman: 0.46.2
[ 31.924] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 31.924] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 31.924] (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jun 15 14:48:03 2026
[ 31.926] (==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
[ 31.926] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"

[ 31.927] (==) No Layout section. Using the first Screen section.
[ 31.927] (==) No screen section available. Using defaults.
 
The old-school (monolithic config) place is /etc/X11/
While many people certainly dumped their configs there, /usr/local/X11/xorg.conf worked just fine. Think I stopped using /etc/X11 during the XFree86 days, a very long time ago. X will simply search /etc/X11/ and /usr/local/etc/X11/ for its configuration files.
 
/var/log/Xorg.0.log does not mention /usr/local/etc/X11/xorg.conf.d

A user may believe hes is expected to alter filer in 7usr/local/share/X11/xorg.conf.d

X.Org X Server 1.21.1.20
X Protocol Version 11, Revision 0
[ 31.924] Current Operating System: FreeBSD sh570r6 15.1-STABLE FreeBSD 15.1-STABLE stable/15-n283911-b0f75189f6cb sh570r6 amd64
[ 31.924]
[ 31.924] Current version of pixman: 0.46.2
[ 31.924] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 31.924] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 31.924] (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jun 15 14:48:03 2026
[ 31.926] (==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
[ 31.926] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"

[ 31.927] (==) No Layout section. Using the first Screen section.
[ 31.927] (==) No screen section available. Using defaults.
In the log you mentioned,
[ 31.926] (==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
[ 31.926] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
 
While many people certainly dumped their configs there, /usr/local/X11/xorg.conf worked just fine. Think I stopped using /etc/X11 during the XFree86 days, a very long time ago. X will simply search /etc/X11/ and /usr/local/etc/X11/ for its configuration files.
I've been using /etc/X11/xorg.conf until I've switched to graphics/nvidia-drm-*-kmod* for maintaining them. 😁
 
Back
Top