The last thing I did to get my system into its current state was to use the steps mentioned here:
That’s what got me to the 22 FPS glxgears numbers (and the libGL errors), but what I didn’t realize at the time was it messed up my system even more somehow. I thought the problem with the launcher occurred after I used it to switch from lima to fbturbo, and rebooted, but I think it was actually just rebooting that caused the issue. I’ve been unable to load the launcher since (automatically or manually). And even manually “switching” between the two rendering modes doesn’t work (manually issuing the commands the init.py does as @guu described, and as I read in that file, to try going each way). The launcher doesn’t load, but the issue is deeper than that.
Here’s my latest Xorg log file:
[ 3631.387]
X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
[ 3631.387] Build Operating System: Linux 4.9.0-8-arm64 armv8l Debian
[ 3631.387] Current Operating System: Linux clockworkpi 5.3.6-clockworkpi-cpi3 #1 SMP Tue Oct 15 17:26:44 CST 2019 armv7l
[ 3631.388] Kernel command line: console=ttyS0,115200n8 earlyprintk no_console_suspend root=/dev/mmcblk0p2 rootfstype=ext4 rootwait init=/sbin/init noinitrd panic=10
[ 3631.388] Build Date: 05 March 2019 08:11:12PM
[ 3631.388] xorg-server 2:1.20.4-1 (https://www.debian.org/support)
[ 3631.388] Current version of pixman: 0.36.0
[ 3631.388] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 3631.388] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 3631.389] (==) Log file: "/home/cpi/.local/share/xorg/Xorg.0.log", Time: Mon Feb 3 00:18:25 2020
[ 3631.389] (++) Using config file: "/home/cpi/launcher/.xorg.conf"
[ 3631.389] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 3631.390] (==) No Layout section. Using the first Screen section.
[ 3631.390] (==) No screen section available. Using defaults.
[ 3631.390] (**) |-->Screen "Default Screen Section" (0)
[ 3631.390] (**) | |-->Monitor "<default monitor>"
[ 3631.392] (==) No device specified for screen "Default Screen Section".
Using the first device section listed.
[ 3631.392] (**) | |-->Device "Allwinner A10/A13 FBDEV"
[ 3631.392] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 3631.392] (==) Automatically adding devices
[ 3631.392] (==) Automatically enabling devices
[ 3631.392] (==) Automatically adding GPU devices
[ 3631.392] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 3631.393] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 3631.393] Entry deleted from font path.
[ 3631.393] (==) FontPath set to:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/100dpi/:unscaled,
/usr/share/fonts/X11/75dpi/:unscaled,
/usr/share/fonts/X11/Type1,
/usr/share/fonts/X11/100dpi,
/usr/share/fonts/X11/75dpi,
built-ins
[ 3631.393] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 3631.393] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 3631.393] (II) Loader magic: 0x581f98
[ 3631.393] (II) Module ABI versions:
[ 3631.393] X.Org ANSI C Emulation: 0.4
[ 3631.393] X.Org Video Driver: 24.0
[ 3631.393] X.Org XInput driver : 24.1
[ 3631.393] X.Org Server Extension : 10.0
[ 3631.396] (++) using VT number 1
[ 3631.404] (II) systemd-logind: took control of session /org/freedesktop/login1/session/c1
[ 3631.407] (II) xfree86: Adding drm device (/dev/dri/card1)
[ 3631.411] (II) systemd-logind: got fd for /dev/dri/card1 226:1 fd 11 paused 0
[ 3631.413] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 3631.416] (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 12 paused 0
[ 3631.416] (II) no primary bus or device found
[ 3631.416] falling back to /sys/devices/platform/display-engine/drm/card1
[ 3631.416] (II) LoadModule: "glx"
[ 3631.417] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 3631.426] (II) Module glx: vendor="X.Org Foundation"
[ 3631.426] compiled for 1.20.4, module version = 1.0.0
[ 3631.426] ABI class: X.Org Server Extension, version 10.0
[ 3631.426] (II) LoadModule: "fbturbo"
[ 3631.426] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so
[ 3631.427] (II) Module fbturbo: vendor="X.Org Foundation"
[ 3631.427] compiled for 1.19.2, module version = 0.5.1
[ 3631.427] Module class: X.Org Video Driver
[ 3631.427] ABI class: X.Org Video Driver, version 23.0
[ 3631.427] (EE) fbturbo: module ABI major version (23) doesn't match the server's version (24)
[ 3631.427] (EE) Failed to load module "fbturbo" (module requirement mismatch, 0)
[ 3631.427] (EE) No drivers available.
[ 3631.427] (EE)
Fatal server error:
[ 3631.427] (EE) no screens found(EE)
[ 3631.428] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 3631.428] (EE) Please also check the log file at "/home/cpi/.local/share/xorg/Xorg.0.log" for additional information.
[ 3631.428] (EE)
[ 3631.476] (EE) Server terminated with error (1). Closing log file.
Something is wrong with the display now, no matter which driver is set up (as if via the launcher, but I just manually did it). After booting I get the usual text screen with the “no mail” message, but that’s it. I can still SSH in of course.
I also tried building mesa again, using one of the earlier methods that I had tried, which didn’t get me into this state, thinking maybe some parameter in the build process messed things up. But that didn’t work either – same result.
The only difference I know of is the first thing I did as part of guu’s post. This:
## install the new libdrm
wget https://dri.freedesktop.org/libdrm/libdrm-2.4.100.tar.bz2
tar jxvf libdrm-2.4.100.tar.bz2
cd libdrm-2.4.100
./configure --libdir=/usr/lib/arm-linux-gnueabihf
make
sudo make install
I hadn’t done that in my other attempts. I had just rebuilt mesa, and messed a bit with the xorg conf, but I put the conf back to it’s original state, and while the various mesa builds weren’t getting me a more accelerated display, the launcher still worked, etc.
So now I’m wondering what installing the “new libdrm” actually did, and if I can somehow undo it and go back to what I had before. Is this something I can downgrade as described in you method, @Joao_Manoel? (And thanks for putting in the effort and time to figure that out because it sounds like it will be really useful!)
I took a look at the directory that the libdrm stuff was targeting, and based on the timestamps I’m assuming that these are the files it replaced when I built the 2.4 version:
I’m not sure if it changed files in other locations (like config files, etc.), but these files all appeared at the time I did that build. I also found packages that seem to match: libdrm-freedreno1, libdrm-amdgpu1, libdrm-radeon1, libdrm-nouveau2, libdrm2. The only thing I couldn’t find a reference to was libkms. I’ll wait to try downgrading these until I verify that rolling back the udev version doesn’t help.
I’m thinking I probably can’t hurt my system any worse, so I’ll try downgrading libudev and udev as described, and see if that helps. I poked around and saw there is a libdrm2 package in debian, but there are also tons of other packages like it with various names. Hopefully that might be a way out of my problem, to revert whatever is going on with the version I installed from that tarball in guu’s post? I’m open to suggestions, and appreciate the help! In the mean time I’ll try rolling back udev and see if that helps. Thanks!