Our Very Existence

Random. And incoherent.

Arch Linux on the HP dm1z (Installation / Things to remember)

with 14 comments

Before reading everything else, I just would like you to note that this isn’t the only way of doing things. This is just how I like to do them, and the options described aren’t the only ones available either. This was meant to be done as quickly as possible.

EDIT (Aug 6, 2011): Added cpufrequtils stuff. Confirmed working.


EDIT(Aug 9, 2011): The drivers are now part of the new linux kernel(3.x)!!!!!1one. You may still have the old install image, so after installation, update ASAP (though this may have been obvious).

Go install Arch. Install it as usual and update it. Install then the following packages:

gcc kernel26-headers wicd

Download this package from the AUR. Build it and install it. After doing  modprobe rt5390sta and/or rebooting, the wireless card should be able to see networks and connect to them.

Note: I prefer wicd because it is very easy to configure compared to NetworkManager and just connecting with wpa_supplicant. Do not forget to remove the ‘network’ daemon and add ‘dbus’ and ‘wicd’ in rc.conf.

Another note: I did it in this order: Install Arch including gcc and kernel26-headers so I could compile the AUR package ASAP and get the wifi working. I wanted to do this because I don’t like being connected via ethernet. Only then did I update the system. Your call.

Another note again: You have to uninstall the package (rt5390 via pacman) and rebuild the AUR package every kernel upgrade. There must be a better way that I don’t know yet.

You can now proceed with the installation and move around without being limited by the length of the ethernet cable 😛


The video part is easy. I don’t need Catalyst, so I chose to use the open source drivers instead. Besides, I have my Windows install for 3d-heavy apps.

For getting X11 to work, install xf86-video-ati xorg-server xorg-xinit, and do X -configure. That should give you an awesome config to start with. Copy it to /etc/X11/xorg.conf.d/ as 10-monitor.conf. You should now be able to do startx. The choice of desktop environment is up to you.

The audio is quite annoying. It took me a lot of research to get it to work. I thank it all to the Gentoo user dudes here: http://forums.gentoo.org/viewtopic-t-884144-start-0.html

Anyway, install alsa-utils and alsa-plugins. More info here. Unmute the channels with alsamixer.

There will still be no sound though. That’s because the default card the system uses to play sound isn’t exactly what it’s supposed to be using. To fix that, create an .asoundrc file in your home directory, and paste the code from here(I can’t link to the single post from the Gentoo forum, so I copied it to Pastebin):

The good news is that everything works as expected, and that it automatically mutes the system speaker when a headset is plugged in. The bad news is that I could have done this in kernel space but I had trouble finding the appropriate modules for the cards. I wanted to do this at boot.


After some time on trying to master multi-touch on Linux, I still kind of wanted to be able to click with….you know…the buttons underneath the touchpad. The system is perfectly usable without the system recognizing the buttons properly, but some people would like to have it “the way it has always been (or what it’s supposed to be)”.

Anyway, here:  Package for clickpad.


Simply follow the wiki instructions here: https://wiki.archlinux.org/index.php/Pm-utils .


I ignored every other key except the volume keys. That includes the projector key thingy (the one in F4), the browser thingy, and the media play/pause, forward, and rewind buttons. The brightness keys work flawlessly, even outside of X. The volume keys were the ones that I really wanted to work though, so here’s how I did it:

Install esekeyd. Then do learnkeys esekeydrc.conf. Press the volume down button and then the volume up button. Now open esekeydrc.conf with your favorite text editor and uncomment the ones you would like to use. I prefer presses than releases, so I removed the other ones. On the right hand side, add for volume up amixer -c 1 set Master 3%+ and amixer -c 1 set Master 3%- for volume down. After starting esekeyd esekeydrc.conf, the volume keys should work. I suggest having this autostarted.


EDIT: Found a “better” way to set this up. Check here.

This took some time since I didn’t want to post stuff here that I can’t confirm whether it works or not. Anyway, go install cpufrequtils. Add powernow-k8 (the driver that works AFAIK) and cpufreq_ondemand to the modules array in your rc.conf file. Also, cpufreq_performance is the default. After this, you can either reboot, or modprobe the two modules I’ve mentioned a few seconds back. If you want to check the current frequency, do cpufreq-info. Try to do that while there’s a CPU-intensive process going on on the system. The ondemand governor should raise the CPU speed depending on the load.

I didn’t really put so much effort here. Just enough that it should work.

More info here. I recommend you check this out since I may be wrong here. And there’s a daemon. I missed that, but since this already works for me, I’ll have a look at it next time.


  • an elegant way of properly managing power.
Those are all. That should be enough when you’re at home. When using this as a mobile laptop, which this is totally for, I suggest doing something about the power management thing. There’s still the temperature, battery capacity (I just use acpi to see the battery level), performance scaling, etc that needs to be taken into consideration.
But to make me want to continue the efforts, here’s a screenshot of my install so far:

Written by kpbotbot

August 2, 2011 at 5:15 am

14 Responses

