Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
RPI4 arm64 xfce slow and sticky v4c with high CPU usage of X
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on ARM
View previous topic :: View next topic  
Author Message
alamahant
Advocate
Advocate


Joined: 23 Mar 2019
Posts: 3929

PostPosted: Wed Aug 18, 2021 9:15 pm    Post subject: RPI4 arm64 xfce slow and sticky v4c with high CPU usage of X Reply with quote

Ok i went ahead and installed arm64 on rpi4 modelB 4G.
Everything was easy.
I used makeoptions 4 and still everything was ok.
It boots fine into xfce.
But i have a problem i suppose with the vc4 driver.
Plz first have a look at my emerge --info
Code:


emerge --info
Portage 3.0.20 (python 3.9.6-final-0, default/linux/arm64/17.0/desktop, gcc-10.3.0, glibc-2.33-r1, 5.10.17-v8 aarch64)
=================================================================
System uname: Linux-5.10.17-v8-aarch64-with-glibc2.33
KiB Mem:     3833276 total,   2539720 free
KiB Swap:     262140 total,    262140 free
Timestamp of repository gentoo: Wed, 18 Aug 2021 15:30:01 +0000
Head commit of repository gentoo: 7b682bc3961e1204555fb5b709315058692d6481
sh bash 5.1_p8
ld GNU ld (Gentoo 2.35.2 p1) 2.35.2
app-shells/bash:          5.1_p8::gentoo
dev-lang/perl:            5.34.0::gentoo
dev-lang/python:          3.9.6_p1::gentoo
dev-lang/rust-bin:        1.53.0::gentoo
dev-util/cmake:           3.20.5::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/openrc:          0.42.1-r1::gentoo
sys-apps/sandbox:         2.24::gentoo
sys-devel/autoconf:       2.69-r5::gentoo
sys-devel/automake:       1.16.3-r1::gentoo
sys-devel/binutils:       2.35.2::gentoo
sys-devel/gcc:            10.3.0-r2::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33-r1::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts:
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1

miramir
    location: /var/lib/layman/miramir
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="arm64"
ACCEPT_LICENSE="*"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-march=native -mtune=cortex-a72 -ftree-vectorize -O2 -pipe -fomit-frame-pointer"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -mtune=cortex-a72 -ftree-vectorize -O2 -pipe -fomit-frame-pointer"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--ask --quiet-build=y"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-march=native -mtune=cortex-a72 -ftree-vectorize -O2 -pipe -fomit-frame-pointer"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -mtune=cortex-a72 -ftree-vectorize -O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp/portage"
USE="X a52 aac acl acpi alsa arm64 bluetooth branding bzip2 cairo cdda cdr cli crypt cups dbus dri dts dvdr egl elogind emboss encode exif flac fortran gdbm gif gles1 gles2 gpm gtk gtk3 gui iconv icu ipv6 jpeg lcms libglvnd libnotify libtirpc mad mng mp3 mp4 mpeg ncurses nls nptl ogg opengl openmp openssl pam pango pcre pdf png policykit ppds pulseaudio readline sdl seccomp spell split-usr ssl svg tcpd tiff truetype udev unicode upower usb vaapi vorbis wxwidgets x264 xattr xcb xml xv xvid zlib" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="crc32 edsp thumb thumb2 v4 v5 v6 v7 v8 vfp vfp-d32 vfpv3 vfpv4" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="vc4" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS



The issue is i keep having a constant 40% cpu usage from X.
This doesnt happen with my Devuan arm64 installation.
By the way I used the above to chroot into Gentoo when I was building the system.
My Gentoo lsmod
Code:


Module                  Size  Used by
ipv6                  532480  18
binfmt_misc            24576  1
brcmfmac              323584  0
brcmutil               24576  1 brcmfmac
sha256_generic         16384  0
vc4                   286720  1
cec                    53248  1 vc4
v3d                    81920  0
cfg80211              860160  1 brcmfmac
drm_kms_helper        245760  3 vc4
bcm2835_isp            32768  0
bcm2835_v4l2           45056  0
bcm2835_codec          49152  0
gpu_sched              40960  1 v3d
v4l2_mem2mem           40960  1 bcm2835_codec
bcm2835_mmal_vchiq     32768  3 bcm2835_codec,bcm2835_v4l2,bcm2835_isp
rfkill                 36864  1 cfg80211
joydev                 28672  0
videobuf2_vmalloc      20480  1 bcm2835_v4l2
videobuf2_dma_contig    24576  2 bcm2835_codec,bcm2835_isp
snd_soc_core          241664  1 vc4
videobuf2_memops       20480  2 videobuf2_vmalloc,videobuf2_dma_contig
drm                   557056  6 gpu_sched,drm_kms_helper,v3d,vc4
videobuf2_v4l2         32768  4 bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
snd_bcm2835            24576  0
snd_compress           20480  1 snd_soc_core
videobuf2_common       61440  5 bcm2835_codec,videobuf2_v4l2,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
snd_pcm_dmaengine      20480  1 snd_soc_core
drm_panel_orientation_quirks    20480  1 drm
snd_pcm               131072  4 snd_bcm2835,snd_compress,snd_soc_core,snd_pcm_dmaengine
videodev              307200  6 bcm2835_codec,videobuf2_v4l2,bcm2835_v4l2,videobuf2_common,v4l2_mem2mem,bcm2835_isp
mc                     57344  6 videodev,bcm2835_codec,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem,bcm2835_isp
snd_timer              36864  1 snd_pcm
vc_sm_cma              36864  2 bcm2835_mmal_vchiq,bcm2835_isp
syscopyarea            16384  1 drm_kms_helper
snd                   102400  5 snd_bcm2835,snd_timer,snd_compress,snd_soc_core,snd_pcm
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
backlight              20480  1 drm
rpivid_mem             16384  0
nvmem_rmem             16384  0
uio_pdrv_genirq        16384  0
uio                    24576  1 uio_pdrv_genirq
raspberrypi_hwmon      16384  0


It feels sticky and slow.
It boots super fine and display also ok but sticky and slow.
My
/boot/config.txt
Code:

arm_64bit=1
kernel=kernel8.img
initramfs initramfs-5.10.52-v8+.img

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

### uncomment to set display to 1024x768
#overscan_left=0
#overscan_right=0
#overscan_top=0
#overscan_bottom=0

#framebuffer_width=1024
#framebuffer_height=768
#framebuffer_depth=16

#hdmi_group=2
#hdmi_mode=16

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

# camera
#start_x=1
gpu_mem=256

# uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# additional overlays and parameters are documented /boot/overlays/README

# enable audio (loads snd_bcm2835)
dtparam=audio=on

# enable uart
enable_uart=0

# Disable wifi and bluetooth
#dtoverlay=disable-wifi
#dtoverlay=disable-bt

# Remove test rainbow
disable_splash=1

[pi4]
# enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
#dtoverlay=vc4-kms-v3d
#dtoverlay=vc4-kms-v3d-pi4
max_framebuffers=2


I created an initrd with dracut.
I dont know if it is necessary but i assumed a kind of copy-paste approach from Devuan to Gentoo.
I have linux-firmware-installed
I moved my / on mini ssd and it works just fine.
I installed the contenets of /boot by cloning
https://github.com/raspberrypi/firmware
My dmesg
https://pastebin.com/3S0qxSsw
My rc.log
https://pastebin.com/3epyZL4c
I have "libinput" in input_devices in make.conf.Is it ok?
Your precious wisdom would really be very very welcome.
Thanks a lot Guys.
_________________
:)
Back to top
View user's profile Send private message
alamahant
Advocate
Advocate


Joined: 23 Mar 2019
Posts: 3929

PostPosted: Wed Aug 18, 2021 10:26 pm    Post subject: Reply with quote

I FOUND IT!!!
In make.conf
VIDEO_CARDS="v4c v3d"
That is I appended v3d.
Now it works flawlessly.
Still wifi is giving me trouble though....
_________________
:)
Back to top
View user's profile Send private message
alamahant
Advocate
Advocate


Joined: 23 Mar 2019
Posts: 3929

PostPosted: Wed Aug 18, 2021 11:06 pm    Post subject: Reply with quote

I connected an ethernet cable so wifi became insignificant.
BUT now i see there is NO binary web browser for arm?
Oh my!!!
What am i supposed to do now?
Build one on a pi?
_________________
:)
Back to top
View user's profile Send private message
flysideways
Guru
Guru


Joined: 29 Jan 2005
Posts: 499

PostPosted: Thu Aug 19, 2021 2:37 pm    Post subject: Reply with quote

Code:
Mon Jul 26 21:59:59 2021 >>> www-client/firefox-78.12.0
  merge time: 12 hours, 15 minutes and 39 seconds.


Firefox built natively on a usb3 attached ssd.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54644
Location: 56N 3W

PostPosted: Thu Aug 19, 2021 4:24 pm    Post subject: Reply with quote

alamahant,

Cheat. Feel free to use my arm64 binhost.

The Pi4 is no too bad a build system.

-- edit --

The wifi chip and its firmware is intended to with with EFI firmware, which the PI does not have.
You need the .txt file to provide the data that the EFI firmware would provide.

-- edit --
Built on a Mudan arm64 server, with 8 cores and 128G RAM ...
Code:
     Mon Aug 16 12:51:33 2021 >>> www-client/firefox-91.0
       merge time: 3 hours, 40 minutes and 54 seconds.

_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
alamahant
Advocate
Advocate


Joined: 23 Mar 2019
Posts: 3929

PostPosted: Thu Aug 19, 2021 7:37 pm    Post subject: Reply with quote

Thanks Thanks @Neddy
No my friend @flysideways
I will give that a miss
_________________
:)
Back to top
View user's profile Send private message
alamahant
Advocate
Advocate


Joined: 23 Mar 2019
Posts: 3929

PostPosted: Fri Aug 20, 2021 8:32 pm    Post subject: Reply with quote

Everything seems perfect now if not for a new slight glitch.
Although cpu usage is reasonable both when playing youtube and vlc 15-40%(i am satisfied with this number.In other arms i had 100-200%),there is a slight pause sometimes like its buffering.Not only youtube but also vlc.
I have cpupower installed and running with "--governor performance" and also rng-tools.
What would be causing this occasional stutter when playing video?
Is there any way to remedy this?
Thanks again....
_________________
:)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on ARM All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum