Bug 248165

Summary: Raspberry Pi 3B+ : FreeBSD 12.1-RELEASE-p6 : scfb(0): Specified fbbpp (24) is not a permitted value
Product: Base System Reporter: x11max1 <x11max1>
Component: miscAssignee: Mark Linimon <linimon>
Status: New ---    
Severity: Affects Many People CC: mikael
Priority: --- Keywords: regression
Version: 12.1-RELEASE   
Hardware: arm64   
OS: Any   

Description x11max1@unitybox.de 2020-07-22 06:26:49 UTC
Upgrading to FreeBSD 12.1 breaks XServer on Raspberry Pi 3B+

[  2100.014] scfb: PreInit 0
[  2100.014] (II) scfb(0): Using: depth (24),	width (1280),	 height (1024)
[  2100.014] (EE) scfb(0): Specified fbbpp (24) is not a permitted value
[  2100.014] (II) UnloadModule: "scfb"
[  2100.014] (EE) Screen(s) found, but none have a usable configuration.

I set the colour depth to 16 / 32, but that doesn't matter anything.
It details:

scfb(0): specified depth (32) or bpp (32) doesn't match framebuffer depth (24)

# colour depth
#framebuffer_depth=16
#framebuffer_depth=24
framebuffer_depth=32

Section "Device"
 Identifier "Generic FB"
 Driver "scfb"
 Option "NoAccel" "True"
EndSection
Section "Screen"
 Identifier "Screen"
 Device "Generic FB"
 Monitor "Monitor"
 DefaultDepth 32
 SubSection "Display"
  Depth 32
  Modes "1280x1024"
 EndSubsection
EndSection

[ 52351.134] scfb: PreInit 0
[ 52351.134] (II) scfb(0): Using: depth (24),	width (1280),	 height (1024)
[ 52351.134] (EE) scfb(0): specified depth (32) or bpp (32) doesn't match framebuffer depth (24)
[ 52351.134] (II) UnloadModule: "scfb"


root@pitop:~ # uname -a
FreeBSD pitop 12.1-RELEASE-p6 FreeBSD 12.1-RELEASE-p6 #0 r362191P: Tue Jun 16 18:22:39 CEST 2020     root@pitop:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC  arm64

root@pitop:/var/log # cat  Xorg.0.log
[  2099.987] 
X.Org X Server 1.20.8
X Protocol Version 11, Revision 0
[  2099.987] Build Operating System: FreeBSD 12.1-RELEASE-p6 arm64 
[  2099.988] Current Operating System: FreeBSD pitop 12.1-RELEASE-p6 FreeBSD 12.1-RELEASE-p6 #0 r362191P: Tue Jun 16 18:22:39 CEST 2020     root@pitop:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64
[  2099.989] Build Date: 15 June 2020  10:57:45AM
[  2099.989]  
[  2099.989] Current version of pixman: 0.40.0
[  2099.989] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[  2099.990] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  2099.990] (==) Log file: "/var/log/Xorg.1.log", Time: Tue Jul 21 18:25:51 2020
[  2099.991] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
[  2099.993] (==) No Layout section.  Using the first Screen section.
[  2099.993] (==) No screen section available. Using defaults.
[  2099.993] (**) |-->Screen "Default Screen Section" (0)
[  2099.993] (**) |   |-->Monitor "<default monitor>"
[  2099.995] (==) No monitor specified for screen "Default Screen Section".
	Using a default monitor configuration.
[  2099.995] (==) Automatically adding devices
[  2099.995] (==) Automatically enabling devices
[  2099.995] (==) Not automatically adding GPU devices
[  2099.996] (==) Max clients allowed: 256, resource mask: 0x1fffff
[  2099.996] (==) 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
[  2099.996] (==) ModulePath set to "/usr/local/lib/xorg/modules"
[  2099.996] (II) The server relies on udev to provide the list of input devices.
	If no devices become available, reconfigure udev or disable AutoAddDevices.
