Debian Squeeze on Intel H77 motherboard
This week-end, I built my own home server. I don't care if it's a big tower, but I wanted something silent, energy efficien, with a capacity of at least 5 hard drives, and capable of decoding 1080p videos. Yeah I know, a server shoudln't be used for multimedia, just for storage, but it was cheaper to do that instead of buying a video receiver apart.
For the size, I found a good compromize between silence, quality and size, the Fractal Design Define Mini. It's classy, well built, relatively cheap, and it looks good in my living room, perfectly integrated with my TV stand (almost the same height). And when I said silence, I mean I can't hear it unless I put my head right on it. My fridge and my house ventilation are way louder, and even them, I almost can't hear them.
And for the 1080p decodin, I chose the combination of the mother board ASRock H77 Pro4-M and the Pentium G860. And with the integrated graphics of the processor, I was all set (minus RAM & co of course).
So I built it, pretty easily, thanks to the built quality of Fractal, and installed OpenMediaVault. I used the HDMI port during the installation, and after that, put the server beside my TV stand, and started configuring it. All seems to worked perfectly, except for the video drivers and the sound. Too bad for a media center right ?
The video card
The HDMI port worked out of the box, but the video drivers weren't working. The display was at the lowest resolution in the terminal mode, or with a X server (I installed LXDE to test the drivers), and there was no graphic acceleration, ie there was no OpenGL available. It seems that the integrated graphic cards is too recent for the 2.6 kernel used by Debian Squeeze. Maybe there is some workarounds to stay with this kernel, but after some googling, the answer mostly given to this problem was to upgrade the kernel. I did it using the Squeeze backports :
$ echo "deb http://backports.debian.org/debian-backports squeeze-backports main" > /etc/apt/sources.list.d/debian-backports.list $ sudo apt-get update $ sudo apt-get install linux-image-3.2.0-0.bpo.3-amd64
After that, reboot, select the new kernel in the Grub list, and ta-da ! Your on a 3.2 kernel. There was some warnings about some firmware during the package installation, but it seems it isn't important because all is working (for me at least). But that's not all. Now that we are in 3.2, we still have some package to install for the video cards to fully work. I struggled a little at this point, in fact I spent most of my time trying to solve that problem. But thanks to T_Send on StackOverflow, I solved it using the Debian Wheezy repo :
$ echo "deb http://ftp.pl.debian.org/debian/ testing main contrib non-free" > /etc/apt/sources.list.d/debian-testing.list $ apt-get update $ apt-get install --reinstall -t testing libdrm2 libdrm-intel1 xserver-xorg-video-intel xserver-xorg-core libgl1-mesa-glx libgl1-mesa-dri mesa-utils
dpkg-reconfigure xserver-xorg
And this time, we did it ! OpenGL works, and you can use the rightful resolution when using the server directly.
The sound
The second problem was the sound. No sound card were found out of the box. But by using the 3.2 kernel, we almost entirely solved that problem. But there is still a problem : the sound doesn't come out via the HDMI port. Again, too bad for a media center. But thanks to the famous Alsa, it's not that hard. Before starting, let me say that the following configuration will set the HDMI port as the default sound output. If you want to be able to switch automatically when pluging/unpluging a HDMI cable, there is a lot of information about that on the net, and it will be based on the information gathered by the above operations.
First, we need to install the alsa tools
$ sudo apt-get install alsa-base alsa-tools
Second, we need to find the HDMI output
Please keep in mind that your results may differ.
$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0
From this results, we're going to test all the cards and devices. Speakers (via TV, screen or anything) must be connected to the HDMI port you want to use at this time.
$ alsamixer -c 0 # 0 because my HDMO port is on the card 0 # In alsamixer, unmute all your channel and set raise all the volume to max, except the microphones. Use Esc to exit. $ aplay -D plughw:0,3 /usr/share/sounds/alsa/Noise.wav # Card 0, device 3 $ aplay -D plughw:0,7 /usr/share/sounds/alsa/Noise.wav # Card 0, device 7 $ aplay -D plughw:0,8 /usr/share/sounds/alsa/Noise.wav # Card 0, device 8
For one of the device, you'll hear a "shhhhhhh" through your speakers. From there, you now what card/device is your HDMI port.
Finally, we set the device as default audio output
For this step, just use your favorite text editor to edit/create the /etc/asound.conf file :
pcm.!default { type plug slave { pcm "hw:0,8" # My HDMI device is on card 0, device 8 } }
And there you are, video and sound working on your server ! Now you can install VLC and play your audio/video files, or make a real media center and install XBMC.




