LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - ARM
User Name
Password
Slackware - ARM This forum is for the discussion of Slackware ARM.

Notices


Reply
  Search this Thread
Old 05-08-2022, 10:31 PM   #16
mralk3
Slackware Contributor
 
Registered: May 2015
Distribution: Slackware
Posts: 1,901

Rep: Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052

I know I said I was going to wait for the next kernel. I had some free time this weekend and did some research. I read every bit of documentation on the Raspberry Pi and was able to clarify a few things for myself about the config.txt.

Normally I can trigger a freeze by opening any video on the desktop while multitasking. In the attached screen shot you will notice my video settings, compositor is on in Xfce, and Glxgears is rendering. I had about 20 minutes of good video and then I launched Firefox. Freeze. The sound continues in the video while the screen is frozen. It must be something to do with hardware acceleration in Firefox.

I wanted to test video playback using this video in hopes that we can all test with the same media. To try to have less variables in play while testing. It is hosted on my site so feel free to download it to test and stream it to test.
Video URL: https://exitstatus.one/wp-content/up...rpi3_build.mp4

gpu_mem does not need to be set for the Pi 4. I loaded the rpivid overlay. Booted with the experimental dtb for the board. Finally, since we do not have the H265 library in Slackware (on SlackBuilds.org), I commented out hdmi_enable_4kp60. Without H265 (at least the way I understand it), the Pi is not capable of 4K.

(https://www.raspberrypi.com/document...s.html#bcm2711)
Quote:
Multimedia: H.265 (4Kp60 decode); H.264 (1080p60 decode, 1080p30 encode); OpenGL ES, 3.0 graphics
My config.txt:
Code:
#########################################################################
# File...: /boot/platform/hwm_bw/config.txt Purpose: Configuration file for the RPi first stage Boot Loader.
#          * Handles Flattened Device Tree (and Overlays) and various
#            hardware settings.
#          * Chain loads the 2nd-stage U-Boot loader, which boots the
#            Linux Kernel and Slackware OS.
# Date...: 22-Dec-2021
#########################################################################
# Notes
# [1] This file is not actively managed by the Slackware OS.
#     It's statically created by the sdcards.build script:
#     http://ftp.arm.slackware.com/slackwarearm/platform/aarch64/bootware/src/sdcards.build
# [2] The Linux Kernel and Slackware OS configuration is found within
#     the Slackware OS here:
#     /boot/extlinux/extlinux.conf
# [3] For detailed information about this configuration file and the possible
#     configuration directives, see:-
#     https://www.raspberrypi.com/documentation/computers/config_txt.html
#########################################################################

# Raspberry Pi4/400 settings:
[pi4]
# Assign 128MB of RAM to the GPU:
#gpu_mem=128
# Enable DRM VC4 V3D driver on top of the dispmanx display stack:
# https://github.com/raspberrypi/linux/issues/4392
#dtoverlay=vc4-kms-v3d-pi4
#dtoverlay=vc4-fkms-v3d
#dtoverlay=vc4-fkms-v3d-pi4,cma-512
#dtoverlay=vc4-kms-v3d,cma-384
dtoverlay=vc4-kms-v3d
dtoverlay=rpivid-v4l2
max_framebuffers=2
#hdmi_enable_4kp60=1
# Interested in overclocking options?
# See: https://www.raspberrypi.com/news/introducing-turbo-mode-up-to-50-more-performance-for-free/
#
# Experimental for RPi4 model B:
device_tree=bcm2711-rpi-4-b.dtb

# Raspberry Pi400 settings. These would override those configured
# for all RPi4 models.
#[pi400]

# Raspberry Pi3 settings:
[pi3]
device_tree=bcm2837-rpi-3-b.dtb
# Raspberry Pi3+ settings:
[pi3+]
device_tree=bcm2837-rpi-3-b-plus.dtb

# General settings for Raspberry Pi Hardware Models:
[all]
arm_64bit=1
enable_uart=1
disable_fw_kms_setup=1
upstream_kernel=1
# For the VC4 driver (according to the help text within the
# Kernel configuration!)
avoid_warnings=2
# Chain load the 2nd stage U-Boot Boot Loader.
kernel=slk_u-boot.bin

#########################################################################
# Device Tree Overlays
# See the README /boot/platform/hwm_bw/overlays/README
# (Note: this 'README' is from the RPi Bootware repository)
#########################################################################

# Real Time Clocks on the I2C bus (connected to the GPIO pins):
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on
#dtoverlay=i2c-rtc,ds1307
#dtoverlay=i2c-rtc,pcf85063

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18
Attached Thumbnails
Click image for larger version

Name:	J3EB0Ri.jpg
Views:	20
Size:	248.3 KB
ID:	38874  
 
Old 05-09-2022, 02:42 AM   #17
pchristy
Senior Member
 
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,120

Rep: Reputation: Disabled
A couple of quick comments: x264 and x265 are both available in Slackbuilds, and neither come with Slackware as standard. x265 is trivially easy to build. 4K is "usually" x265, as this helps keep the file size down, but it can equally easily be stored as x264.

Having a 4K monitor (Its shared with my main desktop which I use for video editing), if I *don't" enable 4kp60, I get complaints in dmesg about not being able to to clock the gpu fast enough - even though my monitor can only manage 30fps maximum, not 60 fps.

At the moment, I'm a bit stuck! After one crash too many, I am now unable to get into X at all, either from sddm or the command line. Something clearly got corrupted quite badly in the last crash, and I suspect the only solution is going to be yet another full install. This may take a day or two, depending on other commitments. Grrr!

BTW, I frequently have issues with Firefox playing videos on my desktops (x86_64). On my old workshop machine, for some reason playing stuff off youtube will cause the network to drop out, and I need to restart rc.inet1. On my main (editing) desktop it sometimes causes interruptions to file transfers. For all my video testing I've been using either VLC or mpv/smplayer. VLC allegedly now defaults to hardware acceleration, but this can only happen if its already available. Looking at the clunkiness of the X desktop, I'm not convinced that it is!

--
Pete
 
Old 05-09-2022, 09:37 AM   #18
mralk3
Slackware Contributor
 
Registered: May 2015
Distribution: Slackware
Posts: 1,901

Rep: Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052
Quote:
Originally Posted by pchristy View Post
A couple of quick comments: x264 and x265 are both available in Slackbuilds, and neither come with Slackware as standard. x265 is trivially easy to build. 4K is "usually" x265, as this helps keep the file size down, but it can equally easily be stored as x264.

Having a 4K monitor (Its shared with my main desktop which I use for video editing), if I *don't" enable 4kp60, I get complaints in dmesg about not being able to to clock the gpu fast enough - even though my monitor can only manage 30fps maximum, not 60 fps.
My mistake! Yeah, I don't know why I missed the "SBo" tag in my x264 package. Either way, I think it is still better to leave 4k disabled. Not everyone has a 4k monitor.

Quote:
At the moment, I'm a bit stuck! After one crash too many, I am now unable to get into X at all, either from sddm or the command line. Something clearly got corrupted quite badly in the last crash, and I suspect the only solution is going to be yet another full install. This may take a day or two, depending on other commitments. Grrr!

BTW, I frequently have issues with Firefox playing videos on my desktops (x86_64). On my old workshop machine, for some reason playing stuff off youtube will cause the network to drop out, and I need to restart rc.inet1. On my main (editing) desktop it sometimes causes interruptions to file transfers. For all my video testing I've been using either VLC or mpv/smplayer. VLC allegedly now defaults to hardware acceleration, but this can only happen if its already available. Looking at the clunkiness of the X desktop, I'm not convinced that it is!
I remove the SSD and SD card from my Pi 4 and run fsck on another machine after each freeze. Then I boot it back up knowing nothing is corrupted. I may not be that well versed in video decoding (i.e. x264/x265), but I do know networking. The network issue is more than likely something else. I would open a new thread in the main Slackware forum so we can keep this one on topic.
 
Old 05-09-2022, 11:20 AM   #19
pchristy
Senior Member
 
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,120

Rep: Reputation: Disabled
Yes, I've been checking the sd card on my desktop too, but it hasn't fixed it. Funny thing is though, that after leaving it off overnight, today it booted into X as if nothing had ever been wrong! Of course, following the inevitable crash, it refused to start X again - UNTIL - I put the Librelec sd card in! When I swapped back again, X was working once more - for a while, anyway!

I *may* have an explanation for this behaviour. You see Slackwareaarch64 does not shutdown properly on the 400. It always ends up unresponsive, and with the graphics chip still running, but nothing else. Since reboot is part of the same command, I don't think its rebooting properly either. I think that either halting or rebooting is leaving garbage in memory, possibly the same garbage that is causing the crash in the first place. Could this be a memory leak over-writing something it shouldn't (causing the crash), and then not getting cleared away by halt or reboot? Feels plausible!

At the moment I'm back to not having X at all again, but I know that if I wait long enough - or reboot into another system - it will probably magically re-appear!

--
Pete
 
Old 05-11-2022, 05:18 AM   #20
pchristy
Senior Member
 
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,120

Rep: Reputation: Disabled
Well, I've done a bit more playing and yes, the sd card is getting corrupted by the crashes - even when I ssh in and try to shut it down remotely.

Just for a laugh, I thought I'd try starting wayland instead of X. That produced yet another instant crash.

Frankly, it looks as if there is something fundamentally wrong with the way that slackwareaarch64 is handling the graphics drivers. Fault-finding this is getting way above my pay-grade!

For the moment, I'm giving up. Slarm64 continues to perform well on the same hardware, so I'm sticking with that for the time being. I'll revisit when there is a big upgrade to the X system / graphics drivers.

--
Pete
 
Old 05-13-2022, 04:26 AM   #21
pchristy
Senior Member
 
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,120

Rep: Reputation: Disabled
OK, this is interesting. I tried installing all the latest updates, and checked the filesystems for corruption. On rebooting, I managed to get into X (briefly!) and run the kde info centre. It reported the graphics driver as "llvmpipe", before it froze solid again.

Rebooting into Slarm64, the info centre reports the graphics driver to be "V3D 4.2" - which is what I would expect!

Why is slackwareaarch64 running graphics in what appears to be a virtual environment? Is this intentional? I see lots of reports of Ubuntu users with NVidia graphics cards having similar issues, with llvmpipe suddenly taking over from the NVidia drivers without warning - to the severe detriment of performance.

I also note that when attempting to shutdown slackwareaarch64, one of the last messages I see before the system freezes is something about "exiting kvm" - which again suggests the presence of a virtual machine.

What is going on? Any comments, anyone?

--
Pete
 
Old 05-13-2022, 09:32 AM   #22
mralk3
Slackware Contributor
 
Registered: May 2015
Distribution: Slackware
Posts: 1,901

Rep: Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052
There is not anything wrong with the video stack in Slackware ARM or Aarch64. The Pinebook Pro and RockPro64 play video just fine. If there was an issue it would be present on all hardware models.

What needs to happen is for the video drivers (vc4, v3d) to be fully implemented in the Linux kernel. There are patches out there that do this but those patches are not maintained and are outdated. The kernel fails to build with those patches when the v3d driver is compiled.

Say I publish this work, after fixing up those patches, and video starts working for a time. Great! Who is going to maintain those patches in the long run, in future kernels? It makes more sense to wait until upstream has support for the Raspberry Pi sorted out. To me it doesn't make sense to get the drivers functioning if it means a new patch must be created for every kernel release/point release.

Last edited by mralk3; 05-13-2022 at 09:32 AM. Reason: typo
 
Old 05-13-2022, 09:47 AM   #23
drmozes
Slackware Contributor
 
Registered: Apr 2008
Distribution: Slackware
Posts: 1,545

Rep: Reputation: 1313Reputation: 1313Reputation: 1313Reputation: 1313Reputation: 1313Reputation: 1313Reputation: 1313Reputation: 1313Reputation: 1313Reputation: 1313
I've often thought that people who buy RPis and want to run something other than their own OS, could go about press ganging the RPi company to get their hardware support upstreamed much more quickly. That'd really help not just Slackware but all of the other distributions.
 
Old 05-13-2022, 09:48 AM   #24
pchristy
Senior Member
 
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,120

Rep: Reputation: Disabled
OK, but why is my installation of slackwareaarch64 using this "llvmpipe" driver? Why is it not running the "V3D 4.2" driver, which is what the dbtoverlay suggests it should be running?

From what I've been able to find out from google, "llvmpipe" is a software renderer noted for its poor performance in many environments. It seems to mostly affect Ubuntu users with NVidia drivers, which it usurps, leaving them with poor graphics performance. Sound familiar?

As a matter of interest, what does
Code:
glxinfo | grep render
give on your machine? Do you see V3D or llvmpipe?

The V3D drivers do work. Unfortunately, on my system, they seem to have been taken over by llvmpipe! How do I get them back?

--
Pete
 
Old 05-15-2022, 07:24 AM   #25
pchristy
Senior Member
 
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,120

Rep: Reputation: Disabled
Some more information, hopefully trying to get to the bottom of this.

First of all the GLX renderer:
Code:
PiOS  ## X is stable, 720 video plays fine, 1080 video plays but with high cpu load, 4K video (x265) does not play.

glxinfo | grep renderer
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_OML_swap_method, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: V3D 4.2

Slarm64:  ## X is stable, 720 video plays fine, 1080 video plays but with high cpu load, 4K video (x265) does not play.

glxinfo | grep renderer
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: V3D 4.2


Slackwareaarch64:  ## X is unstable and crashes frequently, also takes a long time to load. 720 video just about plays with high cpu load, but nothing higher.

glxinfo | grep renderer
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_OML_swap_method, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: llvmpipe (LLVM 13.0.1, 128 bits)
Unfortunately Libreelec doesn't have sufficient tools to create a similar output (no GLX tools). However, it plays 4K video with no issues at all.

Looking back into dmesg on Slackwareaarch64, I find this:
Code:
[   20.976798] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[   21.107895] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[   21.162879] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[   21.222284] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[   21.266522] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[   21.280019] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4])
[   21.292594] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
[   21.305969] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
[   21.318772] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
[   21.331728] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
[   21.410476] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1
[   21.601236] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device
[  183.261951] vc4-drm gpu: [drm] *ERROR* [CRTC:76:crtc-3] flip_done timed out
[  193.501967] vc4-drm gpu: [drm] *ERROR* flip_done timed out
[  193.501991] vc4-drm gpu: [drm] *ERROR* [CRTC:76:crtc-3] commit wait timed out
[  203.741984] vc4-drm gpu: [drm] *ERROR* flip_done timed out
[  203.742006] vc4-drm gpu: [drm] *ERROR* [CONNECTOR:32:HDMI-A-1] commit wait timed out
[  213.981960] vc4-drm gpu: [drm] *ERROR* flip_done timed out
[  213.981984] vc4-drm gpu: [drm] *ERROR* Timed out waiting for commit
[  224.221971] vc4-drm gpu: [drm] *ERROR* [CRTC:76:crtc-3] flip_done timed out
[  234.461964] vc4-drm gpu: [drm] *ERROR* flip_done timed out
[  234.461988] vc4-drm gpu: [drm] *ERROR* Timed out waiting for commit
[  244.701958] vc4-drm gpu: [drm] *ERROR* flip_done timed out
[  244.701981] vc4-drm gpu: [drm] *ERROR* [CRTC:76:crtc-3] commit wait timed out
[  265.181968] vc4-drm gpu: [drm] *ERROR* flip_done timed out
[  265.181993] vc4-drm gpu: [drm] *ERROR* [CONNECTOR:32:HDMI-A-1] commit wait timed out
I cannot start X from sddm - it goes to a blank screen (no output) and stays there. From the command line, startx does get X up and running after a (very) long pause. The above dmesg output indicates that although the vc4 driver loads OK initially (framebuffer mode), as soon as I attempt to start X, it borks and drops back to llvmpipe.

Libreelec dmesg yields this:
Code:
dmesg | grep vc4
[    1.410704] vc4-drm gpu: bound fe400000.hvs (ops 0xffffffc010d42a60)
[    1.615741] vc4-drm gpu: bound fe400000.hvs (ops 0xffffffc010d42a60)
[    1.622757] vc4-drm gpu: bound fef00700.hdmi (ops 0xffffffc010d40790)
[    1.625319] vc4-drm gpu: bound fef05700.hdmi (ops 0xffffffc010d40790)
[    1.625466] vc4-drm gpu: bound fe004000.txp (ops 0xffffffc010d431f8)
[    1.625579] vc4-drm gpu: bound fe206000.pixelvalve (ops 0xffffffc010d3dfd8)
[    1.625676] vc4-drm gpu: bound fe207000.pixelvalve (ops 0xffffffc010d3dfd8)
[    1.625775] vc4-drm gpu: bound fe20a000.pixelvalve (ops 0xffffffc010d3dfd8)
[    1.625857] vc4-drm gpu: bound fe216000.pixelvalve (ops 0xffffffc010d3dfd8)
[    1.625953] vc4-drm gpu: bound fec12000.pixelvalve (ops 0xffffffc010d3dfd8)
[    1.627440] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 0
[    1.678290] vc4-drm gpu: [drm] The core clock cannot reach frequencies high enough to support 4k @ 60Hz.
[    1.678296] vc4-drm gpu: [drm] Please change your config.txt file to add hdmi_enable_4kp60.
[    1.813332] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device
[    1.856472]   #0: vc4-hdmi-0
[    1.856477]   #1: vc4-hdmi-1
If it has a config.txt file, it isn't accessible! Even via ssh, I can only access the storage medium, not the core OS.

However, lsmod looks interesting:
Code:
lsmod
Module                  Size  Used by
hci_uart               49152  1
btbcm                  24576  1 hci_uart
bluetooth             573440  25 hci_uart,btbcm
ecdh_generic           16384  2 bluetooth
ecc                    28672  1 ecdh_generic
8021q                  28672  0
brcmfmac              303104  0
brcmutil               24576  1 brcmfmac
cxd2880                86016  1
cxd2880_spi            24576  12
dvb_core              122880  2 cxd2880,cxd2880_spi
cfg80211              708608  1 brcmfmac
rpivid_hevc            49152  0
bcm2835_codec          45056  0
v4l2_mem2mem           32768  2 bcm2835_codec,rpivid_hevc
bcm2835_isp            32768  0
bcm2835_mmal_vchiq     36864  2 bcm2835_codec,bcm2835_isp
videobuf2_dma_contig    24576  3 bcm2835_codec,rpivid_hevc,bcm2835_isp
videobuf2_memops       20480  1 videobuf2_dma_contig
videobuf2_v4l2         24576  4 bcm2835_codec,rpivid_hevc,v4l2_mem2mem,bcm2835_isp
videobuf2_common       49152  5 bcm2835_codec,videobuf2_v4l2,rpivid_hevc,v4l2_mem2mem,bcm2835_isp
rfkill                 28672  5 bluetooth,cfg80211
videodev              266240  6 bcm2835_codec,videobuf2_v4l2,videobuf2_common,rpivid_hevc,v4l2_mem2mem,bcm2835_isp
bcm2835_gpiomem        16384  0
spi_bcm2835            24576  0
mc                     49152  8 videodev,bcm2835_codec,videobuf2_v4l2,dvb_core,videobuf2_common,rpivid_hevc,v4l2_mem2mem,bcm2835_isp
nvmem_rmem             16384  0
fuse                  126976  1
Note in particular that rpivid_hevc module, which, I'm guessing, is why it can play back 4K - despite the command being missing from config.txt.

However, none of this helps with the basic problem, which is that the vc4 driver is borking badly.

I am going to try doing a complete, clean re-install and see if that helps. It could be that because of the crashes something has got damaged in the installation, but at the moment I see no other way forward.

UPDATE: Did a completely fresh install, everything verified, rebooted, adduser, reboot, login as user (command-line), startx - instant crash. Keyboard locked solid, no video output. Had to login via ssh to shutdown.

--
Pete

Last edited by pchristy; 05-15-2022 at 09:41 AM. Reason: UPDATE
 
Old 05-15-2022, 08:07 PM   #26
mralk3
Slackware Contributor
 
Registered: May 2015
Distribution: Slackware
Posts: 1,901

Rep: Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052
@pchristy

The upstream kernel has poor support. Kernel.org is upstream. The Raspberry Pi developers need to send their fixes up the pipeline. Slackware is not the only Linux distribution that suffers from poor video performance on the Raspberry Pi. My interest is for Slackware and not for other distributions.

Good news is that the Raspberry Pi 3 is working fine and glxinfo reports VC4 V3D 2.1 as active. Video doesn't freeze and I am able to play video with audio. I am using the default config.txt that comes with both the Pi 3 and 4 on Slackware Aarch64. This is a good sign.

My personal preferences and opinion are: I don't want to hear about how well Slarm64, Raspberry Pi OS, Libreelec, or any other Linux operating system runs. This is a Slackware forum.