[  2099.996] (II) Loader magic: 0x3e0018
[  2099.996] (II) Module ABI versions:
[  2099.996] 	X.Org ANSI C Emulation: 0.4
[  2099.996] 	X.Org Video Driver: 24.1
[  2099.996] 	X.Org XInput driver : 24.1
[  2099.996] 	X.Org Server Extension : 10.0
[  2099.997] (II) LoadModule: "glx"
[  2099.998] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[  2100.009] (II) Module glx: vendor="X.Org Foundation"
[  2100.009] 	compiled for 1.20.8, module version = 1.0.0
[  2100.009] 	ABI class: X.Org Server Extension, version 10.0
[  2100.009] (==) Matched modesetting as autoconfigured driver 0
[  2100.009] (==) Matched scfb as autoconfigured driver 1
[  2100.009] (==) Assigned the driver to the xf86ConfigLayout
[  2100.009] (II) LoadModule: "modesetting"
[  2100.010] (II) Loading /usr/local/lib/xorg/modules/drivers/modesetting_drv.so
[  2100.011] (II) Module modesetting: vendor="X.Org Foundation"
[  2100.011] 	compiled for 1.20.8, module version = 1.20.8
[  2100.011] 	Module class: X.Org Video Driver
[  2100.011] 	ABI class: X.Org Video Driver, version 24.1
[  2100.011] (II) LoadModule: "scfb"
[  2100.011] (II) Loading /usr/local/lib/xorg/modules/drivers/scfb_drv.so
[  2100.012] (II) Module scfb: vendor="X.Org Foundation"
[  2100.012] 	compiled for 1.20.8, module version = 0.0.5
[  2100.012] 	ABI class: X.Org Video Driver, version 24.1
[  2100.012] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[  2100.012] (II) scfb: driver for wsdisplay framebuffer: scfb
[  2100.012] (--) Using syscons driver with X support (version 2.0)
[  2100.012] (--) using VT number 2

[  2100.013] (WW) Falling back to old probe method for modesetting
[  2100.013] (EE) open /dev/dri/card0: No such file or directory
[  2100.013] (WW) Falling back to old probe method for scfb
[  2100.013] scfb trace: probe start
[  2100.013] (II) scfb(0): using default device
[  2100.014] scfb trace: probe done
[  2100.014] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[  2100.014] scfb: PreInit 0
[  2100.014] (II) scfb(0): Using: depth (24),	width (1280),	 height (1024)
[  2100.014] (EE) scfb(0): Specified fbbpp (24) is not a permitted value
[  2100.014] (II) UnloadModule: "scfb"
[  2100.014] (EE) Screen(s) found, but none have a usable configuration.
[  2100.014] (EE) 
Fatal server error:
[  2100.014] (EE) no screens found(EE) 
[  2100.014] (EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
[  2100.015] (EE) Please also check the log file at "/var/log/Xorg.1.log" for additional information.
[  2100.015] (EE) 
[  2100.015] (EE) Server terminated with error (1). Closing log file.
root@pitop:/var/log # 

root@pitop:/usr/local/etc/X11/xorg.conf.d # cat /boot/msdos/config.txt
arm_control=0x200
dtparam=audio=on,i2c_arm=on,spi=on
dtoverlay=mmc
dtoverlay=pwm
dtoverlay=pi3-disable-bt
device_tree_address=0x4000
kernel=u-boot.bin
# colour depth
#framebuffer_depth=16
#framebuffer_depth=24
#framebuffer_depth=32
#max_usb_current=1
hdmi_group=2
hdmi_mode=87
#hdmi_cvt 800 480 60 6 0 0 0
hdmi_cvt 1280 1024 60 6 0 0 0
hdmi_drive=1
# display orientation
display_hdmi_rotate=0
Comment 1 Mikael Urankar freebsd_committer 2020-07-22 10:04:21 UTC
it's fixed in 12-stable or -current
Comment 2 x11max1@unitybox.de 2020-07-22 10:34:14 UTC
That maybe fixed in release 12 stable but not in Release 12.1 as you can see.
I missed your advice, what i did wrong. How to fix it in Release 12.1 ?
Comment 3 Mikael Urankar freebsd_committer 2020-07-22 11:33:00 UTC
(In reply to x11max1@unitybox.de from comment #2)
-release branch doesn't receive fix for tier 2 arches.
You can try to backport base r361899
Comment 4 Mark Linimon freebsd_committer freebsd_triage 2020-07-25 17:40:27 UTC
(In reply to x11max1@unitybox.de from comment #2)

Releases are immutable once produced.  In some cases errata are produced, but only for certain important regressions.

Your only choices here are to update to FreeBSD 12-STABLE or wait for 12.R.