Subscribe to comments with RSS.

  1. […] This is an extremely lengthy intro. Real install post here. […]

  2. Thanks for this informative post! Helped me get my HP dm1z up and running in Arch. Especially the wireless bit. That was essential. Also, I’ve found a simpler .asoundrc to work for my system. Not sure how it’s different exactly, but it appears to work flawlessly, even when plugging in headphones.


    pcm.!default {
    type hw
    card 1

    That was it. Anyway, as of 3.0.1, the ralink wireless card is supported in stock, you’ll be happy to know. I don’t know when the Arch package for that kernel (or a later version) will come out, but it’s awesome to know I won’t have to keep recompiling this thing.

    As for the clickpad, try xf86-input-synaptics-clickpad in the AUR. It doesn’t support everything (like standard click-and-drag or disabling the trackpad with the double-tap) but it at least supports normal left and right “clicks” as opposed to taps.

    Thanks again!


    August 6, 2011 at 3:33 am

    • No problem, and thanks for the feedback 🙂

      Anyway, about the .asoundrc config file, I think that the Gentoo guys in the link above were trying to get software mixing to work. I tried their config and playing audio from multiple sources works fine.

      And ya, I took a look at xf86-video-synaptics-clickpad, but I didn’t install it since I was starting to like multi finger right and middle clicks 😀


      August 6, 2011 at 8:50 am

      • So, here’s an update.

        I wanted to get my wireless working without having to recompile that wireless driver ever again (not to mention I was getting REALLY annoying messages from the wireless card driver about every 5 secs on all my tty’s), and I found out that in the testing repo, you can download the 3.0.1 kernel that has this enabled by default. It’s pretty easy to enable if you want it. All you have to do is:

        1) Edit /etc/pacman.conf and uncomment the [testing] and [community-testing] repos.
        2) Run pacman -Sy and then pacman -S linux (add linux-headers if you need to recompile kernel modules)
        3) Edit /boot/grub/menu.lst. I added the following lines (you may have to modify to suit your needs):

        title Arch Linux 3.0
        root (hd0,2)
        kernel /vmlinuz-linux root=/path/to/root ro
        initrd /initramfs-linux.img

        title Arch Linux 3.0 Fallback
        root (hd0,2)
        kernel /vimlinuz-linux root=/path/to/root ro
        initrd /initramfs-linux-fallback.img

        NOTE: when you install linux and/or linux-headers, pacman will warn of a conflict with kernel26 and kernel26-headers. If you choose to install it still, it will delete all of your 2.6 kernel modules (but the files required for booting). That could be bad if you cannot boot your system with the 3.0 kernel, because it will be harder to revert. Anyway, if you don’t care that much, you can wait till 3.0 comes out of testing. Just wanted to let you know your options 🙂


        August 7, 2011 at 10:54 pm

      • Guess what just happened…

        Just updated my kernel to 3.0 xD Seems that the new kernel was pushed to core before I was able to read this comment. And yeah, the tty thing is extremely annoying, especially when I’m logging in (I don’t have a login manager). After booting this up I was surprised I didn’t see out-of-place text.

        Thanks for the heads up anyway 😀


        August 9, 2011 at 10:14 am

  3. I got my WiFi drivers from this page: http://www.ralinktech.com/support.php?s=2

    Rest of the details and some ad libbing here…



    August 31, 2011 at 10:39 am

    • The archive that the AUR package downloads is the already modified version of the drivers taken from RaLink, so I didn’t write about doing a general Linux install xD Also, if you somehow manage to update your kernel to 3.x, wireless should already work with no extra stuff to do. Saves you the trouble of having to reinstall the kernel modules everytime your system upgrades the kernel 🙂


      August 31, 2011 at 12:39 pm

      • Really? I didn’t know that. Thanks. 🙂

        In the latest Fedora, the ISOs came with a 2.6.35 kernel. The 3.0 kernel is named 2.6.40 so it won’t break some userland stuff. I only got the 2.6.40 kernel after I got wireless to play nice with the dm1z. So I suppose it’s a chicken-and-egg thing. 🙂


        August 31, 2011 at 1:57 pm

  4. Seems like things got a bit better since I last tried it. Back then, I had to dive into the source code of the wireless driver to make it work.

    I’m planning to try installing Arch on my dm1z again, but I have a few questions:

    * Does the touchpad work properly? I mean, can I double tap to click and drag, use two finger scrolling, and the buttons underneath the touchpad?
    * Do you also have the issue (I think it’s an issue, at least) where the screen is constantly changing contrast ratio whenever the colors on the screen change? For instance, if alt tab from a text editor with a white background to a terminal emulator with a black background, the color of the grey menubar that should be the same in both apps changes from white to grey.

    • * Does the touchpad work properly? I mean, can I double tap to click and drag, use two finger scrolling, and the buttons underneath the touchpad?
      – Uhhhh, not really. I still can’t click with the buttons underneath, properly drag and drop, use the touchpad lock, and pinch to zoom. Two finger scrolling work though. These may be fixed by installing clickpad instead of the regular synaptics driver.

      * Do you also have the issue (I think it’s an issue, at least) where the screen is constantly changing contrast ratio whenever the colors on the screen change? For instance, if alt tab from a text editor with a white background to a terminal emulator with a black background, the color of the grey menubar that should be the same in both apps changes from white to grey.
      – Nope. The one where the brightness adjusts automatically to how white something currently is on the screen? Happens only while on Windows + on battery. It’s extremely annoying. I don’t know what the hell this feature is called, so I can’t search it out. If you manage to switch it off, please do share xD


      November 9, 2011 at 10:37 am

  5. […] did a little tinkering, and found out that my frequency scaling setup many months ago was a fluke. Loading the cpufreq_ondemand module wasn’t enough, as the output of cpufreq-info […]

  6. The sound card order can be fixed at kernel level with this:

    options snd_hda_intel index=1,0


    July 30, 2012 at 10:49 am

    • Thanks. This means no more craploads of .asoundrc files 😀 Still don’t know why it’s snd_hda_intel tho.


      July 30, 2012 at 11:41 am

      • check /proc/asound/cards and “lsmod | grep snd” to get an idea about sound card module.


        July 30, 2012 at 1:08 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: