Low framerate on main EmulationStation menu - Pi 4
-
Not directly related but new Mesa was mentioned. I have a branch with a module I use for testing latest mesa. It should be considered development only and it breaks often due to upstream changes. It should be considered unsupported so don't try it unless you are confident at fixing problems.
https://github.com/joolswills/RetroPie-Setup/tree/mesa
You will need to manually enable deb-src for the raspbian repos so the apt build-dep works (in raspi.list).
The module will also upgrade meson, and build new libdrm and libglvnd packages.
This builds the latest git Mesa. Using Debian package info from latest Debian experimental with some patches.
retropie_packages.sh mesa
To install. But safer to do depends, sources, build, install separately in case of error.
retropie_packages.sh mesa downgrade
To restore to raspbian versions.
-
the only time when my temps increase to eye popping levels is during code compiles rather than the emulators I normally play.
The GPU just doesn't seem to generate that much heat. Maybe if we had a FurMark equivalent or something it would, but under normal operation, even with the frequency locked high, it seems fine.
As you say, the only time the fan on my Argon ONE case actually comes on is during compiles. Even then it tops out at around 56c (and this is with the Pi4 oc'd to 2GHz).
-
@BuZz installed your mesa module without issue. One thing that can be done to possibly cut down on the build time/size of the mesa libraries is to just pass the needed Gallium drivers - v3d,vc4,kmsro for the Pi platform. Drm and surfaceless are default as well, so you also can just pass x11 for -Dplatform argument. I am glad to see a module that brings the latest and greatest from mesa on the pi platforms.
I don't have any experience with Debian packages so I've grown accustomed to just installing things through source.
Unfortunately, as am sure you are aware...the upstream mesa drivers don't resolve the topic of this thread (I wasn't expecting as much though just based on what I've found to be the cause personally). I also have SDL2 v2.0.12 installed on my Pi 4 and that also does not solve this issue either. I've seen that upstream "v2.0.13" has a lot of changes to the KMS/DRM driver so I guess its a wait and see approach there.
https://github.com/raspberrypi/linux/blob/rpi-5.4.y/drivers/gpu/drm/v3d/v3d_drv I believe this is the source of where the issue lies but I don't much time as of late to go through it.
-
@bluestang Upstream changed the debian rules around a fair amount - I built with everything as it's easier to maintain and wanted to keep my rules patch minimal (See history - and meson array changes).
Current SDL2 master doesn't work at all currently on the RPI4 (the atomic code isn't supported - related to EGL_KHR_fence_sync). I plan to do a ticket upstream.
-
Current SDL2 master doesn't work at all currently on the RPI4 (the atomic code isn't supported - related to EGL_KHR_fence_sync). I plan to do a ticket upstream.
Is this just a Pi4 issue or does it affect all Pis? I did learn this the hard way, so I ended up going back to v2.0.12 release.
-
Don't know if this will help, or be beneficial at all to anyone at this point; but if you're still in this position, I hope this post will help you.
I have a 75" LG TV with an Rpi4 box, the tearing was pretty awful (but I never saw this problem with my previous Rpi3 box.)
Here is what I did, and followed is my configuration which seems to have done the trick.
sudo apt-get install libgles2-mesa libgles2-mesa-dev xorg-dev
Here's my config file
[pi4] cpu_freq=1800 over_voltage=5 gpu_freq=700 [all] dtoverlay=vc4-fkms-v3d gpu_mem=128 hdml_drive=2 hdmi_group=1 hdmi_mode=76 dtparam=audio=on
No turbo flag, cpufrequtil or things like that. Short and simple config file.
Emulationstation shows no lag between screens, games play without tearing.I'm sure the config file can be improved upon, or my flags aren't 100% correct and are open to criticize, or maybe the drivers weren't necessary---but in the offshoot someone is still looking for answers, I hope this helps none the less.
Good luck!
-
@mtucker6784 I am running a 4 GB Pi4 B and this certainly made a noticeable difference, thank you.
I didn’t make any other changes except this.
I am using a retroflag NES case with the SSD cartridge on a 65” 4K tv.
-
@buzz said in Low framerate on main EmulationStation menu - Pi 4:
@bluestang Upstream changed the debian rules around a fair amount - I built with everything as it's easier to maintain and wanted to keep my rules patch minimal (See history - and meson array changes).
Current SDL2 master doesn't work at all currently on the RPI4 (the atomic code isn't supported - related to EGL_KHR_fence_sync). I plan to do a ticket upstream.
Have you checked out SDL2 v2.0.14 and the 5.10.2 KMS driver? Everything seems to be working AFAIK. Considering that 5.10 is the next LTS for RPiOS that is good news.
The PulseAudio update kinda came out of nowhere, but with the KMS audio driver it is playing nice.
The 5.10.2 FKMS driver has a nasty screen tearing issue that will never be fixed. The current roadmap has the RPi4 ditching FKMS entirely.
-
Here's my 2c. I also have a 65" LCD tv. I am using the retropie exclusively for games. I was getting crazy low framerate in the main menu, and more worryingly in games. It turned out that the PI was detecting the 4k capabiltiy and autodefaulting to that mode.
I set it to output in 720p, set the TV to detect the resolution so that it adapts to etc. in game.
I am setting 16 bit consoles to runahead 2 frames. So far I've not noticed any tearing or slowdown in SNES and SEGA. I don't really play NES but can test. I haven't noticed any tearing in alphaneo.
I do notice some tearing in N64 and Dreamcast. Mostly in Redream though, and it is experimental. Still, it's the best Dreamcast emulator IMO.
I added comical notes to my config. Edited to remove some unnecessary settings that were the result of incremental change and experimentation:
# uncomment this if your display has a black border of unused pixels visible # and your display can output without overscan disable_overscan=1 # uncomment to force a specific HDMI mode (this will force VGA) # Set to 720p 60hz hdmi_group=1 hdmi_mode=4 #OVERCLOCK # Up voltage over_voltage=6 # Arm at 2 arm_freq=2000 # read loads of shite saying that you should edit v3d directly. It capped me at 500. Changed gpu_freq, boom 700. So I guess don't believe everything you read gpu_freq=700
@bluestang I would like to do an experimental build on a different card. I couldn't find good simple instructions on using the KMS driver. When I tried to set the dt_overlay to kms as per online instructions it would fail to boot. If I removed the hdmi cable I could SSH in, but reconnecting it wasn't detected by the TV. Soon as I revert it is detected again. Wasn't sure if I was missing drivers or what I had to do to get them.
Also I've been noticing a few random crashes and reboots, so I might reduce some of the current overclock.
-
@paddydukes said in [Low framerate on main EmulationStation menu - Pi 4]
@bluestang I would like to do an experimental build on a different card. I couldn't find good simple instructions on using the KMS driver. When I tried to set the dt_overlay to kms as per online instructions it would fail to boot. If I removed the hdmi cable I could SSH in, but reconnecting it wasn't detected by the TV. Soon as I revert it is detected again. Wasn't sure if I was missing drivers or what I had to do to get them.
Also I've been noticing a few random crashes and reboots, so I might reduce some of the current overclock.
First and foremost you need to run the latest kernel by running
sudo apt update && sudo apt full-upgrade -y
.There are additional steps that you need to do to set up the KMS driver but first let's address your /boot/config.txt:
gpu_freq sets the core clock for various blocks in the gpu and is not recommended anymore. Change gpu_freq to v3d_freq=700. I also set the minimum v3d freq to 500, v3d_freq_min=500 but this is completely optional. gpu_mem is also not a setting needed for the Pi4 either, you can delete this alltogether.
Proper overclocking documentation can be found here. Make sure that you are using an adequate cooling solution when overclocking.
Now there are 2 distinct configurations you can use from this point forward w/ KMS:
1. KMS w/ Broadcom Audio: dtoverlay=vc4-kms-v3d,noaudio **AND** dtparam=audio=on in /boot/config.txt ***This uses the KMS driver only for display and uses the Broadcom firmware audio driver*** ***dtparam=audio=on must be placed before dtoverlay=vc4-kms-v3d,noaudio or else you will have no audio!!!***
If you chose option 1, you can reboot after you have edited the
/boot/config.txt
file with the necessary changes.2. KMS w/ KMS Audio: dtoverlay=vc4-kms-v3d ***AND*** dtparam=audio=off or commented in /boot/config.txt ***This uses the KMS driver for display and audio and disables firmware audio, however, it requires more files to be edited to get KMS audio to work*** Note: the KMS audio is capable of multi-channel audio i.e. 5.1, 7.1, etc. You will need to look at the volume control applet on the desktop and see what is available to your setup.
For both options, you will need to edit the
/boot/config.txt
.If you choose to go with option 2, you will also need to edit the
vc4-hdmi.conf
file and the pulse audio rules file to get sound from the KMS audio driver to work properly.Edit as follows w/ proper privileges:
/usr/share/alsa/cards/vc4-hdmi.conf
# Configuration for the VC4-HDMI sound card using software IEC958 # subframe conversion <confdir:pcm/hdmi.conf> vc4-hdmi.pcm.hdmi.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type iec958 slave { format IEC958_SUBFRAME_LE pcm { type hooks slave.pcm { type hw card $CARD device 0 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback Default" optional true lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } } status [ $AES0 $AES1 $AES2 $AES3 ] } # default with plug vc4-hdmi.pcm.default { @args [ CARD ] @args.CARD { type string } type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "hdmi:" $CARD ] } control { name "PCM Playback Volume" card $CARD } } }
The PulseAudio rules file needs to be edited as well.
/lib/udev/rules.d/91-pulseaudio-rpi.rules
SUBSYSTEM!="sound*", GOTO="end" ACTION!="change", GOTO="end" KERNEL!="card*", GOTO="end" ENV{SOUND_FORM_FACTOR}!="internal", GOTO="end" ATTRS{id}=="b1", ENV{PULSE_PROFILE_SET}="rpi-hdmi.conf", GOTO="end" ATTRS{id}=="b2", ENV{PULSE_PROFILE_SET}="rpi-hdmi.conf", GOTO="end" ATTRS{id}=="Headphones", ENV{PULSE_PROFILE_SET}="rpi-analog.conf", GOTO="end" LABEL="end"
Reboot after all changes have been made and enjoy!
-
@bluestang said in Low framerate on main EmulationStation menu - Pi 4:
v3d_freq_min=500
When I changed V3d_freq to 700, and monitored it using bcmstat.sh while running games, it would not go over 500. When I set gpu_freq to 700, it goes to 700. I realise this goes against the pi4 documentation, but those are my results.
Earlier I added
dtoverlay=vc4-kms-v3d-pi4,noaudio
dtparam=audio=onTried also without -pi4 (docs say to add -pi4)
And HDMI was no longer recognizing the Pi...I get:
Rom flash, Rainbow screen, First stream of kernel loading, then no signal.If I change back to fkms it returns.
Also weirdly I have to unplug hdmi and reboot to be able to get back in via SSH.
Oh and Happy New Year!
-
What about just using
vcgencmd measure_clock v3d
?the core freq will stay at 500, what you want to see is
v3d
at the overclocked setting instead.As for the HDMI issue...can you post your whole
/boot/config.txt
?And Happy New Year to you too!
-
@bluestang said in Low framerate on main EmulationStation menu - Pi 4:
vcgencmd measure_clock v3d
Yeah actually at the time I think I was using vcgencmd. I will do this again just to be sure now and post results. It surprised me to say the least.
Ok with gpu_freq (running pcsx-rearmed)
Every 1.0s: vcgencmd measure_clock v3d retropie: Fri Jan 1 03:01:40 2021 frequency(46)=699996096
Ok with v3d_freq (and v3d_freq_min set to 500) (running pcsx-rearmed)
Every 1.0s: vcgencmd measure_clock v3d retropie: Fri Jan 1 03:06:12 2021 frequency(46)=699996096
What the hell man... I swear it was capping me at 500 before...
On the boot config, thanks for pushing me to look into it. I didn't realise it was being set below. :D It booted! I am a dummy.
However, now all audio is broken. Redream goes crazy like it's stuck in turbo mode (i think this is as a result of loss of audio sync). LR cores are fine but no audio.
Man, I love this shit. Feel like I am 12 messing around with my first PC.
my boot txt
# 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 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=4 # hdmi_ignore_edid=0xa5000080 #OVERCLOCK # hdmi_enable_4kp60=1 over_voltage=6 arm_freq=2000 v3d_freq=700 v3d_freq_min=500 # 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 # 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 [pi4] # Enable DRM VC4 V3D driver on top of the dispmanx display stack dtoverlay=vc4-kms-v3d,noaudio # Enable audio (loads snd_bcm2835) dtparam=audio=on #dtoverlay=vc4-fkms-v3d max_framebuffers=2 [all] overscan_scale=1 dtoverlay=disable-wifi dtoverlay=RetroFlag_pw_io.dtbo enable_uart=1
The error I get when loading games is:
lvl10: VolumeControl: :into() - Failed to attach to default card! followed by a bunch of missing files
speaker-test also returns some weird stuff and fails to make a sound.
speaker-test 1.1.8
Playback device is default
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
ALSA lib pcm_direct.c:1193:(snd1_pcm_direct_initialize_slave) requested or auto-format is not available
ALSA lib pcm_dmix.c:1120:(snd_pcm_dmix_open) unable to initialize slave
Playback open error: -22,Invalid argumentEdit: Spotted my own error. Let's see if removing the extra params works. I am poor at editing in nano.
Edit: unfortunately no, but the message is different. Now it's failed to find mixer elements!
-
@paddydukes said in Low framerate on main EmulationStation menu - Pi 4:
Edit: unfortunately no, but the message is different. Now it's failed to find mixer elements!
I assume you didn’t disable the PulseAudio updates and are using HDMI to output audio? If you go to Audio Settings in EmulationStation you should be able to select HDMI from the menu. There is also a Pulse Audio option too, which can be enabled as well.
The desktop audio applet is new too and should have 2 options as well, make sure the right output is selected.
If all that still doesn’t produce audio please post a dmesg log and the contents of /boot/cmdline.txt as well.
Side Note - what audio driver are you using for RetroArch?
-
@bluestang Don't believe I disabled pulse audio, but I haven't heard of it before this!
When I go to audio settings it doesn't let me turn up the volume mixer there (which is set to 0), even set to HDMI. I didn't see a Pulse Audio option though.
Reverting boot config didn't bring audio back.
I'm not running desktop just straight into emulationstation.Retroarch driver will be whatever the default is, haven't changed it.
0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.4.72-v7l+ (dom@buildbot) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #1356 SMP Thu Oct 22 13:57:51 BST 2020 [ 0.000000] CPU: ARMv7 Processor [410fd083] revision 3 (ARMv7), cr=30c5383d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache [ 0.000000] OF: fdt: Machine model: Raspberry Pi 4 Model B Rev 1.1 [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] Reserved memory: created CMA memory pool at 0x000000001ec00000, size 256 MiB [ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool [ 0.000000] On node 0 totalpages: 1012736 [ 0.000000] DMA zone: 2304 pages used for memmap [ 0.000000] DMA zone: 0 pages reserved [ 0.000000] DMA zone: 196608 pages, LIFO batch:63 [ 0.000000] HighMem zone: 816128 pages, LIFO batch:63 [ 0.000000] percpu: Embedded 20 pages/cpu s49804 r8192 d23924 u81920 [ 0.000000] pcpu-alloc: s49804 r8192 d23924 u81920 alloc=20*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1010432 [ 0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_headphones=1 video=HDMI-A-1:1280x720M@60 smsc95xx.macaddr=DC:A6:32:49:97:61 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=f901e9ec-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait loglevel=3 consoleblank=0 plymouth.enable=0 [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] software IO TLB: mapped [mem 0x17cc0000-0x1bcc0000] (64MB) [ 0.000000] Memory: 3655596K/4050944K available (10240K kernel code, 745K rwdata, 2836K rodata, 2048K init, 856K bss, 133204K reserved, 262144K cma-reserved, 3264512K highmem) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] ftrace: allocating 31086 entries in 61 pages [ 0.000000] rcu: Hierarchical RCU implementation. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] GIC: Using split EOI/Deactivate mode [ 0.000000] random: get_random_bytes called from start_kernel+0x338/0x520 with crng_init=0 [ 0.000007] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 2147483647500ns [ 0.000022] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275 ns [ 0.000099] bcm2835: system timer (irq = 17) [ 0.000748] arch_timer: cp15 timer(s) running at 54.00MHz (phys). [ 0.000763] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns [ 0.000779] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns [ 0.000791] Switching to timer-based delay loop, resolution 18ns [ 0.001024] Console: colour dummy device 80x30 [ 0.001056] printk: console [tty1] enabled [ 0.001110] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=540000) [ 0.001131] pid_max: default: 32768 minimum: 301 [ 0.001279] LSM: Security Framework initializing [ 0.001468] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear) [ 0.001490] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear) [ 0.002731] Disabling memory control group subsystem [ 0.002852] CPU: Testing write buffer coherency: ok [ 0.003356] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.004262] Setting up static identity map for 0x200000 - 0x20003c [ 0.004467] rcu: Hierarchical SRCU implementation. [ 0.005135] smp: Bringing up secondary CPUs ... [ 0.006305] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.007597] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002 [ 0.008842] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003 [ 0.008998] smp: Brought up 1 node, 4 CPUs [ 0.009014] SMP: Total of 4 processors activated (432.00 BogoMIPS). [ 0.009027] CPU: All CPU(s) started in HYP mode. [ 0.009039] CPU: Virtualization extensions available. [ 0.009846] devtmpfs: initialized [ 0.023573] VFP support v0.3: implementor 41 architecture 3 part 40 variant 8 rev 0 [ 0.023829] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.023858] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.030511] pinctrl core: initialized pinctrl subsystem [ 0.031566] NET: Registered protocol family 16 [ 0.035407] DMA: preallocated 1024 KiB pool for atomic coherent allocations [ 0.036004] audit: initializing netlink subsys (disabled) [ 0.036259] audit: type=2000 audit(0.030:1): state=initialized audit_enabled=0 res=1 [ 0.037384] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. [ 0.037398] hw-breakpoint: maximum watchpoint size is 8 bytes. [ 0.037734] Serial: AMBA PL011 UART driver [ 0.041485] bcm2835-mbox fe00b880.mailbox: mailbox enabled [ 0.060823] raspberrypi-firmware soc:firmware: Attached to firmware from 2020-10-22 13:59, variant start [ 0.070838] raspberrypi-firmware soc:firmware: Firmware hash is 74e754ff8947c58d2773253f77f6f68a303188f8 [ 0.125877] bcm2835-dma fe007000.dma: DMA legacy API manager, dmachans=0x1 [ 0.130955] vgaarb: loaded [ 0.131417] SCSI subsystem initialized [ 0.131634] usbcore: registered new interface driver usbfs [ 0.131690] usbcore: registered new interface driver hub [ 0.131823] usbcore: registered new device driver usb [ 0.132150] usb_phy_generic phy: phy supply vcc not found, using dummy regulator [ 0.133997] clocksource: Switched to clocksource arch_sys_counter [ 0.840884] VFS: Disk quotas dquot_6.6.0 [ 0.840984] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 0.841146] FS-Cache: Loaded [ 0.841352] CacheFiles: Loaded [ 0.842273] simple-framebuffer 3e843000.framebuffer: framebuffer at 0x3e843000, 0x384000 bytes, mapped to 0x(ptrval) [ 0.842292] simple-framebuffer 3e843000.framebuffer: format=a8r8g8b8, mode=1280x720x32, linelength=5120 [ 0.842732] Console: switching to colour frame buffer device 160x45 [ 0.847321] simple-framebuffer 3e843000.framebuffer: fb0: simplefb registered! [ 0.857522] thermal_sys: Registered thermal governor 'step_wise' [ 0.857895] NET: Registered protocol family 2 [ 0.858628] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear) [ 0.858658] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear) [ 0.858715] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 0.858780] TCP: Hash tables configured (established 8192 bind 8192) [ 0.858923] UDP hash table entries: 512 (order: 2, 16384 bytes, linear) [ 0.858955] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) [ 0.859206] NET: Registered protocol family 1 [ 0.859954] RPC: Registered named UNIX socket transport module. [ 0.859967] RPC: Registered udp transport module. [ 0.859980] RPC: Registered tcp transport module. [ 0.859992] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.860013] PCI: CLS 0 bytes, default 64 [ 0.861951] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available [ 0.864172] Initialise system trusted keyrings [ 0.864427] workingset: timestamp_bits=14 max_order=20 bucket_order=6 [ 0.875299] FS-Cache: Netfs 'nfs' registered for caching [ 0.876012] NFS: Registering the id_resolver key type [ 0.876061] Key type id_resolver registered [ 0.876074] Key type id_legacy registered [ 0.876097] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.877180] Key type asymmetric registered [ 0.877193] Asymmetric key parser 'x509' registered [ 0.877386] bounce: pool size: 64 pages [ 0.877437] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249) [ 0.877658] io scheduler mq-deadline registered [ 0.877672] io scheduler kyber registered [ 0.881603] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges: [ 0.881627] brcm-pcie fd500000.pcie: No bus range found for /scb/pcie@7d500000, using [bus 00-ff] [ 0.881698] brcm-pcie fd500000.pcie: MEM 0x0600000000..0x0603ffffff -> 0x00f8000000 [ 0.881770] brcm-pcie fd500000.pcie: IB MEM 0x0000000000..0x00bfffffff -> 0x0000000000 [ 0.936146] brcm-pcie fd500000.pcie: link up, 5 GT/s x1 (SSC) [ 0.936465] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00 [ 0.936483] pci_bus 0000:00: root bus resource [bus 00-ff] [ 0.936503] pci_bus 0000:00: root bus resource [mem 0x600000000-0x603ffffff] (bus address [0xf8000000-0xfbffffff]) [ 0.936562] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400 [ 0.936830] pci 0000:00:00.0: PME# supported from D0 D3hot [ 0.940138] PCI: bus0: Fast back to back transfers disabled [ 0.940368] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330 [ 0.940515] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit] [ 0.940949] pci 0000:01:00.0: PME# supported from D0 D3cold [ 0.944319] PCI: bus1: Fast back to back transfers disabled [ 0.944379] pci 0000:00:00.0: BAR 8: assigned [mem 0x600000000-0x6000fffff] [ 0.944402] pci 0000:01:00.0: BAR 0: assigned [mem 0x600000000-0x600000fff 64bit] [ 0.944483] pci 0000:00:00.0: PCI bridge to [bus 01] [ 0.944508] pci 0000:00:00.0: bridge window [mem 0x600000000-0x6000fffff] [ 0.944819] pcieport 0000:00:00.0: enabling device (0140 -> 0142) [ 0.945060] pcieport 0000:00:00.0: PME: Signaling with IRQ 56 [ 0.945460] pcieport 0000:00:00.0: AER: enabled with IRQ 56 [ 0.945797] pci 0000:01:00.0: enabling device (0140 -> 0142) [ 0.950367] Serial: 8250/16550 driver, 1 ports, IRQ sharing enabled [ 0.953416] iproc-rng200 fe104000.rng: hwrng registered [ 0.953758] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB) [ 0.954482] vc-sm: Videocore shared memory driver [ 0.955054] gpiomem-bcm2835 fe200000.gpiomem: Initialised: Registers at 0xfe200000 [ 0.967150] brd: module loaded [ 0.979439] loop: module loaded [ 0.980855] Loading iSCSI transport class v2.0-870. [ 0.982826] libphy: Fixed MDIO Bus: probed [ 0.983436] bcmgenet fd580000.ethernet: failed to get enet clock [ 0.983456] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000 [ 0.983479] bcmgenet fd580000.ethernet: failed to get enet-wol clock [ 0.983501] bcmgenet fd580000.ethernet: failed to get enet-eee clock [ 0.983529] bcmgenet: Skipping UMAC reset [ 1.004039] libphy: bcmgenet MII bus: probed [ 1.094110] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus [ 1.095124] usbcore: registered new interface driver r8152 [ 1.095218] usbcore: registered new interface driver lan78xx [ 1.095275] usbcore: registered new interface driver smsc95xx [ 1.095704] xhci_hcd 0000:01:00.0: xHCI Host Controller [ 1.095738] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1 [ 1.098371] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000001000000890 [ 1.099655] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04 [ 1.099672] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.099689] usb usb1: Product: xHCI Host Controller [ 1.099704] usb usb1: Manufacturer: Linux 5.4.72-v7l+ xhci-hcd [ 1.099719] usb usb1: SerialNumber: 0000:01:00.0 [ 1.100334] hub 1-0:1.0: USB hub found [ 1.100430] hub 1-0:1.0: 1 port detected [ 1.101000] xhci_hcd 0000:01:00.0: xHCI Host Controller [ 1.101025] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2 [ 1.101050] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed [ 1.101581] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04 [ 1.101599] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.101615] usb usb2: Product: xHCI Host Controller [ 1.101630] usb usb2: Manufacturer: Linux 5.4.72-v7l+ xhci-hcd [ 1.101645] usb usb2: SerialNumber: 0000:01:00.0 [ 1.102239] hub 2-0:1.0: USB hub found [ 1.102326] hub 2-0:1.0: 4 ports detected [ 1.103826] dwc_otg: version 3.00a 10-AUG-2012 (platform bus) [ 1.104179] dwc_otg: FIQ enabled [ 1.104192] dwc_otg: NAK holdoff enabled [ 1.104205] dwc_otg: FIQ split-transaction FSM enabled [ 1.104220] Module dwc_common_port init [ 1.104656] usbcore: registered new interface driver uas [ 1.104758] usbcore: registered new interface driver usb-storage [ 1.104964] mousedev: PS/2 mouse device common for all mice [ 1.106854] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer [ 1.110998] sdhci: Secure Digital Host Controller Interface driver [ 1.111011] sdhci: Copyright(c) Pierre Ossman [ 1.111609] sdhci-pltfm: SDHCI platform and OF driver helper [ 1.114889] ledtrig-cpu: registered to indicate activity on CPUs [ 1.115213] hidraw: raw HID events driver (C) Jiri Kosina [ 1.115393] usbcore: registered new interface driver usbhid [ 1.115406] usbhid: USB HID core driver [ 1.116445] vchiq: vchiq_init_state: slot_zero = (ptrval) [ 1.118017] [vc_sm_connected_init]: start [ 1.135923] [vc_sm_connected_init]: end - returning 0 [ 1.137878] Initializing XFRM netlink socket [ 1.137917] NET: Registered protocol family 17 [ 1.138031] Key type dns_resolver registered [ 1.138473] Registering SWP/SWPB emulation handler [ 1.138815] registered taskstats version 1 [ 1.138834] Loading compiled-in X.509 certificates [ 1.139338] Key type ._fscrypt registered [ 1.139352] Key type .fscrypt registered [ 1.149962] uart-pl011 fe201000.serial: cts_event_workaround enabled [ 1.150048] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 29, base_baud = 0) is a PL011 rev2 [ 1.156604] printk: console [ttyS0] disabled [ 1.156682] fe215040.serial: ttyS0 at MMIO 0x0 (irq = 30, base_baud = 62500000) is a 16550 [ 1.156750] printk: console [ttyS0] enabled [ 1.157492] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver [ 1.195630] mmc0: SDHCI controller on fe340000.emmc2 [fe340000.emmc2] using ADMA [ 1.198692] of_cfs_init [ 1.198823] of_cfs_init: OK [ 1.199661] Waiting for root device PARTUUID=f901e9ec-02... [ 1.299373] mmc0: new ultra high speed DDR50 SDHC card at address aaaa [ 1.300291] mmcblk0: mmc0:aaaa SC16G 14.8 GiB [ 1.303326] mmcblk0: p1 p2 [ 1.326491] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) [ 1.326566] VFS: Mounted root (ext4 filesystem) readonly on device 179:2. [ 1.327285] devtmpfs: mounted [ 1.335956] Freeing unused kernel memory: 2048K [ 1.354316] Run /sbin/init as init process [ 1.458726] random: fast init done [ 1.464652] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd [ 1.505815] usb 2-1: New USB device found, idVendor=0781, idProduct=5583, bcdDevice= 1.00 [ 1.505834] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1.505851] usb 2-1: Product: SanDisk 3.2Gen1 [ 1.505866] usb 2-1: Manufacturer: USB [ 1.505882] usb 2-1: SerialNumber: 01011216a62b6b724bdfa8b134ff514fe21c105f346f4ff976e037180ad2b88bddb9000000000000000000003ee91c93ff9b3200835581077228cb25 [ 1.508760] usb-storage 2-1:1.0: USB Mass Storage device detected [ 1.509506] scsi host0: usb-storage 2-1:1.0 [ 1.654067] usb 1-1: new high-speed USB device number 2 using xhci_hcd [ 1.760280] systemd[1]: System time before build time, advancing clock. [ 1.836701] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.21 [ 1.836719] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [ 1.836735] usb 1-1: Product: USB2.0 Hub [ 1.838631] hub 1-1:1.0: USB hub found [ 1.838944] hub 1-1:1.0: 4 ports detected [ 1.849111] NET: Registered protocol family 10 [ 1.850454] Segment Routing with IPv6 [ 1.885486] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid) [ 1.886758] systemd[1]: Detected architecture arm. [ 1.940926] systemd[1]: Set hostname to <retropie>. [ 2.495243] systemd[1]: /lib/systemd/system/smbd.service:9: PIDFile= references path below legacy directory /var/run/, updating /var/run/samba/smbd.pid \xe2\x86\x92 /run/samba/smbd.pid; please update the unit file accordingly. [ 2.516374] systemd[1]: /lib/systemd/system/nmbd.service:9: PIDFile= references path below legacy directory /var/run/, updating /var/run/samba/nmbd.pid \xe2\x86\x92 /run/samba/nmbd.pid; please update the unit file accordingly. [ 2.555677] scsi 0:0:0:0: Direct-Access USB SanDisk 3.2Gen1 1.00 PQ: 0 ANSI: 6 [ 2.556700] sd 0:0:0:0: [sda] 240353280 512-byte logical blocks: (123 GB/115 GiB) [ 2.557799] sd 0:0:0:0: [sda] Write Protect is off [ 2.557819] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00 [ 2.558626] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 2.596829] random: systemd: uninitialized urandom read (16 bytes read) [ 2.602447] sda: sda1 [ 2.606700] sd 0:0:0:0: [sda] Attached SCSI removable disk [ 2.612597] random: systemd: uninitialized urandom read (16 bytes read) [ 2.613142] systemd[1]: Started Forward Password Requests to Wall Directory Watch. [ 2.614486] random: systemd: uninitialized urandom read (16 bytes read) [ 2.615140] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point. [ 2.616472] systemd[1]: Listening on Journal Socket (/dev/log). [ 2.617776] systemd[1]: Listening on Journal Audit Socket. [ 2.621393] systemd[1]: Created slice system-serial\x2dgetty.slice. [ 3.327469] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) [ 3.430686] systemd-journald[108]: Received request to flush runtime journal from PID 1 [ 3.944146] rpivid-mem feb00000.hevc-decoder: rpivid-hevcmem initialised: Registers at 0xfeb00000 length 0x00010000 [ 3.947379] rpivid-mem feb10000.rpivid-local-intc: rpivid-intcmem initialised: Registers at 0xfeb10000 length 0x00001000 [ 3.949892] rpivid-mem feb20000.h264-decoder: rpivid-h264mem initialised: Registers at 0xfeb20000 length 0x00010000 [ 3.951565] rpivid-mem feb30000.vp9-decoder: rpivid-vp9mem initialised: Registers at 0xfeb30000 length 0x00010000 [ 4.040571] mc: Linux media interface: v0.10 [ 4.066862] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned. [ 4.071357] bcm2835_vc_sm_cma_probe: Videocore shared memory driver [ 4.071381] [vc_sm_connected_init]: start [ 4.075993] videodev: Linux video capture interface: v2.00 [ 4.109681] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned. [ 4.113823] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned. [ 4.115737] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned. [ 4.128476] [vc_sm_connected_init]: installed successfully [ 4.135892] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned. [ 4.135897] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned. [ 4.137897] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned. [ 4.143036] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned. [ 4.145216] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned. [ 4.146611] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned. [ 4.161216] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13 [ 4.161650] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14 [ 4.162028] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15 [ 4.162478] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16 [ 4.162504] bcm2835-isp bcm2835-isp: Register output node 0 with media controller [ 4.162527] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller [ 4.162547] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller [ 4.162568] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller [ 4.162743] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp [ 4.163585] bcm2835-codec bcm2835-codec: Device registered as /dev/video10 [ 4.163628] bcm2835-codec bcm2835-codec: Loaded V4L2 decode [ 4.182090] bcm2835-codec bcm2835-codec: Device registered as /dev/video11 [ 4.182147] bcm2835-codec bcm2835-codec: Loaded V4L2 encode [ 4.188763] bcm2835-codec bcm2835-codec: Device registered as /dev/video12 [ 4.188807] bcm2835-codec bcm2835-codec: Loaded V4L2 isp [ 4.419625] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ 4.492290] [drm] Initialized v3d 1.0.0 20180419 for fec00000.v3d on minor 0 [ 4.692367] vc4-drm gpu: bound fe600000.firmwarekms (ops vc4_fkms_ops [vc4]) [ 4.692389] checking generic (3e843000 384000) vs hw (0 ffffffffffffffff) [ 4.692404] fb0: switching to vc4drmfb from simple [ 4.724578] Console: switching to colour dummy device 80x30 [ 4.728459] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 4.728473] [drm] No driver support for vblank timestamp query. [ 4.728486] [drm] Setting vblank_disable_immediate to false because get_vblank_timestamp == NULL [ 4.729221] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1 [ 4.943356] Console: switching to colour frame buffer device 160x45 [ 4.964630] vc4-drm gpu: fb0: vc4drmfb frame buffer device [ 6.379660] 8021q: 802.1Q VLAN Support v1.8 [ 6.448258] random: crng init done [ 6.448273] random: 7 urandom warning(s) missed due to ratelimiting [ 6.460443] uart-pl011 fe201000.serial: no DMA platform data [ 6.602025] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 6.644284] Adding 102396k swap on /var/swap. Priority:-2 extents:1 across:102396k SSFS [ 6.669554] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 6.673702] FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck. [ 6.719636] bcmgenet: Skipping UMAC reset [ 6.721098] bcmgenet fd580000.ethernet: configuring instance for external RGMII [ 6.721282] bcmgenet fd580000.ethernet eth0: Link is Down [ 11.914220] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx [ 11.914271] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 13.209105] ICMPv6: process `dhcpcd' is using deprecated sysctl (syscall) net.ipv6.neigh.eth0.retrans_time - use net.ipv6.neigh.eth0.retrans_time_ms instead [ 13.262303] Bluetooth: Core ver 2.22 [ 13.262388] NET: Registered protocol family 31 [ 13.262402] Bluetooth: HCI device and connection manager initialized [ 13.262428] Bluetooth: HCI socket layer initialized [ 13.262448] Bluetooth: L2CAP socket layer initialized [ 13.262479] Bluetooth: SCO socket layer initialized [ 13.272208] Bluetooth: HCI UART driver ver 2.3 [ 13.272227] Bluetooth: HCI UART protocol H4 registered [ 13.272309] Bluetooth: HCI UART protocol Three-wire (H5) registered [ 13.272636] Bluetooth: HCI UART protocol Broadcom registered [ 13.440226] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 13.440232] Bluetooth: BNEP filters: protocol multicast [ 13.440244] Bluetooth: BNEP socket layer initialized [ 22.544032] usb 1-1.2: new full-speed USB device number 3 using xhci_hcd [ 22.680923] usb 1-1.2: New USB device found, idVendor=045e, idProduct=02d1, bcdDevice= 1.01 [ 22.680930] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 22.680935] usb 1-1.2: Product: Controller [ 22.680940] usb 1-1.2: Manufacturer: Microsoft [ 22.680945] usb 1-1.2: SerialNumber: 7EED8094F428 [ 22.715285] input: Microsoft X-Box One pad as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input0 [ 22.715750] usbcore: registered new interface driver xpad
cmdline.txt
console=serial0,115200 console=tty1 root=PARTUUID=f901e9ec-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait loglevel=3 consoleblank=0 plymouth.enable=0
Which looks like there's some corruption... how that would happen from the change I don't know...
-
@paddydukes At this stage I might just clean image and see if it resolves...
-
@paddydukes said in Low framerate on main EmulationStation menu - Pi 4:
@paddydukes At this stage I might just clean image and see if it resolves...
KMS requires that you run the latest test kernel which is 5.10.3 as of today.
You are still using 5.4, which has issues. You need to run rpi-update and then proceed with the KMS driver.
Starting with a fresh image may be your last resort. It’s hard to pinpoint issues with too many unknowns especially when you are doing testing.
-
@bluestang Weird that it's still broken when reverting though? I'll update and see anyhow!
And for anyone wondering, yes sadly it appears amiberry is broken due to dispmanx requirement.
-
@paddydukes said in Low framerate on main EmulationStation menu - Pi 4:
And for anyone wondering, yes sadly it appears amiberry is broken due to dispmanx requirement.
KMS disables DISPLAYMANX so any emulator that uses this for the RPi4 will no longer work with KMS.
The RPi4 will eventually transition to KMS as the preferred choice once the driver is ready.
Re: Amiberry there is an option to build it with the SDL2 backend...have you tried that version?
-
@bluestang I just read that and found this. https://github.com/midwan/amiberry/issues/463
Once i get things back up and running I can go down that route!
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.