Saturday, November 17, 2012

No Sound Fedora 16 or 17 with Geforce NVidia Video Card

GeForce Nvidia Video Card with HDMI output
GeForce Nvidia Video Card with HDMI output
One of the things I've noticed since I built my own home theater personal computer (HTPC) is that there are a lot of people who have a great genuine interest in helping others with electronic (hardware or software) issues. The reason we take the time to do that is because it makes us look more smart and intelligent and if you do exactly that on the Internet, you are showcasing your mental power to the world that you are for lack of better term, "Smart." So, what we have a lot of on the Internet today is a lot of "noises" about how to fix this or that or how they were able to work around an issue all in the hope of helping others or for other reasons. Sometimes there are a lot of "noises" about nothing than real information, which can hinder someone's progress in whatever they are doing. It took me months, before I found the information on the Internet I really needed to solve my computer problem. However, I am glad to know that people care about sharing information whether real or something about nothing. In this post, "How to enable sound on HDMI port on Fedora 16?," I hope to provide a real information all in the hope that it will help someone somewhere on this planet.

Since I built my HTPC, I have been running GeeXbox OS, Linux Media Center. It allowed me to play videos on the Internet and watch my favorite movies and TV Shows. Setting up Geexbox was very easy and it worked the first time just the way I wanted it - being able to watch my shows and program all through my video cards' output port HDMI - video and sound. However, I felt GeeXbox was somewhat limited in that you can only watch whatever is available through their Video Add-Ons only and they only had handful of good video add-on. I realized the Internet has to be much bigger than that. So, I decided it is time to test drive a different Linux Operating system or distrobution rather than just media center.

Having used Fedora OS for such a long time on my desktop, I felt I will give it a try first on my HTPC and see if it was any better. So, I downloaded their Fedora 16, latest stable distrobution. Even though Fedora 17 is out, it has its own issues which I think is currently being resolved.

My Fedora 16 OS test went well. I was able to install it successfully on my HTPC and use it like any other operating system, until I tested my hardware - one being High Definition Multimedia Interface (HDMI) output on my video card. Although it was able to send video to my LCD TV, there was no sound of any kind that came through my TV speakers and I know HDMI output is capable of sending video and audio on the same output. So, I spend many days and nights reading, surfing the net for information and trying what people suggested online, but I still couldn't make it work or figure out why I simply can't tell Fedora 16 to send the audio signal to my video card HDMI output port, but I was able to gather information from several websites on "how to enable sound on video card HDMI output?" Finally, after all this time of banging my head against the wall and pulling my hair, I was able to make it work. Hopefully, it will work for you as well.

Here are the steps on "How to enable sound on video card HDMI output on Fedora 16?"

  1. Reboot your system, access your BIOS setting and under audio configuration disable all the audio devices on your motherboard. You really don't have to do this if you don't need to. I did it because it made it easier for me. If you do this step, your other sound devices may not work.
  2. Open your terminal program and execute the following command below. This command will update your whole Fedora system with any available updates. It is always a good idea to be up-to-date before you troubleshoot your system. This may take 5 to 10 minutes to complete.
    1. su yum update
  3. Once completed with the update, reboot your system and execute the following command below on your terminal.
    1. su gedit /etc/default/grub
  4. Your grub file should open up with text editor. Add the following line below in the grub file at the end of the kernel line and save it.
    1. rdblacklist=nouveau vga=0×318
  5. Run the following command just as you see it below on your terminal. Just copy it and paste it into your terminal and run. This will go out and look for the latest binary driver for your Geforce Nvidia Video Card. The reason you need the latest driver for your card is that the generic "nouveau free Xorg" driver that comes with your Fedora OS does not support HDMI output fully at all.
    1. su -c “rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm 
  6. After downloading the binary driver, once again you have to update your system as you did before by executing the following command on your terminal as you see it below. This time it shouldn't take no more than a minute or two.
    1. su yum update
  7. For me, the above step is all I need to do to install the Nvidia propitiatory driver. However, I have found out that for some people, you actually have to install a specific driver based on your system. If so do the following.
    1.  For 64bit Users: “su yum install kmod-nvidia xorg-x11-drv-nvidia-libs.i686 xorg-x11-drv-nvidia-libs.x86_64"
      A.) For 32bit Users: “su yum install kmod-nvidia xorg-x11-drv-nvidia-libs.i686
      B.) For 32bit Users using the PAE kernel: “su yum install kmod-nvidia-PAE.i686 xorg-x11-drv-nvidia-libs.i686
  8. Once completed, you probably should reboot your system and then continue on to step 9.
  9. Then, execute "aplay -l" without the quotes on your terminal and it will give you a list of audio devices available. Make a note of the card number and device number you want to use from the list it displays.
  10. Run the following command as you see it below on your terminal. It will open a file with a lots of information in it including audio driver info.
    1. su gedit /etc/pulse/default.pa
  11. In the default.pa file you just opened, find a section that deals with audio driver. As the last line in the audio section, add the following line as you see it below but with one exception. You will have to replace 1 with your card number and 7 with your device number as you took note from the step 9. Then, save the file and close it.
    1. load-module module-alsa-sink device=hw:1,7
  12. Now, go to your sound settings in your Fedora system and select the audio device you want to use. Plus, you may also want to make sure that everything is enabled and nothing is muted on your alsamixer.
  13. Now, you are done! Just reboot your system.
 *Note: If this doesn’t seem to work for you, in step 4, instead of “rdblacklist=nouveau”, try “nouveau.modeset=0″

These steps worked for me right away. Thanks to everyone who posted self-help information on this perticular problem.

If you are still having problem and can't figure out what is going on or simply want to ask me question, then drop me a line at godblessyouu@gmail.com.

UPDATE: This issue in Fedora 16 and/or 17 is fixed in Fedora 19 the latest distribution. However, I found out that once you make the move from Fedora 16 or 17 to 19, you will no longer be able to do the above steps to get your audio working if you want to go back to Fedora 17 or 16. I tried that I couldn't get the audio to work at all. I believe, that's because drivers and kernels or what not in your repository has been updated for Fedora 19. Good Luck.

Thank you for visiting my blog.

    No comments:

    Post a Comment