3

I use Nvidia propietary drivers on 14.04.1, I want to use HDMI on a TV. I connect the cable, but I see another desktop and can't listen to audio, I would want to hear the pc audio and see the same as in my monitor, is it possible? Thanks.

2 Answers 2

4

I get HDMI video working fine with my Sony 32″ LCD TV as external screen. But audio has been a problem for long time. Here is a simple technique to enable audio through HDMI so that you can enjoy the high quality sound through TV or Home Theatre System.

Motherboard: M3N78-EM based on NVIDIA GeForce 8300 Chipset

Operating System: Ubuntu 12.04 Precise Pangolin

Here is my VGA controller information:

$ lspci | grep VGA

02:00.0 VGA compatible controller: NVIDIA Corporation C77 [GeForce 8300] (rev a2)

  1. First we need to ensure that NVIDIA proprietary driver is installed. Ubuntu installed the NVIDIA driver by default while installing (I had opted for third party software installation option during installation). System Settings -> Additional Drivers should show the dialog as shown below. In shell, you can see “nvidia” for the command “lsmod | grep nvidia”.

  1. Configure the screen connected to HDMI Port. In case of NVIDIA, Ubuntu provided System Settings -> Displays tool does not detect the external Display. But NVIDIA provides a powerful GUI based settings tool, which makes the job easier. This tool can be accessed through dash by typing “NVIDIA” -> “NVIDIA X Server Settings” -> “X Server Display Configuration”. Don’t forget to click “Save to X Configuration File” to save your changes before quitting.

  1. Select the HDMI Audio as output device in Volume Indicator (on top bar) -> Sound Settings… -> Output -> HDMI / Display Port.

The above steps should get the job done. If not you can check status of S/PDIF settings. It should not be muted. You can check with “alsamixer” command. The following screenshot shows S/PDIF muted.

Select the muted S/PDIF bar and press M to unmute it. It should be as shown in the below screen.

It should fix the issue. You should be enjoying the audio over HDMI now. Now you can make it permanent by issuing “sudo alsactl store” command which will save the above settings.

In case you did not get succeed, you may try the following tweak.

Create a file called /etc/asound.conf (if there is a file already, just backup that file) with following content and reboot the machine.

pcm.!default hdmi:NVidia pcm:iec958 hdmi:NVidia

2
  • 1
    Unfortunately, I have the NVIDIA proprietary driver installed, have the X Server configuration panel and everything, and am running on NVIDIA card instead of Intel card. but still, "HDMI" is not listed among the possible audio outputs in audio settings. I have S/PDIF listed, but not HDMI.
    – xji
    Dec 18, 2015 at 13:54
  • Thanks for the awesome instructions, this worked for me with one addition: in the desktop top bar sound settings, I also had to edit the app specific settings (there's a tab for this), they had been set to 0 by default. Jun 29, 2016 at 12:54
0

If the above does still not work and you still have no sound over hdmi.

After days of banging my head against a wall I discovered a section in the ALSA website about a bug in the 14.04 Kernel which sends sound to the the wrong hdmi ports or dummy devices.

ALSA Site says;

In Linux kernel 3.8-rc1, a regression was introduced which could cause GeForce 520 and newer GPUs to route audio to an unexpected monitor. The selected monitor may not even be connected or be capable of receiving audio, and hence audio may be lost. On system boot, the monitor corresponding to ALSA physical stream ID 3 is likely selected as the audio sink irrespective of which ALSA device is used to play audio. The routing may change following attempts to play multiple audio streams at once. This regression was introduced by the following commit: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6169b673618bf0b2518ce413b54925782a603f06 "ALSA: hda - Always turn on pins for HDMI/DP"

This patch is included in Linux kernel 3.8-rc1. The regression was fixed by the following commit:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=75fae117a5dbde5ab984fa5c60705758cfbc6433 "ALSA: hda/hdmi - allow PIN_OUT to be dynamically enabled"

This patch is included in Linux kernel 3.14-rc1.

Changing to the 14.10 kernels fixed my issue.

sudo apt-get install linux-image-generic-lts-utopic linux-headers-generic-lts-utopic

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.