Problem with configuring X.org

I believe that slim runs as service by root and it launches xorg with your normal user.

How do you load the drm module? is there anything relevant in loader.conf? what do you have in rc.conf?
Indeed, # dmesg | grep drm should show something to make sure drm module is loaded successfully.
It's strange, but when I specified the path to the loaded module completely (kld_list="/boot/modules/i915kms.ko"), the picture changed. It started loading and the diagnostics changed.
Code:
ogogon@test:/var/log# dmesg | grep drm
drmn0: <drmn> on vgapci0
vgapci0: child drmn0 requested pci_enable_io
vgapci0: child drmn0 requested pci_enable_io
drmn drmn0: drm_WARN_ON(!IS_PLATFORM(dev_priv, INTEL_TIGERLAKE) && !IS_PLATFORM(dev_priv, INTEL_ROCKETLAKE))
[drm] Unable to create a private tmpfs mount, hugepage support will be disabled(-19).
[drm] Got stolen memory base 0x0, size 0x0
lkpi_iic0: <LinuxKPI I2C> on drmn0
lkpi_iic1: <LinuxKPI I2C> on drmn0
lkpi_iic2: <LinuxKPI I2C> on drmn0
lkpi_iic3: <LinuxKPI I2C> on drmn0
lkpi_iic4: <LinuxKPI I2C> on drmn0
lkpi_iic5: <LinuxKPI I2C> on drmn0
lkpi_iic6: <LinuxKPI I2C> on drmn0
lkpi_iic7: <LinuxKPI I2C> on drmn0
lkpi_iic8: <LinuxKPI I2C> on drmn0
drmn0: successfully loaded firmware image 'i915/kbl_dmc_ver1_04.bin'
drmn0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[drm] Initialized i915 1.6.0 20200917 for drmn0 on minor 0
drmn0: [drm] Cannot find any crtc or sizes
ogogon@test:/var/log#

And here is the log X.org:
Code:
[    18.553] (II) modeset(0): using drv /dev/dri/card0
[    18.553] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[    18.553] (==) modeset(0): Depth 24, (==) framebuffer bpp 32
[    18.553] (==) modeset(0): RGB weight 888
[    18.553] (==) modeset(0): Default visual is TrueColor
[    18.553] (II) Loading sub module "glamoregl"
[    18.553] (II) LoadModule: "glamoregl"
[    18.553] (II) Loading /usr/local/lib/xorg/modules/libglamoregl.so
[    18.559] (II) Module glamoregl: vendor="X.Org Foundation"
[    18.559]    compiled for 1.21.1.14, module version = 1.0.1
[    18.559]    ABI class: X.Org ANSI C Emulation, version 0.4
[    18.912] (II) modeset(0): glamor X acceleration enabled on Mesa Intel(R) UHD Graphics 610 (CML GT1)
[    18.912] (II) modeset(0): glamor initialized
[    18.912] (==) modeset(0): VariableRefresh: disabled
[    18.912] (==) modeset(0): AsyncFlipSecondaries: disabled
[    18.913] (WW) modeset(0): No outputs definitely connected, trying again...
[    18.913] (WW) modeset(0): Unable to find connected outputs - setting 1024x768 initial framebuffer
[    18.913] (==) modeset(0): Using gamma correction (1.0, 1.0, 1.0)
[    18.913] (EE) modeset(0): No modes.
[    18.923] (II) UnloadModule: "modesetting"
[    18.923] (II) UnloadSubModule: "glamoregl"
[    18.923] (II) Unloading glamoregl
[    18.923] (EE) Screen(s) found, but none have a usable configuration.
[    18.923] (EE)
Fatal server error:
[    18.923] (EE) no screens found(EE)
[    18.923] (EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[    18.924] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    18.924] (EE)
[    19.030] (EE) Server terminated with error (1). Closing log file.

It is obvious that the module has loaded, special files have appeared, but the final result has not yet been achieved.
 
Does your MSI MS-7D22 v.1.2 motherboard According to the MCA website, the MS-7D22 motherboard does not have an integrated GPU? If so, try to disable it in the BIOS.
According to the MSI website, the MS-7D22 (aka H510M-A PRO) motherboard does not have an integrated GPU. It only has video outputs (HDMI & VGA) from the discrete video core of the CPU.
 
Oh, i thought that the "Intel Pentium Gold G6405 (Intel UHD Graphics 610) processor" was a separate graphics card.
I didn't read nxjosephs post properly. My bad.

 
According to the MSI website, the MS-7D22 (aka H510M-A PRO) motherboard does not have an integrated GPU. It only has video outputs (HDMI & VGA) from the discrete video core of the CPU.
Usually discrete GPU (dGPU) means GPUs "outside the CPU package".
GPUs "inside the CPU package" is usually called internal GPU (iGPU).
And yes, your motherboard doesn't have GPUs. What having GPU is your CPU in your case.

According to your new error log, it seems that xorg cannot determine your monitor and which port it is connected to properly, thus, cannot determine mode and screen. Have you read Chapter 5 of the Handbook?
 
Usually discrete GPU (dGPU) means GPUs "outside the CPU package".
GPUs "inside the CPU package" is usually called internal GPU (iGPU).
So, I expressed myself poorly. I apologize.
According to your new error log, it seems that xorg cannot determine your monitor and which port it is connected to properly, thus, cannot determine mode and screen.
I connected the monitor directly. Now it is a Benq M2700HD connected to the HDMI port without any intermediate devices.
What exactly?

After reconnecting the monitor, the log changed:
Code:
[    17.378] (WW) Falling back to old probe method for modesetting
[    17.378] (WW) Falling back to old probe method for scfb
[    17.378] scfb trace: probe start
[    17.378] scfb trace: probe done
[    17.378] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[    17.378] (II) intel(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 24/32
[    17.379] (==) intel(0): Depth 24, (--) framebuffer bpp 32
[    17.379] (==) intel(0): RGB weight 888
[    17.379] (==) intel(0): Default visual is TrueColor
[    17.379] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics
[    17.379] (**) intel(0): Relaxed fencing enabled
[    17.379] (**) intel(0): Wait on SwapBuffers? enabled
[    17.379] (**) intel(0): Triple buffering? enabled
[    17.379] (**) intel(0): Framebuffer tiled
[    17.379] (**) intel(0): Pixmaps tiled
[    17.379] (**) intel(0): 3D buffers tiled
[    17.379] (**) intel(0): SwapBuffers wait enabled
[    17.379] (==) intel(0): video overlay key set to 0x101fe
[    17.379] (WW) intel(0): No outputs definitely connected, trying again...
[    17.379] (WW) intel(0): Unable to find connected outputs - setting 1024x768 initial framebuffer
[    17.379] (II) intel(0): Kernel page flipping support detected, enabling
[    17.379] (==) intel(0): Using gamma correction (1.0, 1.0, 1.0)
[    17.379] (EE) intel(0): No modes.
[    17.379] (II) UnloadModule: "intel"
[    17.379] (EE) Screen(s) found, but none have a usable configuration.
[    17.379] (EE)
Fatal server error:
[    17.379] (EE) no screens found(EE)
[    17.379] (EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[    17.379] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    17.379] (EE)
[    17.379] (EE) Server terminated with error (1). Closing log file.
 
It's strange, but when I specified the path to the loaded module completely (kld_list="/boot/modules/i915kms.ko"), the picture changed. It started loading and the diagnostics changed.
There was a period (not exactly sure of when the overlap happened) when some drm modules were in base and not specifying the full path in rc.conf would load the one from base but not the one from the ports/package. And the one in base was old and would not work.

cd /boot && find . -name "i915*" -print probably shows a couple of them
 
I doubt xorg somehow cannot read EDID data of the monitor.
Read Chapter 5.4.4. The Handbook is worth reading thoroghlym though.

And confirm your HDMI cable as nxjoseph suggested.
To check, I used two other HDMI cables that as was known beforehand to be working. I disconnected the SVGA cable from the neighboring server and connected it to the SVGA connector. The result is absolutely identical.

It seems strange to me that the logs indicate in this cases the same problem. Perhaps the cable is not the cause.
 
cd /boot && find . -name "i915*" -print probably shows a couple of them

root@test:/boot # cd /boot && find . -name "i915*" -print
./modules/i915_tgl_huc_7_9_3_bin.ko
./modules/i915_icl_dmc_ver1_09_bin.ko
./modules/i915_tgl_huc_7_5_0_bin.ko
./modules/i915_ehl_huc_9_0_0_bin.ko
./modules/i915_icl_huc_9_0_0_bin.ko
./modules/i915_cml_guc_62_0_0_bin.ko
./modules/i915_rkl_dmc_ver2_03_bin.ko
./modules/i915_icl_guc_70_1_1_bin.ko
./modules/i915_kbl_dmc_ver1_04_bin.ko
./modules/i915_adlp_guc_62_0_3_bin.ko
./modules/i915_kbl_guc_70_1_1_bin.ko
./modules/i915_tgl_guc_62_0_0_bin.ko
./modules/i915_adlp_dmc_ver2_16_bin.ko
./modules/i915kms.ko
./modules/i915_tgl_guc_35_2_0_bin.ko
./modules/i915_adlp_guc_70_bin.ko
./modules/i915_dg1_guc_70_bin.ko
./modules/i915_tgl_guc_70_1_1_bin.ko
./modules/i915_kbl_guc_62_0_0_bin.ko
./modules/i915_skl_guc_62_0_0_bin.ko
./modules/i915_cml_guc_70_1_1_bin.ko
./modules/i915_icl_guc_62_0_0_bin.ko
./modules/i915_dg1_guc_62_0_0_bin.ko
./modules/i915_adlp_dmc_ver2_10_bin.ko
./modules/i915_glk_huc_4_0_0_bin.ko
./modules/i915_cml_guc_33_0_0_bin.ko
./modules/i915_kbl_guc_33_0_0_bin.ko
./modules/i915_tgl_dmc_ver2_12_bin.ko
./modules/i915_adls_dmc_ver2_01_bin.ko
./modules/i915_skl_guc_33_0_0_bin.ko
./modules/i915_dg1_dmc_ver2_02_bin.ko
./modules/i915_icl_guc_33_0_0_bin.ko
./modules/i915_glk_dmc_ver1_04_bin.ko
./modules/i915_dg2_dmc_ver2_07_bin.ko
./modules/i915_bxt_huc_2_0_0_bin.ko
./modules/i915_adlp_dmc_bin.ko
./modules/i915_tgl_dmc_ver2_08_bin.ko
./modules/i915_glk_guc_33_0_0_bin.ko
./modules/i915_bxt_guc_62_0_0_bin.ko
./modules/i915_skl_huc_2_0_0_bin.ko
./modules/i915_tgl_huc_bin.ko
./modules/i915_dg2_guc_70_bin.ko
./modules/i915_tgl_guc_70_bin.ko
./modules/i915_bxt_guc_33_0_0_bin.ko
./modules/i915_ehl_guc_33_0_4_bin.ko
./modules/i915_kbl_huc_4_0_0_bin.ko
./modules/i915_cml_huc_4_0_0_bin.ko
./modules/i915_ehl_guc_70_1_1_bin.ko
./modules/i915_bxt_dmc_ver1_07_bin.ko
./modules/i915_glk_guc_62_0_0_bin.ko
./modules/i915_skl_dmc_ver1_27_bin.ko
./modules/i915_cnl_dmc_ver1_07_bin.ko
./modules/i915_glk_guc_70_1_1_bin.ko
./modules/i915_rkl_dmc_ver2_02_bin.ko
./modules/i915_dg1_huc_bin.ko
./modules/i915_ehl_guc_62_0_0_bin.ko
root@test:/boot #

 
To check, I used two other HDMI cables that as was known beforehand to be working. I disconnected the SVGA cable from the neighboring server and connected it to the SVGA connector. The result is absolutely identical.

It seems strange to me that the logs indicate in this cases the same problem. Perhaps the cable is not the cause.
Now I strongly suspect that your monitor does NOT providing EDID sanely.

Again, read Chapter 5 (at least 5.4.4[.*]) of handbook I've already mentioned in my posts before precisely and try the workarounds introduced.
 
Following your advice, I specified "scfb" as the driver. A miracle happened! True, alas, only partial.
Xorg and Slim launched! But there is still nothing on the screen!

root@test:/home/ogogon # ps ax
PID TT STAT TIME COMMAND
0 - DLs 0:00,29 [kernel]
1 - ILs 0:00,02 /sbin/init
2 - DL 0:00,00 [KTLS]
3 - DL 0:00,00 [crypto]
4 - DL 0:00,01 [cam]
5 - DL 0:00,05 [zfskern]
6 - DL 0:00,01 [rand_harvestq]
7 - DL 0:00,00 [pagedaemon]
8 - DL 0:00,00 [vmdaemon]
9 - DL 0:00,00 [bufdaemon]
10 - DL 0:00,00 [audit]
11 - RNL 7:28,48 [idle]
12 - WL 0:00,07 [intr]
13 - DL 0:00,00 [geom]
14 - DL 0:00,00 [sequencer 00]
15 - DL 0:00,01 [usb]
16 - DL 0:00,00 [acpi_thermal]
17 - DL 0:00,00 [vnlru]
18 - DL 0:00,00 [syncer]
19 - DL 0:00,00 [enc_daemon0]
777 - Is 0:00,00 dhclient: system.syslog (dhclient)
780 - Is 0:00,00 dhclient: em0 [priv] (dhclient)
842 - ICs 0:00,00 dhclient: em0 (dhclient)
843 - Ss 0:00,00 /sbin/devd
1041 - Ss 0:00,00 /usr/sbin/syslogd -s
1099 - Ss 0:00,02 /usr/sbin/ntpd -p /var/db/ntp/ntpd.pid -c /etc/ntp.conf -f /var/db/ntp/ntpd.drift
1106 - Is 0:00,00 /usr/local/bin/dbus-daemon --system
1161 - Ss 0:00,00 /usr/sbin/cron -s
1164 - Ss 0:00,00 sendmail: accepting connections (sendmail)
1167 - Is 0:00,00 sendmail: Queue runner@00:30:00 for /var/spool/clientmqueue (sendmail)
1184 - Ss 0:00,00 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups (sshd)
1200 - Is 0:00,10 /usr/local/bin/slim -d
1214 - I 0:00,24 /usr/local/libexec/Xorg -nolisten tcp vt09 -auth /var/run/slim.auth
1227 - Ss 0:00,02 sshd: ogogon [priv] (sshd)
1230 - S 0:00,00 sshd: ogogon@pts/0 (sshd)
1216 v0 Is+ 0:00,00 /usr/libexec/getty Pc ttyv0
1217 v1 Is+ 0:00,00 /usr/libexec/getty Pc ttyv1
1218 v2 Is+ 0:00,00 /usr/libexec/getty Pc ttyv2
1219 v3 Is+ 0:00,00 /usr/libexec/getty Pc ttyv3
1220 v4 Is+ 0:00,00 /usr/libexec/getty Pc ttyv4
1221 v5 Is+ 0:00,00 /usr/libexec/getty Pc ttyv5
1222 v6 Is+ 0:00,00 /usr/libexec/getty Pc ttyv6
1223 v7 Is+ 0:00,00 /usr/libexec/getty Pc ttyv7
1231 0 Ss 0:00,02 -csh (csh)
1235 0 S 0:00,01 su
1236 0 S 0:00,01 _su (csh)
1245 0 R+ 0:00,00 ps ax
root@test:/home/ogogon #


Maybe this iGPU needs to load something? Some firmware?
 
Code:
ogogon@test:/usr/ports/graphics/drm-515-kmod# make
===>  drm-515-kmod-5.15.160.1304000_2 not supported on older than 14.0, no
kernel support.
*** Error code 1

Stop.
make: stopped in /usr/ports/graphics/drm-515-kmod

ogogon@test:/usr/ports/graphics/drm-515-kmod#
Code:
ogogon@test:/usr/ports/graphics/drm-61-kmod# make
===>  drm-61-kmod-6.1.92.1304000_3 not supported on older than 14-STABLE
1400508, no kernel support.
*** Error code 1

Stop.
make: stopped in /usr/ports/graphics/drm-61-kmod
ogogon@test:/usr/ports/graphics/drm-61-kmod#
please use the pkg do that .
 
Problem configuring X.org

Colleagues, please tell me what the problem is.

I am using a computer with an MSI MS-7D22 v.1.2 motherboard and an Intel Pentium Gold G6405 (Intel UHD Graphics 610) processor.
I installed FreeBSD on the computer, then Xorg, Slim and Xfce4.

When booting the computer and issuing the startx command, the following appears in the logs:
Code:
[ 22.251] (EE) intel(0): No modes.
[ 22.251] (II) UnloadModule: "intel"
[ 22.251] (EE) Screen(s) found, but none have a usable configuration.
[ 22.251] (EE)
Fatal server error:
[ 22.251] (EE) no screens found(EE)
[ 22.251] (EE)
Please consult the X.Org Foundation support
at http://wiki.x.org
for help.
[ 22.251] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 22.251] (EE)
[ 22.357] (EE) Server terminated with error (1). Closing log file.

What am I doing wrong? How can I solve my problem?

Thank you for your advice,
Ogogon.
Hey,

The main problem you have is the driver is installed but Xorg needs info about your monitor and video card. Hence the (EE) no screens found error. I had the same (EE) no screens error on a Dell laptop that was fixed by following the handbook starting at chapter 5.4.2

First I would remove the file created by running Xorg -configure in /etc/X11
then in /etc/rc.conf comment or remove the entry
Code:
slim_enable="YES"
also make sure you have
Code:
kld_list="i915kms"
(As eternal_noob noted, once Xorg is working correctly, you can get Slim and a window manager or desktop environment working)

your output from pciconf -vl | grep A3 vga shows vgapci0@pci0:0:2:0

ok good now you need to create 2 files in /usr/local/etc/X11/xorg.conf.d, you can use vi or nano or your fav editor

first file will be called 10-monitor.conf

add these lines (these are the values I used on the Dell laptop, they will work for you, maybe you want to change the Modes value,
you can run xrandr in terminal to see what modes are available on your system)

Code:
Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    SubSection "Display"
    Modes "1366x768"
    EndSubSection
EndSection

save the file

next file will be called 20-drivers.conf

add the lines (again these are the values I used on the Dell laptop, also note I have the BusID commented but I kept it there incase I needed it, you might need to uncomment it)

Code:
Section "Device"
    Identifier "Card0"
    Driver "intel"
#    BusID "pci0:0:2:0"
EndSection

save the file

the number in the file name is the order the files are read by Xorg so 10 first then 20 etc

now reboot, log in as a normal user that is in the groups video and operator

now startx, you should hopefully get to the twm

if all is good then proceed with slim and WM/DE set up
 
Xorg on FreeBSD is supposed to be auto-configured...

OP just needs to follow the Handbook, which boils down to these 4 steps:

Step 1: add regular user to video group like I showed earlier.
Step 2: install correct GPU driver for the hardware and enable it in rc.conf.
Step 3: reboot
Step 4: run startx.

Don't skip steps or do them out of order.

If a given step has an error, do resolve it before moving on to the next step. Lots of people don't realize the importance of that, and then they run into a train wreck that is impossible to resolve. Just be stubborn about sticking to the sequence, and making sure the step completes successfully, don't just move on to the next step. I learned that the hard way, and now FreeBSD is very easy for me to configure.
 
Xorg on FreeBSD is supposed to be auto-configured...

OP just needs to follow the Handbook, which boils down to these 4 steps:

Step 1: add regular user to video group like I showed earlier.
Step 2: install correct GPU driver for the hardware and enable it in rc.conf.
Step 3: reboot
Step 4: run startx.

Don't skip steps or do them out of order.

If a given step has an error, do resolve it before moving on to the next step. Lots of people don't realize the importance of that, and then they run into a train wreck that is impossible to resolve. Just be stubborn about sticking to the sequence, and making sure the step completes successfully, don't just move on to the next step. I learned that the hard way, and now FreeBSD is very easy for me to configure.
Yes I agree 100%, in all cases for my computers, except for that one Dell laptop I mentioned, Xorg always configures correctly automatically. Nowadays what seemed like a big deal breaker in getting Xorg going has really become quite simple. Thank you to all the team working on FreeBSD.
 
Xorg on FreeBSD is supposed to be auto-configured...
There's one exception.

If using nvidia GPU without any of graphics/nvidia-drm-[510|515|61|66]-kmod, /etc/X11/xorg.conf (or /usr/local/etc/X11/xorg.conf.d/20-nvidia.conf in example 3 of Chapter 5.4.3 in the handbook, which anyway does not exist by default) is needed as xorg doesn't know how to configure it and attempts to use non-existent (on FreeBSD) nouveau driver, thus, fail.

This always applies for legacy drivers (470 series and older), as graphics/nvidia-drm-[510|515|61|66]-kmod does not support legacy branches of drivers.
 
Back
Top