I am currently running Debian Wheezy on a HP Microserver N54L with an AMD Radeon 5450 video card.
I would like to be able to play audio from the console through the HDMI port of my video card and into my receiver, a Panasonic SA-XR57.
I previously achieved this on a Raspberry Pi running raspbian by setting the HDMI output to "safe mode" (the default mode was incompatible with my aging receiver), but I am not sure how to replicate these settings in Debian. Any ideas on how I could get started would be appreciated, because I'm not sure how to even start with this problem.
EDIT: I should make it clear that my problem is getting my receiver to handle the HDMI signal by working out how to change the HDMI settings to a more compatible mode, rather than anything specifically audio related.
EDIT2: I've discovered a few facts in the last couple of hours which I thought I should put up here.
The error I get on my receiver is "U70-1-2", of which in the manual says "the unit has received a signal for a picture format that is incompatible with the HDMI connection. Check the settings of the connected equipment". I get this error in the Linux console, the bios, and in grub menus. I also had this error with my Raspberry Pi, but it was solved by enabling "safe mode" in the rpi's config.txt file.
EDIT3: Okay, I've worked out how to change the resolution to something low and compatible (I believe this is the resolution in the rpi safe mode) in the console by adding video=HDMI-A-1:640x480@60 to my kernel parameters. This changes my resolution when I'm plugged into a tv, but if I plug into my receiver I get the same error on the receiver side. I think my next step is to disable EDID, which is also a feature of rpi's safe mode. I've googled a bit to no avail, so at the moment my question is:
How do I disable EDID during the boot process?
EDIT4: Today I've tried recompiling the kernel with CONFIG_DRM_LOAD_EDID_FIRMWARE enabled and booting with the kernel parameter drm_kms_helper.edid_firmware=HDMI-A-1:edid/1024x768.bin - which I believe should load a fixed EDID file in (although I'm not sure, because I've read conflicting things on whether or not the sample EDID files are hardwired into the kernel). On booting the receiver sends the same error and in dmesg I have the errors:
[ 346.374275] platform HDMI-A-1: firmware: agent aborted loading edid/1024x768.bin (not found?)
[ 346.374483] [drm] Got built-in EDID base block and 0 extensions from "edid/1024x768.bin" for connector "HDMI-A-1"
I have also tried getting the EDID file in Windows and loading that in to the kernel - which works, except still gives an error on my receiver. When I extracted the EDID file I used the same receiver but a different computer with a different graphics card - as far as I'm aware the EDID file is only dependent on the monitor (in this case receiver) so it shouldn't matter on the graphics card, is this correct? Turns out that Windows cannot read an EDID file for my receiver and I was scraping the one from my monitor.
EDIT6: Okay, I got it. It turns out that I needed audio enabled (radeon.audio=1 in kernel parameters) in order for my receiver to get signal. Makes sense, but very annoying that my receiver manual told me that it was a video error, I was planning on worrying about the audio afterwards!