Last edited by mralk3; 05-15-2022 at 08:49 PM.
 
Old 05-16-2022, 02:00 AM   #27
pchristy
Senior Member
 
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,120

Rep: Reputation: Disabled
@mralk3

I hear what you are saying, but you are missing my point. Slackwareaarch64 appears to be loading the wrong driver for some reason - at least on the Pi400 and probably the Pi4 as well. The others do not. I don't know why.

I asked a while back what was the output of "glxinfo | grep render" on your Pi4, but I have not seen a reply. If yours responds with "V3D", then it is a configuration issue on my system somewhere. If yours responds with "llvmpipe" then there must be something wrong with the way slackwareaarch is detecting the correct driver.

Yesterday, I did a completely fresh install, and booted without making any configuration changes to config.txt. As soon as I attempted to start X from the command line, the machine locked solid.

Subsequently, I edited the config.txt file thus:
Code:
# Raspberry Pi4/400 settings:
[pi4]
# Assign 128MB of RAM to the GPU:
gpu_mem=128
disable_fw_kms_setup=1
# Enable DRM VC4 V3D driver on top of the dispmanx display stack:
# https://github.com/raspberrypi/linux/issues/4392
#dtoverlay=vc4-kms-v3d-pi4
#dtoverlay=vc4-fkms-v3d
dtoverlay=vc4-kms-v3d
max_framebuffers=2
#hdmi_enable_4kp60=1
# Interested in overclocking options?
# See: https://www.raspberrypi.com/news/introducing-turbo-mode-up-to-50-more-performance-for-free/
#
# Experimental for RPi4 model B:
#device_tree=bcm2711-rpi-4-b.dtb

# Raspberry Pi400 settings. These would override those configured
# for all RPi4 models.
#[pi400]
device_tree=bcm2711-rpi-400.dtb
This enabled me to start X, and for a while it seemed like it was stable.

However, it is STILL using the llvmpipe driver:
Code:
glxinfo | grep render
direct rendering: Yes
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer,
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_OML_swap_method,
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: llvmpipe (LLVM 13.0.1, 128 bits)
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
    GL_NV_conditional_render, GL_NV_copy_image, GL_NV_depth_clamp,
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
    GL_NV_blend_square, GL_NV_conditional_render, GL_NV_copy_depth_to_color,
    GL_EXT_read_format_bgra, GL_EXT_render_snorm, GL_EXT_robustness,
    GL_NV_conditional_render, GL_NV_draw_buffers, GL_NV_fbo_color_attachments,
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
I repeat, this is a software renderer and will never deliver decent performance.

