Skip to content

Instantly share code, notes, and snippets.

@james2doyle
Last active May 8, 2022 20:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save james2doyle/18a3516b669ae4825f4cbe0aaa99e99e to your computer and use it in GitHub Desktop.
Save james2doyle/18a3516b669ae4825f4cbe0aaa99e99e to your computer and use it in GitHub Desktop.
Raspberry Pi 4 config for my TV that sets the screen as generic, enables 60fps, sets the display to 1080p, and overclocks the CPU & GPU
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details
# to disable unused network modules:
#dtoverlay=disable-wifi
#dtoverlay=disable-bt
# set the SSH terminal to use the connected screen on HDMI 0: export DISPLAY=:0.0
# widevine: https://pimylifeup.com/raspberry-pi-widevine/
# https://www.techworm.net/2022/02/raspberry-pi-os-64-bit.html
# installing 32-bit Chromium for widevine: sudo apt install chromium-browser:armhf libwidevinecdm0
# To return to the 64-bit version: sudo apt install chromium-browser:arm64 libwidevinecdm0-
# https://github.com/DavidM42/rpi-cpu.gov
# After you've installed this script with its convenient one line install method you are able to
# change the Raspberry Pi CPU governor. This change will be applied at every boot so you only have to change it once.
# https://www.raspberrypi.com/documentation/computers/config_txt.html#ignore_lcd
# By default the Raspberry Pi Touch Display is used when it is detected on the I2C bus.
# ignore_lcd=1 will skip this detection phase, and therefore the LCD display will not be used.
ignore_lcd=1
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
# https://www.raspberrypi.com/documentation/computers/config_txt.html#camera_auto_detect
# With this setting enabled (set to 1), the firmware will automatically load overlays for cameras that it recognises.
# New Raspberry Pi OS images from Bullseye onwards come with this setting by default.
camera_auto_detect=0
# https://www.raspberrypi.com/documentation/computers/config_txt.html#start_x-start_debug
# Automatically load overlays for detected cameras
start_x=0
# Automatically load overlays for detected DSI displays
display_auto_detect=0
# Disable compensation for displays with overscan
disable_overscan=1
[cm4]
# https://www.raspberrypi.com/documentation/computers/config_txt.html#otg_mode-raspberry-pi-4-only
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=0
[pi4]
# Forces turbo mode frequencies even when the ARM cores are not busy. Enabling this may set the warranty bit if over_voltage_* is also set.
#force_turbo=1
# https://www.raspberrypi.com/documentation/computers/config_txt.html#arm_boost-raspberry-pi-4-only
# Increases arm_freq to the highest supported frequency for the board-type and firmware. Set to 1 to enable.
arm_boost=1
# https://www.raspberrypi.com/documentation/computers/config_txt.html#arm_64bit
# Run in 64-bit mode
arm_64bit=1
[all]
# CPU/GPU core upper voltage limit. The value should be in the range [-16,8] which equates to
# the range [0.95V,1.55V] ([0.8,1.4V] on Raspberry Pi 1) with 0.025V steps. In other words,
# specifying -16 will give 0.95V (0.8V on Raspberry Pi 1) as the maximum CPU/GPU core voltage,
# and specifying 8 will allow up to 1.55V (1.4V on Raspberry Pi 1). For defaults see table below.
# Values above 6 are only allowed when force_turbo=1 is specified: this sets the warranty bit if over_voltage_* > 0 is also set.
over_voltage=6
# Frequency of the ARM CPU in MHz.
arm_freq=2000
# https://www.raspberrypi.com/documentation/computers/config_txt.html#gpu_mem
# Specifies how much memory, in megabytes, to reserve for the exclusive use of the GPU:
# the remaining memory is allocated to the ARM CPU for use by the OS. For Raspberry Pis with less than 1GB of memory,
# the default is 64; for Raspberry Pis with 1GB or more of memory the default is 76.
# Unlike GPUs found on x86 machines, where increasing memory can improve 3D performance,
# the architecture of the VideoCore means there is no performance advantage from specifying values
# larger than is necessary, and in fact it can harm performance.
gpu_mem=256
# https://www.raspberrypi.com/documentation/computers/config_txt.html#disable_splash
# If disable_splash is set to 1, the rainbow splash screen will not be shown on boot. The default value is 0.
disable_splash=1
# https://www.raspberrypi.com/documentation/computers/config_txt.html#dtoverlay
# https://www.raspberrypi.com/documentation/computers/configuration.html#part3.1
# Enable DRM VC4 V3D driver (must be fkms to force display)
dtoverlay=vc4-fkms-v3d-pi4,cma=512
dtoverlay=rpivid-v4l2
# https://www.raspberrypi.com/documentation/computers/config_txt.html#max_framebuffers
# This configuration entry sets the maximum number of firmware framebuffers that can be created.
# Valid options are 0, 1, and 2. By default on devices before the Raspberry Pi 4 this is set to 1,
# so will need to be increased to 2 when using more than one display, for example HDMI and a DSI or DPI display.
# The Raspberry Pi 4 configuration sets this to 2 by default as it has two HDMI ports.
# Generally in most cases it is safe to set this to 2, as framebuffers will only be created when an attached device is actually detected.
# Setting this value to 0 can be used to reduce memory requirements when used in headless mode as it will prevent any framebuffers from being allocated.
max_framebuffers=6
# https://www.raspberrypi.com/documentation/computers/config_txt.html#hdmi_drive
# The hdmi_drive command allows you to choose between HDMI and DVI output modes.
# 1 Normal DVI mode (no sound)
# 2 Normal HDMI mode (sound will be sent if supported and enabled)
hdmi_drive=2
# https://www.raspberrypi.com/documentation/computers/config_txt.html#hdmi_group
# https://forums.raspberrypi.com/viewtopic.php?p=1953709#p1953709
# https://forums.raspberrypi.com/viewtopic.php?p=1575565&sid=7df51614e8622e7125b63507374405f6#p1575565
# The hdmi_group command defines the HDMI output group to be either CEA (Consumer Electronics Association,
# the standard typically used by TVs) or DMT (Display Monitor Timings, the standard typically used by monitors).
# This setting should be used in conjunction with hdmi_mode.
# 0 Auto-detect from EDID, 1 CEA (CEA modes are usually better supported), 2 DMT
hdmi_group=1
# https://www.raspberrypi.com/documentation/computers/config_txt.html#hdmi_mode
# mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive
# mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive
# mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive
# mode 34: 1920x1080 @ 30Hz 16:9, clock:74MHz progressive
hdmi_mode=16
# https://www.raspberrypi.com/documentation/computers/config_txt.html#hdmi_force_mode
# Setting to 1 will remove all other modes except the ones specified by hdmi_mode and hdmi_group
# from the internal list, meaning they will not appear in any enumerated lists of modes.
# This option may help if a display seems to be ignoring the hdmi_mode and hdmi_group settings.
#hdmi_force_mode=1
# https://www.raspberrypi.com/documentation/computers/config_txt.html#hdmi_ignore_edid
# Setting hdmi_ignore_edid to 0xa5000080 enables the ignoring of
# EDID/display data if your display does not have an accurate EDID.
# It requires this unusual value to ensure that it is not triggered accidentally.
hdmi_ignore_edid=0xa5000080
# https://www.raspberrypi.com/documentation/computers/config_txt.html#hdmi_enable_4kp60-raspberry-pi-4-only
# By default, when connected to a 4K monitor, the Raspberry Pi 4B,
# 400 and CM4 will select a 30Hz refresh rate.
# Use this option to allow selection of 60Hz refresh rates.
# It is not possible to output 4Kp60 on both micro HDMI ports simultaneously.
# Setting hdmi_enable_4kp60 will increase power consumption and the temperature of your Raspberry Pi.
hdmi_enable_4kp60=1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment