Gentoo Problems with Sound – VMWare

A while ago I blogged about sound problem on Gentoo in VMWare. You can read about it here – Gentoo Problems with Sound.

As it turns out, it was an issue with the in-kernel sound driver for the soundcard that vmplayer emulates. If you’re using kernel 2.6.30-r6 or older, it should work fine. But if you update to a later kernel, it will plays the audio messed up. Solution? Well you could do:

  1. Compile kernel without sound driver, then find the driver independently and use a version that works.
  2. Rollback to 2.6.30-r6 or older.

For compiling kernel without sound driver, it will be a bit of work to find which driver it uses for emulated vmplayer soundcard. lspci on my vmplayer 3 reports:

00:12.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 02)

If you can find in the kernel the modules and disable it and then either find the driver binary for your distro or find the source, then you can roll back to a version that works. Keep in mind that it could be some kernel setting that is causing the audio to be played badly. Some realtime or clock settings.

For #2, most distros are on old kernels so it should be fine. By the time more distros move to the newer kernel, it could get fixed in the kernel or a better solution may be blogged about.

Until then, enjoy your linux distro.

Gentoo Problems with Sound

Gentoo is just being childish.

Installed Gentoo using VMware in different VMs. Total 4 installation. In 1 sound worked fine. In other 3 the sound works weird. It plays very fast. Plays the whole song in 10-15 seconds.

Have debugged the issue but haven’t been able to fix it.

Sunday Haps

It’s been a while since my last update. I have been busy working on some stock stuff lately. I have also been working on some music stuff. Writing, composing, recording. And also on listening other people’s music.

Worked on my gentoo setup. Got my DE setup correctly. Well it’s not really a DE. Working on getting ACPI stuff fixed on the laptop so the lid can just be shut down. Currently the hibernate-ram commands works fine putting the computer to Sleep (suspend to RAM). But when waking it up, it doesn’t seem to wake up. I’m not sure if it’s a kernel thing or a module thing. I have all the modules installed based on the documentation, but it still doesn’t work. Will keep working on it.

Slow Sunday. Waiting to go to church in a little bit.

RAID1 on Linux (Gentoo)

So finally, I have a RAID 1 array. I’m using gentoo and dmraid to setup a raid 1 array. I always wanted a raid setup, but never really set one up for various reasons. One of the reasons was no extra hardware and I didn’t want to spend the money. Another reason was I just didn’t believe that software raid could perform.

But then a friend of mine got a ReadyNas drive. And it has Debian on it and allows to put Apache/PHP and other things on it. This made me think that a $300-$400 device that has Debian on it couldn’t be doing hardware raid on a dedicated controller. That meant software based raid isn’t just for nerds using linux. It’s for anyone who wants a real raid setup without having to pay 1000s of dollars for hardware controller.

So using the following link, I setup my gentoo server.

http://en.gentoo-wiki.com/wiki/Software_RAID_Install

I had an older machine that was available to me. And a drive in an external enclosure that had a eSata and USB 2.0 interface.

Hardware Specs

Sony Viao 

* CPU: 1.5Ghz Single Core
* Mem: 256MB.
* Harddrive: 400G EIDE.

    Second Drive 

    * Harddrive: 300G SATA
    * Connect to an external enclosure with eSATA or USB 2.0 connector.

      Plan of Action

      Since the disk weren’t the same size, the plan was to partition the smaller one first. Then the partition table can be created on the second one. Then the OS can be installed. And there’s a problem here. The smaller one has data on it that I wanted to keep. New plan….

      1. Copy data from smaller disk to bigger disk.
      2. Parition smaller disk.
      3. Create degraded raid1.
      4. Install Gentoo.
      5. Copy data over.
      6. Partition the other disk.
      7. Add disk to raid1.

        Problem! The mobo/bios doesn’t support booting from a USB device. Even tho, the bios has a setting for it, I have never gotten it to boot from a USB media. New plan….

        Forget the data. Just isntall the OS. There’s a backup of the data.

          ———————————

          Eventually,

          1. Installed on the smaller disk.
          2. Installed grub to MBR.
          3. Rebooted, still using minimal isntall CD.
          4. Add the bigger disk and let it create the raid1 image.
          5. Installed grub to bigger disk mbr.

            This made the system bootable. However, everytime the system booted, it would show degraded array. The USB 2.0 drive would just fall out of raid. Even after adding and recreating the array, after boot it would just degrade.

            Went out and bought a SATA PCI card for the older mobo. Installed the card. Luckily, the kernel has drivers for it. Recompiled the kernel and the drive was visible.

            Re-added the smaller drive. It work just fine. And now the array is up.

            :)

            KDE 4.2 on Gentoo – Part 3: The KDE Install

            Part 1: KDE 4.2 on Gentoo – Part 1: The Preparation

            Part 2: KDE 4.2 on Gentoo – Part 2: The KDE Pre-Requisites

            This post will talk about installing KDE packages. The KDE base set is a package containing a good base KDE install. If you don’t know what a set is, it’s a new thing with Portage 2.2.

            Step 1: Install KDE 4.2

            This part is the easiest one. But only if you did the previous parts correctly. Before you begin, it would be wise to verify each of the previous steps ran fine. A quick checklist:

            1. x11-libs/qt-* packages are all the same version – 4.5.0 currently. Even if they’re not the latest, they should be the same version. Otherwise, things will be breaking.
            2. qt-phonon is not installed.
            3. PyQt4 is built with webkit and svg USE flags.
            4. dev-util/kdevplatform is installed.
            5. kde-base/okular is installed.

            If all the previous items are fine, you are then ready to install KDE 4.2

            To install KDE 4.2, run the following command.

            emerge -av @kdebase

            After KDE install is done, you should be able to launch if from your display manager (xdm, gdm, or kdm). If you use command line, then you should be able to use the following command.

            startkde

            KDE 4.2 on Gentoo – Part 2: The KDE Pre-Requisites

            Previous Part: KDE 4.2 on Gentoo – Part 1: The Preparation

            The previous post talked about preparing for KDE 4.2.1 install. KDE 4.2.1 via sets requires portage version 2.2 to use sets.

            This post talks about KDE specific pre-requisites. KDE uses Qt which is a GUI rendering SDK. This means that any changes to Qt on your system require rebuilding KDE. So first you must ensure that your system has all the Qt components installed correctly.

            From the Gentoo KDE install guide, you can download a package.keywords file showing all packages that need to be ~ unmasked. Append that file to your existing /etc/portage/package.keywords file.

            Step 1: Update Qt packages

            Now upgrade all the Qt components. Make sure you unmask all the following, if these are not in the downloaded package.keywords file.

            x11-libs/qt ~x86
            x11-libs/qt-sql ~x86
            x11-libs/qt-core ~x86
            x11-libs/qt-assistant ~x86
            x11-libs/qt-gui ~x86
            x11-libs/qt-dbus ~x86
            x11-libs/qt-script ~x86
            x11-libs/qt-test ~x86
            x11-libs/qt-qt3support ~x86
            x11-libs/qt-svg ~x86
            x11-libs/qt-xmlpatterns ~x86
            x11-libs/qt-opengl ~x86
            x11-libs/qt-webkit ~x86
            x11-libs/qt-phonon ~x86

            You can either install KDE and let the ebuild update Qt components or you can manually update Qt components. The KDE ebuilds aren’t correctly tracking dependencies. So I recommend ensuring Qt before starting KDE install.

            To update all the Qt packages, you can run the following command.

            emerge -uav qt qt-sql qt-core qt-assistant qt-gui qt-dbus qt-script qt-test qt-qt3support qt-svg qt-xmlpatterns qt-opengl qt-webkit

            You can remove the u parameter from emerge parameters so that all packages are rebuilt. But if you want to save time, you can let emerge build only the ones needing an update. I recommend using without u and rebuilding all packages.

            Important note: Do not install qt-phonon. KDE provides media-sound/phonon & kde-base/phonon-kde to replace that. If you find you have qt-phonon installed, uninstall it. To verify if it is installed you can run the following command.

            eix -c qt-phonon

            The output should look something like the following output.

            [N] x11-libs/qt-phonon ((~)4.5.0(4)): The Phonon module for the Qt toolkit

            The [N] means it’s a new install.  If you see a [I], then it’s installed. To uninstall it run the following command:

            emerge -C qt-phonon

            Step 2: Update other components

            After the Qt update, you will need to update PyQt4. It is a good idea to simply rebuild. Make sure you build this with the webkit USE flag, else you will run into problems.

            In the file /etc/portage/package.use, add the following line.

            dev-python/PyQt4 webkit svg

            Now rebuild PyQt4. Use the following command.

            emerge -av PyQt4

            Step 3: Update some more components

            You will need to update the following components. Use the following commands.

            emerge -av dev-util/kdevplatform

            emerge -av kde-base/okular

             

            Part 3: KDE 4.2 on Gentoo – Part 3: The KDE Install

            KDE 4.2 on Gentoo – Part 1: The Preparation

            So it’s almost 4 days  installing KDE4.2 on Gentoo. It’s a long process. All the compiling is just too long. Takes a long time to compile something, then if a dependency is recompiled, and kdelibs need to be recompiled. Current sets and ebuilds don’t track this stuff properly. This is why the packages are still masked. But if you’re willing to spend time and work on the install, it should be possible to install KDE 4.2.

            This post will talk about preparing for a KDE install.

            You can install KDEfrom the kde-testing overlay or using the sets in the new protage 2.2. The new portage is masked, so you will have unmask it and then install it.

            Step 1: Upgrade Portage to 2.2

            The latest portage is Portage 2.2_rc23. To unmask this edit the file: /etc/portage/package.keywords. Add the line shown below:

            =sys-apps/portage-2.2_rc23 ~x86

            You are ready to install portage. To install the new portage, run the command shown below.

            emerge -av =sys-apps/portage-2.2_rc23

            Step 2: Sync emerge

            emerge --sync

            Step 3: Update the eix database.

            update-eix

            If you do not have eix, you’re missing out on a real nifty search tool. You can install it by running the command:

            emerge -av app-portage/eix

            Now your search database and portage cache should be up to date.

            To Be Cont’d.

            Part 2: KDE 4.2 on Gentoo – Part 2: The KDE Pre-Requisites

            Part 3: KDE 4.2 on Gentoo – Part 3: The KDE Install