If you are trying to play audio on your raspberry pi over hdmi and it is not working then you need to ensure that the raspberry pi is driving your tv or monitor in hdmi mode and not dvi mode. To do this type /opt/vc/bin/tvservice -s

If it’s running HDMI it will print something like state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920×1080 @ 60Hz, progressive

If it’s running DVI it will print something like state: HPD high|DVI mode|HDCP off|composite off (0x120016), 1280×720 @ 60Hz, progressive

This happens because the raspberry pi asks the monitor about itself and deduces the best resolution from this information. To view this information run: /opt/vc/bin/tvservice -d edid /opt/vc/bin/edidparser edid

This will then list the resolutions supported for your display device and the id number and the score for each. CEA (hdmi) are in tv format (1080i etc) and DMT (DVI) in screen resolution (1280×720 etc). Note down the id of the highest scoring CEA resolution.

Open /boot/config.txt and add: hdmi_group=1 hdmi_mode = x # The ID number you noted

Then save, quit and reboot. and /opt/vc/bin/tvservice -s should include “HDMI mode” as above.

I assume that including hdmi_drive=2 does the same thing – automatically choose the highest scorign CEA option.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: