SARPi Project - Slacking on a Raspberry Pi


Introducing the config.txt file...

When booting the Raspberry Pi, the config.txt file is read by the GPU before the ARM core is initialised. It can be used to set various system configuration parameters that you normally find in a conventional BIOS and UEFI environment. There is an abundance of information on this file in the official Raspberry Pi Documentation, if you're interested in settings and features not covered in this guide.

One thing to remember is that whenever the config.txt file changes (i.e. you edit it) you should reboot your system to take on the new settings. The config.txt file allows you to allocate the amount of GPU and system RAM, load Device Tree overlays, configure overscan settings, overclock, etc., and make it so you can boot into Slackware Linux using specific settings and parameters.

SARPi Project muse views ... Sometimes the output of the screen/display exceeds the viewable area on your physical screen/display. So, under these circumstances you can never see the very edge of what's being displayed as it's outside your viewing area. This can affect both text and images. It's most annoying when you boot your Raspberry Pi to find that you cannot see your command prompt, or only part of it. There are ways to overcome this, by enabling overscan, and solutions to many other problems.

Below is an example Raspberry Pi config.txt file created by the SARPi Project. We have customised it a little and used some popular settings. We've also adding a hashed-out date, purely for our own reference.

You can, of course, create your very own customised config.txt file. See the official CONFIG-TXT Documentation guide.


# For more configuration options and information see: http://rpf.io/configtxt
# Additional overlays and parameters are documented in: /boot/overlays/README
# NB: Some settings may impact device functionality and performance!
#
# https://sarpi.penthux.net - 06 March 2024 - Raspberry Pi 5 config.txt

# Arm 64-bit mode [ 0 = 32-bit | 1 = 64-bit ]
arm_64bit=1

# Allocate amount of GPU video RAM (MB) [min: 16MB]
#gpu_mem=128

# Set CPU clock speed (MHz) for overclocking, etc.
#arm_freq=1800
#arm_freq_min=600

# Load a specific kernel
#kernel=kernel8.img
#kernel=kernel_2712.img

# Enable optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Enable [I2C] DS3231 real time clock [RTC]
#dtoverlay=i2c-rtc,ds3231

# Enable [SPI] DS3234 real time clock [RTC]
#dtoverlay=spi-rtc,ds3234

# Automatically load initramfs files, if found
#auto_initramfs=1

# Disable compensation for displays with overscan
disable_overscan=1

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

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
#disable_fw_kms_setup=1

# Enable ttyS0 (UART1)
#enable_uart=1

# Disable on-board Bluetooth
#dtoverlay=disable-bt

# Disable on-board wireless
#dtoverlay=disable-wifi

# Enable the PWR LED 'heartbeat' pulse
#dtparam=pwr_led_trigger=heartbeat

# Enable the ACT LED 'heartbeat' pulse
#dtparam=act_led_trigger=heartbeat

# Run as fast as firmware / board allows
arm_boost=1

[pi5]
# Enable Pi 5 PCIe external connector
#dtparam=pciex1
#dtparam=nvme

# Enable Pi 5 experimental PCIe Gen 3.0 mode
#dtparam=pciex1_gen=3
# Enable Pi 5 PCIe Gen 1.0 mode
#dtparam=pciex1_gen=1

# Disable Pi 5 onboard real time clock [RTC]
#dtparam=rtc=off

[cm4] # 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=1

[pi4]
# Raspberry Pi 4 specific configuration settings

[all]

If you've used a SARPi installer to install Slackware Linux on your Raspberry Pi computer then your existing config.txt file should look somewhat similar to the example above, if you haven't already modified it.

What some of the settings in the config.txt file mean:
arm_64bit=1 is telling the system to boot in 64-bit mode. A setting of arm_64bit=0 would boot in 32-bit mode.
arm_boost=1 is telling the system to operate as fast as the hardware will allow.
gpu_mem=64MB is telling the Raspberry Pi to allocate 64MB of RAM to the GPU. The rest goes to the system.
dtoverlay=i2c-rtc,ds3231 is telling the system to load the Device Tree Blob for a DS3231 real time clock (RTC)
dtparam=audio=on is telling the system to enable audio/sound.
camera_auto_detect=1 is telling the system to automatically detect any camera(s) that's connected.

You have the option to add/change/remove any setting or value. It would certainly be beneficial to educate yourself with the litany of config.txt parameters and discover what might enable you to get the most out of your Slackware Linux system and the purpose you intend for it. The official Raspberry Pi Documentation > Configuration > CONFIG-TXT page would be a good place to begin.

If you are planning to use desktop environments on your Slackware Linux system you might want to change the GPU RAM (gpu_mem=64) to a higher value, such as 128MB or more. Currently, the official Raspberry Pi Ltd. advice is that this does not need setting on Raspberry Pi OS, but we don't use that so we prefer to set the GPU memory amount anyway. Some features of the GPU do not work with low memory and it will automatically disable certain firmware features too. Under such circumstances, if you find a certain function or feature aren't working, try allocating more memory to the GPU before rebooting your system.

Editing the config.txt file

To edit the config.txt file you'll use a text editor. The SARPi Project prefers 'nano' - a simple and very useful program that's built in to every version of Slackware Linux.

You may edit the config.txt file directly. There's no need to switch to the /boot directory where config.txt is located. To do this type the following on the command line:

root@iana:~# nano -w /boot/config.txt

You will find it's easy to achieve using any text editor.

After you have edited and saved the config.txt file, you should reboot your system for any changes to take effect.

You may wish to further edit/modify your config.txt file at a later date, depending on your personal requirements. You can do so at any time as 'root' user.

Continue to the final section of this guide... Post-installation information

Back to Top


Updated: 2024-03-06 10:18:42 UTC

Disclaimer: The SARPi Project website is for non-commercial and general information purposes only. The content is provided by Penthux.NET and while we endeavour to keep information up to date and correct, we make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the website or any information, software, products, services, or related graphics which is available on the website for any purpose. Any reliance you place on such information is therefore strictly at your own risk. In no event will Penthux.NET be liable for any loss or damage including without limitation, indirect or consequential loss or damage, or any loss or damage whatsoever arising from loss of data or profits arising out of, or in connection with, the use of this website or any of its contents. Through this website you are able to visit other websites which are not under our control. Penthux.NET has no influence over the nature, content or availability of any external URLs. The inclusion of any URLs does not necessarily imply a recommendation or endorsement of any content therein. Every effort is made to ensure the SARPi Project website remains accessible. However, Penthux.NET takes no responsibility for, and will not be liable for, the SARPi Project website being temporarily unavailable due to technical issues beyond our control. SARPi Project is in no way affiliated with Slackware Linux, Inc, or the Linux Foundation, or Raspberry Pi Ltd., or any of their respective members, trustees, partners, or associates.


Accept!

SARPi Project uses cookies for website traffic data analytics purposes only. Cookies from this website do not collect or store any of your personal data.

Please read the SARPi Project website [ Cookie Policy ] for more details.