[HowTo] Composite output in Raspberry Pi!

HowTo Raspberry Pi Help and Support

I’ve just discovered how to solve the very annoying issue regarding the black screen after the boot splash screen!

I spent 3 days trying to solve this, trying almost every single suggestion in the OSMC and LibreELEC forums and that’s how I was able to do it:


  1. Download the latest release of OSMC on your PC

The 2023.12-1 release does not work with this method!


You only need to do this step if you only have a composite TV to work with. If you have an HDMI-capable screen, you can temporarily connect your Raspberry Pi to it for now! This is only so that you can see when the loading ends and avoid corruption if you remove the SD card before it finishes

  1. Flash it on an SD card and edit the following files:
  • config.txt
    Add the following lines:
display_auto_detect=1
dtoverlay=vc4-kms-v3d,cma-384,composite=1
  • cmdline.txt
    Add a space and add this line right after the code that’s already in there (DO NOT ADD AN ADDITIONAL LINE WITH ENTER! When I did this, it stopped working for me):

For NTSC

video=Composite-1:720x480@60ie

For PAL

video=Composite-1:720x576@50ie

  1. After that’s all done, insert the SD card into your Raspberry Pi and you’ll see the OSMC loading screen. Wait until it’s all done!

  1. Now that the loading is complete the Raspberry Pi will reboot and you’ll get a black screen right after the splash screen, but don’t worry! We’ll fix it now.

  1. Now you can choose how you are going to access the files:
If you are temporarily using an HDMI display

You can choose between removing the SD card from the Raspberry Pi and inserting it into your PC or setting up SSH and remotely changing the files you need. If you chose the latter, you can follow the tutorials below to do it:

Accessing the command line - General - OSMC
Transferring and editing files - General - OSMC

If you are using a composite TV or monitor

Remove the SD card from the Raspberry Pi and insert it into your PC


  1. You’ll again have to change some files:
  • config-user.txt
    Add the following lines:
display_auto_detect=1
dtoverlay=vc4-kms-v3d,cma-384,composite=1
dtoverlay=audio=on
dtparam=audio=on
  • cmdline.txt
    The exact same changes as before! Add a space and add this line right after the code that’s already in there (DO NOT ADD AN ADDITIONAL LINE WITH ENTER! When I did this, it stopped working for me):

For NTSC

video=Composite-1:720x480@60ie

For PAL

video=Composite-1:720x576@50ie

  1. Insert the SD card back into the Raspberry Pi and presto! You should be getting a composite output!


Here are the links that helped me get this result:

I hope I was able to help :bowing_woman: English is not my first language so please correct me if I said something wrong here

This tutorial has been updated so things don’t break after a new release! you can see the old tutorial on the edit history on top of the post

4 Likes

If you’d like and change the title of the post we could move this over to the howto section.

You might consider adding an alternative option where one just uses ssh and nano instead of swapping the SD back and forth. Also have you checked to see if this options work in config-user.txt instead of config.txt. Although not all options work in the includes file this is the prefered location as updates might overwrite config.txt at some point but config-user.txt will not be touched by updates. Nice work on the guide. :+1:

1 Like

This might be a dumb question, but is there a way to set it up so this issue is circumvented, but you still have the option to use HDMI to a higher quality display? As it stands I get the black screen after booting up except it’s on the HD tv, while composite works fine.

Thanks!

1 Like

If anyone is wondering the same thing I currently work around this adding two lines in config.txt

dtoverlay=vc4-kms-v3d,cma-512
dtoverlay=vc4-kms-v3d,cma-384,composite=1

I comment out the composite line if I’m using HDMI, and vice versa for Composite on CRT. I also comment out the added line in cmdline.txt for HDMI.

I added all the lines that go in config-user.txt into config.txt. I know this is not recommended to do but for some reason my config-user.txt kept getting wiped and stopped working with my CRT, and I’d have to redo the whole process. I also found extreme lag if I forgot to add the dtparam=audio=on line when going into settings.

1 Like