Bug 255040 - Xorg sever terminates with error on 13.0-RELEASE
Summary: Xorg sever terminates with error on 13.0-RELEASE
Status: Closed Not A Bug
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-x11 (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-14 01:26 UTC by jdrch
Modified: 2021-04-19 17:20 UTC (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jdrch 2021-04-14 01:26:54 UTC
I have a FreeBSD machine that had KDE running just fine on it on 12.x. After following the in-place 13.0 update instructions, it no longer boots directly into KDE. 

Instead it boots into the terminal with a "login:" prompt. 

startx gives a long error message which tells me to see /var/log/Xorg.0.log for more info. That file's contents are:


[  3547.749] 
X.Org X Server 1.20.9
X Protocol Version 11, Revision 0
[  3547.749] Build Operating System: FreeBSD 13.0-RC5 amd64 
[  3547.749] Current Operating System: FreeBSD DellOptiPlex390 13.0-RELEASE FreeBSD 13.0-RELEASE #0 releng/13.0-n244733-ea31abc261f: Fri Apr  9 04:24:09 UTC 2021     root@releng1.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64
[  3547.749] Build Date: 03 April 2021  08:16:10AM
[  3547.749]  
[  3547.749] Current version of pixman: 0.40.0
[  3547.749] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[  3547.749] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  3547.749] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Apr 13 20:16:00 2021
[  3547.750] (==) Using config directory: "/etc/X11/xorg.conf.d"
[  3547.750] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
[  3547.750] (==) No Layout section.  Using the first Screen section.
[  3547.750] (==) No screen section available. Using defaults.
[  3547.750] (**) |-->Screen "Default Screen Section" (0)
[  3547.750] (**) |   |-->Monitor "<default monitor>"
[  3547.751] (==) No device specified for screen "Default Screen Section".
	Using the first device section listed.
[  3547.751] (**) |   |-->Device "Device0"
[  3547.751] (==) No monitor specified for screen "Default Screen Section".
	Using a default monitor configuration.
[  3547.751] (==) Automatically adding devices
[  3547.751] (==) Automatically enabling devices
[  3547.751] (==) Not automatically adding GPU devices
[  3547.751] (==) Max clients allowed: 256, resource mask: 0x1fffff
[  3547.751] (==) 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
[  3547.751] (==) ModulePath set to "/usr/local/lib/xorg/modules"
[  3547.751] (II) The server relies on udev to provide the list of input devices.
	If no devices become available, reconfigure udev or disable AutoAddDevices.
[  3547.751] (II) Loader magic: 0x435890
[  3547.751] (II) Module ABI versions:
[  3547.751] 	X.Org ANSI C Emulation: 0.4
[  3547.751] 	X.Org Video Driver: 24.1
[  3547.751] 	X.Org XInput driver : 24.1
[  3547.751] 	X.Org Server Extension : 10.0
[  3547.751] (--) PCI:*(0@0:2:0) 8086:0102:1028:04f5 rev 9, Mem @ 0xe0c00000/4194304, 0xd0000000/268435456, I/O @ 0x00005000/64, BIOS @ 0x????????/65536
[  3547.751] (II) LoadModule: "glx"
[  3547.751] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[  3547.753] (II) Module glx: vendor="X.Org Foundation"
[  3547.753] 	compiled for 1.20.9, module version = 1.0.0
[  3547.753] 	ABI class: X.Org Server Extension, version 10.0
[  3547.753] (==) Matched intel as autoconfigured driver 0
[  3547.753] (==) Matched modesetting as autoconfigured driver 1
[  3547.753] (==) Matched scfb as autoconfigured driver 2
[  3547.753] (==) Matched vesa as autoconfigured driver 3
[  3547.754] (==) Assigned the driver to the xf86ConfigLayout
[  3547.754] (II) LoadModule: "intel"
[  3547.754] (II) Loading /usr/local/lib/xorg/modules/drivers/intel_drv.so
[  3547.754] (II) Module intel: vendor="X.Org Foundation"
[  3547.754] 	compiled for 1.20.9, module version = 2.99.917
[  3547.754] 	Module class: X.Org Video Driver
[  3547.754] 	ABI class: X.Org Video Driver, version 24.1
[  3547.754] (II) LoadModule: "modesetting"
[  3547.754] (II) Loading /usr/local/lib/xorg/modules/drivers/modesetting_drv.so
[  3547.754] (II) Module modesetting: vendor="X.Org Foundation"
[  3547.754] 	compiled for 1.20.9, module version = 1.20.9
[  3547.754] 	Module class: X.Org Video Driver
[  3547.754] 	ABI class: X.Org Video Driver, version 24.1
[  3547.754] (II) LoadModule: "scfb"
[  3547.754] (II) Loading /usr/local/lib/xorg/modules/drivers/scfb_drv.so
[  3547.754] (II) Module scfb: vendor="X.Org Foundation"
[  3547.755] 	compiled for 1.20.9, module version = 0.0.5
[  3547.755] 	ABI class: X.Org Video Driver, version 24.1
[  3547.755] (II) LoadModule: "vesa"
[  3547.755] (II) Loading /usr/local/lib/xorg/modules/drivers/vesa_drv.so
[  3547.755] (II) Module vesa: vendor="X.Org Foundation"
[  3547.755] 	compiled for 1.20.9, module version = 2.5.0
[  3547.755] 	Module class: X.Org Video Driver
[  3547.755] 	ABI class: X.Org Video Driver, version 24.1
[  3547.755] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
	i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,
	915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
	Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,
	GM45, 4 Series, G45/G43, Q45/Q43, G41, B43
[  3547.756] (II) intel: Driver for Intel(R) HD Graphics
[  3547.756] (II) intel: Driver for Intel(R) Iris(TM) Graphics
[  3547.756] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics
[  3547.756] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[  3547.756] (II) scfb: driver for wsdisplay framebuffer: scfb
[  3547.756] (II) VESA: driver for VESA chipsets: vesa
[  3547.756] (--) Using syscons driver with X support (version 2.0)
[  3547.756] (--) using VT number 9

[  3547.884] (EE) open /dev/dri/card0: No such file or directory
[  3547.884] (WW) Falling back to old probe method for modesetting
[  3547.884] (EE) open /dev/dri/card0: No such file or directory
[  3547.884] (WW) Falling back to old probe method for scfb
[  3547.884] scfb trace: probe start
[  3547.884] (II) scfb(1): using default device
[  3547.884] scfb trace: probe done
[  3547.884] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[  3547.884] (EE) Screen 0 deleted because of no matching config section.
[  3547.884] (II) UnloadModule: "modesetting"
[  3547.884] (EE) 
Fatal server error:
[  3547.884] (EE) Cannot run in framebuffer mode. Please specify busIDs        for all framebuffer devices
[  3547.884] (EE) 
[  3547.884] (EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
[  3547.884] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[  3547.884] (EE) 
[  3548.012] (EE) Server terminated with error (1). Closing log file.


Any ideas?
Comment 1 jdrch 2021-04-14 01:28:21 UTC
Here's the machine's full hardware config, FWIW: https://github.com/jdrch/Hardware/blob/master/Dell%20OptiPlex%20390%20SFF.md
Comment 2 Ghost 2021-04-14 14:01:53 UTC
Hi,

> [  3547.884] (EE) open /dev/dri/card0: No such file or directory

Did you upgrade drm-kmod? The recommended way now is:
https://cgit.freebsd.org/doc/commit/?id=906851601568d15595e6c181bae741805d4fb3d6
(This may not be in documentation yet).

Try building it with already upgraded and running world and kernel,
then kldload the needed driver from /boot/modules/.
All other packages should also be upgraded.

Please post the dmesg when you load the kmod.
Comment 3 jdrch 2021-04-14 14:27:02 UTC
Thanks, but if, in ***2021***, the recommended way to fix this problem is to build anything from source, I'm not interested. That's extremely subpar to literally every other distribution with DE out there. I haven't had an in-place major version upgrade kill a DE since before Windows ME.

Also, even if I do fix this problem, all indications are that it'll just happen again for the 13.x to 14.0-RELEASE update.

Considering FreeBSD isn't my daily driver, this isn't worth the effort for me. 

Thanks again, but the project really needs to take workstation use cases seriously and treat them as a 1st class citizens if it wants users to make the effort to keep running it.
Comment 4 Ghost 2021-04-14 14:34:36 UTC
(In reply to jdrch from comment #3)
There is a binary package as well: https://www.freshports.org/graphics/drm-fbsd13-kmod/

It should be pulled in by installing drm-kmod.
Comment 5 jdrch 2021-04-14 14:54:58 UTC
Thanks, but unless support for Core 2nd gen CPUs was added to the DRM binary I don't think that'll work. The DRM driver never worked for me in 12.x.

The core issue here is that in 2021 an in-place major upgrade should *not* break a workstation's DE. Even if I do fix this issue, all indications are that it'll just happen again.

The fact that 13.0 was given RELEASE status apparently without anyone even bothering to check on the workstation use case is practically user abuse. 

That's a level of regular scheduled suffering I'm unwilling to subject myself to.

Thanks for your efforts, but I've tried to love FreeBSD since installing it in 2018 and after moving from broken distribution to broken distribution I'm just done at this point. It's not worth the fight anymore.
Comment 6 Niclas Zeising freebsd_committer freebsd_triage 2021-04-15 05:52:22 UTC
(In reply to jdrch from comment #5)

You are welcome to sponsor with your time and/or money to help fix things.

This is a volunteer effort, and ranting about it to the volunteers trying to help you accomplishes nothing.

What is in your dmesg when you boot?  How do you load the drivers?  What packages do you have installed?  You need to update the GPU driver for FreeBSD 13 before you can get any graphical environment going.  Have you updated your packages/ports before after updating to FreeBSD 13.0-RELEASE?

There has been a lot of changes in the drm driver between FreeBSD 12 and 13, we are jumping from 4.16 to 5.4.
Comment 7 jdrch 2021-04-18 03:24:44 UTC
> ranting about it to the volunteers trying to help you accomplishes nothing.

The fact that 13.0 was marked RELEASE without stuff like this being checked for, or that the FreeBSD project thinks routinely building drivers from source is something 2021 users have any interest in (this isn't Berkeley in 1987) tells me even attempting to contribute wouldn't make a difference. Poor DE functionality is literally part of FreeBSD's culture at this point.

Nearly half the respondents to a poll on the FreeBSD forums showed the community has no interest in proper DE support: https://forums.freebsd.org/threads/freebsd-kommunity-edition.78594/

I've seen project after project that tried to solve this issue fail due to upstream stonewalling within the FreeBSD project itself: PC-BSD, TrueOS, Project Trident, FuryBSD, the list goes on and on.

Ergo, the notion that "if you contributed you could make a difference" is simply misleading. Many have tried and failed. Unless FreeBSD's core developers take the workstation use case seriously and treat it as a 1st class citizen on par with what (e.g.) Debian does, this problem will always repeat itself no matter what I do.

> What is in your dmesg when you boot?

Could you kindly remind me how to retrieve this? I haven't had to do it in a while.

> You need to update the GPU driver for FreeBSD 13 before you can get any graphical environment going.

The error I posted originally is the result of me downloading the latest non-DRM driver (the DRM driver does not support my Core 2nd Gen iGPU.)

> Have you updated your packages/ports before after updating to FreeBSD 13.0-RELEASE?

Yes, I did.

> There has been a lot of changes in the drm driver between FreeBSD 12 and 13, we are jumping from 4.16 to 5.4.

I imagine so, but I'm using the non-DRM driver.
Comment 8 Graham Perrin freebsd_committer freebsd_triage 2021-04-18 05:39:07 UTC
### Discussions

Are you happy to (also) continue in the parallel discussion? 

<https://forums.freebsd.org/threads/79820/>


### dmesg

(In reply to jdrch from comment #7)

> Could you kindly remind me how to retrieve this? 

At a command line: 

dmesg

<https://www.freebsd.org/cgi/man.cgi?query=dmesg&sektion=8&manpath=FreeBSD+13.0-current>

Also, you might find two files: 

/var/log/dmesg.today
/var/log/dmesg.yesterday


### rc.conf

Can you share the significant content of the file? (If it includes any details that you might treat as sensitive, such as an Internet address, you can obscure those details.) 

/etc/rc.conf

<https://www.freebsd.org/cgi/man.cgi?query=rc.conf&sektion=5&manpath=FreeBSD+13.0-current>
Comment 9 Niclas Zeising freebsd_committer freebsd_triage 2021-04-18 07:51:34 UTC
There is no need to build anything from source if you are following a RELEASE branch.  Installing drm-kmod is all you need, it will pull in the correct drm-*-kmod from ports.  For FreeBSD 13 that is drm-fbsd13-kmod.  If you are tracking STABLE or CURRENT, then it is better to compile the module locally, to avoid issues.  On the other hand, if you are tracking STABLE or CURRENT, you need to recompile the whole base system and kernel, so I don't see why an extra kmod would be that much extra effort.

There are several of us spending a substantial amount of our time and energy in improving the FreeBSD desktop experience, everything on a volunteer basis.  I can not speak for the offshoot projects, but they are using our effort as well, as without it there would be no desktop experience in the first place.

dmesg is easily fetched by running dmesg.  There is also usually a file in /var/log called dmesg.boot, that saves the latest dmesg.

You say that you are not using the drm driver.  Are you then using plain vesa or sc without any acceleration at all?  That should work, but does not give such great performance and experience.

Do you have any xorg.conf or similar?  If so, can you try without it?
Comment 10 Graham Perrin freebsd_committer freebsd_triage 2021-04-18 20:08:29 UTC
(In reply to Niclas Zeising from comment #9)

> … Installing drm-kmod is all you need, …

👍

Working under <https://old.reddit.com/comments/mqffti/-/guyq3o5/?context=2>. 

----

(In reply to Niclas Zeising from comment #6)

> … a lot of changes in the drm driver between FreeBSD 12 and 13, 
> we are jumping from 4.16 to 5.4.

Kudos to the developers. 

In retrospect, it would have been good to have a mention of DRM at <https://freebsdfoundation.org/blog/freebsd-release-13-0-highlights/>.
Comment 11 jdrch 2021-04-18 21:33:32 UTC
I followed that and it worked, thanks! I'd been considering paving over my FreeBSD installation with OpenSUSE, but this fix allows me to keep running it.
Comment 12 Chris Hutchinson 2021-04-19 15:12:51 UTC
(In reply to Niclas Zeising from comment #9)
> There is also usually a file in /var/log called dmesg.boot,
> that saves the latest dmesg.
To be precise; dmesg.boot lives in /var/run
dmesg.today and dmesg.yesterday live in /var/log :-)

Really happy to see everything worked out well! :-)
Comment 13 Niclas Zeising freebsd_committer freebsd_triage 2021-04-19 16:55:05 UTC
(In reply to Chris Hutchinson from comment #12)
> To be precise; dmesg.boot lives in /var/run
> dmesg.today and dmesg.yesterday live in /var/log :-)

You are right, I got things mixed up a bit.  Thanks for helping out. :)
Comment 14 Chris Hutchinson 2021-04-19 17:20:06 UTC
(In reply to Niclas Zeising from comment #13)
Sure. Understood. :-)
I was just being pedantic in hopes that anyone else
looking to solve a similar problem might find this
and not need to ask for help because they couldn't
find dmesg.boot.
Saving *you* time to work on more important things. ;-)

Thanks!

--Chris