dmesg provides the following:
Code:
dmesg | grep vc4

[   24.319560] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[   24.352554] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[   24.388058] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[   24.405070] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[   24.425707] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[   24.428625] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4])
[   24.431550] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
[   24.437641] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
[   24.441254] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
[   24.445113] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
[   24.533795] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1
[   24.584654] vc4-drm gpu: [drm] The core clock cannot reach frequencies high enough to support 4k @ 60Hz.
[   24.584685] vc4-drm gpu: [drm] Please change your config.txt file to add hdmi_enable_4kp60.
[   24.755344] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device
so the vc4 driver appears to be loading - at least partially - correctly.

However, as soon as I switched inittab to start in run level 4, I had issues. Although sddm started and logged in correctly, if I left the machine and returned (having to unlock the system) sddm took two or three seconds to respond to EACH LETTER of the password. Once logged in, I could see that all 4 cores had been running at 100% during the unlocking procedure. Then when I tried to shut it down via sddm, the whole machine locked solid and I couldn't even ssh into it. After an hour (in case it was just being very slow), I pulled the plug.

It looks as if I was correct in at least one of my assumptions, namely that all the lockups had corrupted my previous installation. This is evident as the code above is different from that which I was seeing previously. However, it still suffers from abysmal performance in X and is still unstable.

As it stands at present, slackwareaarch64 is unusable in any meaningful way on the Pi 400. I don't know why. I hear what you are saying about upstream, but I can't see how that explains the incorrect driver issue.

I have passed on as much information as I can in an attempt to diagnose the problem, as I am more than a little out of my depth here. Hopefully it will help you and Stuart to find a fix. For the moment, I have to give up as I am spending way too much time on this.

--
Pete
 
2 members found this post helpful.
Old 05-17-2022, 11:06 AM   #28
stormtracknole
Senior Member
 
Registered: Aug 2005
Distribution: Slackware, RHEL
Posts: 1,263

Rep: Reputation: 231Reputation: 231Reputation: 231
Quote:
Originally Posted by pchristy View Post
@mralk3

I hear what you are saying, but you are missing my point. Slackwareaarch64 appears to be loading the wrong driver for some reason - at least on the Pi400 and probably the Pi4 as well. The others do not. I don't know why.

I asked a while back what was the output of "glxinfo | grep render" on your Pi4, but I have not seen a reply. If yours responds with "V3D", then it is a configuration issue on my system somewhere. If yours responds with "llvmpipe" then there must be something wrong with the way slackwareaarch is detecting the correct driver.

Yesterday, I did a completely fresh install, and booted without making any configuration changes to config.txt. As soon as I attempted to start X from the command line, the machine locked solid.

Subsequently, I edited the config.txt file thus:
Code:
# Raspberry Pi4/400 settings:
[pi4]
# Assign 128MB of RAM to the GPU:
gpu_mem=128
disable_fw_kms_setup=1
# Enable DRM VC4 V3D driver on top of the dispmanx display stack:
# https://github.com/raspberrypi/linux/issues/4392
#dtoverlay=vc4-kms-v3d-pi4
#dtoverlay=vc4-fkms-v3d
dtoverlay=vc4-kms-v3d
max_framebuffers=2
#hdmi_enable_4kp60=1
# Interested in overclocking options?
# See: https://www.raspberrypi.com/news/introducing-turbo-mode-up-to-50-more-performance-for-free/
#
# Experimental for RPi4 model B:
#device_tree=bcm2711-rpi-4-b.dtb

# Raspberry Pi400 settings. These would override those configured
# for all RPi4 models.
#[pi400]
device_tree=bcm2711-rpi-400.dtb
This enabled me to start X, and for a while it seemed like it was stable.

However, it is STILL using the llvmpipe driver:
Code:
glxinfo | grep render
direct rendering: Yes
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer,
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_OML_swap_method,
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: llvmpipe (LLVM 13.0.1, 128 bits)
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
    GL_NV_conditional_render, GL_NV_copy_image, GL_NV_depth_clamp,
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
    GL_NV_blend_square, GL_NV_conditional_render, GL_NV_copy_depth_to_color,
    GL_EXT_read_format_bgra, GL_EXT_render_snorm, GL_EXT_robustness,
    GL_NV_conditional_render, GL_NV_draw_buffers, GL_NV_fbo_color_attachments,
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
I repeat, this is a software renderer and will never deliver decent performance.

dmesg provides the following:
Code:
dmesg | grep vc4

[   24.319560] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[   24.352554] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[   24.388058] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[   24.405070] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[   24.425707] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[   24.428625] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4])
[   24.431550] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
[   24.437641] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
[   24.441254] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
[   24.445113] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
[   24.533795] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1
[   24.584654] vc4-drm gpu: [drm] The core clock cannot reach frequencies high enough to support 4k @ 60Hz.
[   24.584685] vc4-drm gpu: [drm] Please change your config.txt file to add hdmi_enable_4kp60.
[   24.755344] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device
so the vc4 driver appears to be loading - at least partially - correctly.

However, as soon as I switched inittab to start in run level 4, I had issues. Although sddm started and logged in correctly, if I left the machine and returned (having to unlock the system) sddm took two or three seconds to respond to EACH LETTER of the password. Once logged in, I could see that all 4 cores had been running at 100% during the unlocking procedure. Then when I tried to shut it down via sddm, the whole machine locked solid and I couldn't even ssh into it. After an hour (in case it was just being very slow), I pulled the plug.

It looks as if I was correct in at least one of my assumptions, namely that all the lockups had corrupted my previous installation. This is evident as the code above is different from that which I was seeing previously. However, it still suffers from abysmal performance in X and is still unstable.

As it stands at present, slackwareaarch64 is unusable in any meaningful way on the Pi 400. I don't know why. I hear what you are saying about upstream, but I can't see how that explains the incorrect driver issue.

I have passed on as much information as I can in an attempt to diagnose the problem, as I am more than a little out of my depth here. Hopefully it will help you and Stuart to find a fix. For the moment, I have to give up as I am spending way too much time on this.

--
Pete
I think the problem is that the mainline kernel doesn't work well or at all with the Pi 400 yet. You would probably have to switch to their kernel to get it working. By that I mean the video portion. Just a guess. I have a Pi 400 still in the box and I'm just trying to find some time to play around with it.

Last edited by stormtracknole; 05-17-2022 at 11:07 AM. Reason: To specify what doesn't work.
 
Old 07-07-2022, 01:19 PM   #29
sunzu
LQ Newbie
 
Registered: Nov 2021
Location: Bavaria, Germany
Distribution: Slackware, PostmarketOS
Posts: 16

Original Poster
Rep: Reputation: Disabled
marked as solved it is an upstream Problem with the Pi4 the solution is to build the Pi Kernel using this HOWTO https://docs.slackware.com/slackwarearm:cstmz_kernel
thanks Stuart
 
  


Reply

Tags
rpi4, slackware aarch64



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Slackwareaarch64-current (up-to-date) running on rpi4 new install. mpv fail, execvp error glorsplitz Slackware - ARM 5 04-25-2022 08:32 PM
Can't rsync slackwareaarch64-current dodoLQ Slackware - ARM 2 12-05-2021 05:17 AM
[SOLVED] SARPI (fatdog) on RPi4 - no HDMI video [SOLVED] arfon Slackware - ARM 4 03-17-2020 01:47 AM
[SOLVED] Arduino IDE on RPi4 SlackwareARM -current using modified Slackbuild TheTKS Slackware - ARM 3 02-15-2020 10:50 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - ARM

All times are GMT -5. The time now is 10:31 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration