TitusPi is a raspberrypi desktop that can play retro games and also substitute for a full desktop.
Linux ARM is at its roots using the Raspbian server lite spin. Official Raspbian Desktop uses XFCE and I don’t like it’s configuration, look, or performance. TitusPi changes it to what I have found to be the best for a new user.
The desktop offers much better customization, style, and features compared to the official one. The stock KDE experience has performance issues due to the compositing. I optimized this by disabling the compositor in KWIN and making the entire interface much more responsive.
A customized terminal using my custom bash settings.
Terminal | Desktop | KDE Profile |
---|---|---|
tasksel
and select KDE/boot/cmdline.txt
for leverage graphics acceleration and other boot modifications (quiet boot).disable_splash=1
disable_overscan=1
hdmi_group=1
hdmi_mode=4
hdmi_drive=2
hdmi_ignore_cec_init=1
arm_freq=2048
v3d_freq=750
over_voltage=6
dtparam=i2c_arm=on
dtparam=audio=on
enable_uart=1
[pi4]
dtoverlay=vc4-fkms-v3d
[all]
hdmi_enable_4kp60=1
<www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md> <www.cnx-software.com/2020/02/24/raspberry-pi-4-rev-1-2-fixes-usb-c-power-issues-improves-sd-card-resilience/>
Seems my RPi4 version is more sensitive to what chargers I can use, therefore limits overclocking options.
cat /proc/cpuinfo | grep Revision
Revision : c03111
Reference: <www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md>
These are the speeds I achieve with arm_freq=2048. arm_freq=2047 reports a lower scaling_max_freq which can be noticed in games like God of War: Chains of Olympus (one of the games I used as benchmark). v3d_freq=750 is the max GPU overclock, over_voltage=6 required to provide extra juice (over_voltage=5 worked for me with arm_freq=2000).
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
2194967
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
vcgencmd measure_clock arm frequency(48)=2048519552
As for hdmi_enable_4kp60=1 I also use it for overclocking reasons, as the only way to increase the GPU core_freq from 500 to 550, enable_tvout underclocks to 360: “Specific to Pi 4B: The core_freq of the Raspberry Pi 4 can change from the default if either hdmi_enable_4kp60 or enable_tvout are used, due to relationship between internal clocks and the particular requirements of the requested display modes.”
Reference: <www.raspberrypi.org/documentation/configuration/config-txt/video.md>
hdmi_group=1, hdmi_mode=4, hdmi_drive=2 : these options set the RPi at 16:9 720p using the standard CEA TV timings and sending audio through HDMI.
hdmi_ignore_cec_init=1 “prevents a CEC-enabled TV from coming out of standby and channel-switching when you are rebooting your Raspberry Pi.” Channel switching on reboots was quite annoying indeed :)
Reference: <www.raspberrypi.org/documentation/configuration/config-txt/memory.md>
That’s right! :) “On the Raspberry Pi 4 the 3D component of the GPU has its own memory management unit (MMU), and does not use memory from the gpu_mem allocation. Instead memory is allocated dynamically within Linux. This may allow a smaller value to be specified for gpu_mem on the Pi 4, compared to previous models.” Note: Still recommended for Pi 3’s if using for emulation!
The performance of N64 Conker’s Bad Fur Day increased noticeably after removing all gpu_mem parameters.
Information pulled from retropie community forum: https://retropie.org.uk/forum/topic/27430/howto-optimized-boot-config-txt
Check official documentation from RetroPie @ https://retropie.org.uk/docs/Manual-Installation/