You are here: Home Old redinnovation.com blog Archive 2007 March
Personal tools

Entries For: March 2007

2007-03-26

Enabling virtualization on HP nx9420

Getting hardware virtualization to work on HP nx9420 laptop was not easy. Here are few instructions.

Hardware virtualization (VMX) allows one to run guest OS inside your primary OS efficiently i.e. faster. Without hardware support, OS emulation crawls like snail in tar. In Linux, kernel support for VMX is called KVM (Kernel Virtual Machine). Ubuntu support for it was added in Feisty.


I wanted to run Windows XP guest inside Ubuntu Feisty Fawn host with my HP nx9320 laptop. The laptop has Intel Core 2 Duo CPU supporting VMX techonology.

This Wiki page and this thread were very helpful.

Enabling VMX was major pain. First results were harsh

$modprobe kvm-intel
FATAL: Error inserting kvm_intel (/lib/modules/2.6.20-6-generic/kernel/drivers/kvm/kvm-intel.ko): Operation not permitted

$dmesg | grep kvm
[ 4790.548000] kvm: disabled by bios

In turned out that I had to enable VMX in bios. HP support page provides BIOS update.

Ok, I boot to Windows, run BIOS installer, reboot, go to BIOS and enable Virtualization under Device configuration, reboot to linux and modprobe again.

$modprobe kvm-intel
FATAL: Error inserting kvm_intel (/lib/modules/2.6.20-6-generic/kernel/drivers/kvm/kvm-intel.ko): Operation not permitted
D'oh. I reboot again, go to BIOS, double check that virtualization is enabled and reboot to Linux.

$modprobe kvm-intel
FATAL: Error inserting kvm_intel (/lib/modules/2.6.20-6-generic/kernel/drivers/kvm/kvm-intel.ko): Operation not permitted
In this point, smoke was coming from my ears. I was already planning to write email to HP support that "your BIOS update really doesn't do anything and I will never buy anything from you."

Well. Luckily I still had a little patience to Google around. It turned out that you need to do "real hard reset" for laptop. This means powering off and taking battery away before VMX is enabled. Thanks for HP Business Support Forum users to telling out this information.

After power cut reboot, modprobe installed kvm-intel succesfully.

2007-03-25

Importing Gnome and KDE applications settings

If you need to switch/update/relocate your Linux system, here are instructions how to keep application settings from a system to another.

I installed Ubuntu Feisty Fawn for testing. I had to migrate Gnome terminal settings from my previous Ubuntu (Edgy Eft) to the test platform.

Copying Gnome terminal settings


All Gnome applications store their settings in your home folder/.gconf/applications

Just copy .gconf/apps/gnome-terminal from the old system to the new system. You need to logout and login to restart gnome-settings-daemon and make the copied settings effective.

.gconf is invisible in the default file browser. Go to home folder Hit CTRL+L to see the location bar and type in /.gconf to get into the folder.

Copying KDE Konversation settings


Konversation is IRC client for Linux. I didn't want to retype all channel and password information again, so I just copied existing Konversation settings.

KDE stores settings in home folder/.kde/config/APPNAMErc file. Just copy this file from new system to another.

Ubuntu Feisty Fawn - Almost there

I installed Ubuntu Feisty Fawn for my HP nx9420 laptop. This time it works better, but still getting few things done have a bumpy road ahead compared to MacOS X and Windows.

Ubuntu is a the most popular desktop oriented Linux distribution today. Recently they released a beta version of upcoming release Feisty Fawn. I have been using the previous release, Edgy Eft, for my work laptop few months now. There are some issues with Edgy and I took a test ride with Feisty to see if there has been any progress in hope I could be more productive with my computer.

My computer is HP-Compaq laptop nx9420 laptop. It has ATI x1600 display card. My desktop setup involves external monitor, external keyboard, trackball and WLAN.


Summa summarum

Feisty Fawn has progressed greatly what comes to WLAN usability. On the other hand, dual monitor working with Ubuntu desktop is not bed of roses and is greatly lagging behind Windows and MacOS X due to technical issues  which  could have been solved aeons ago.


Pros


The most important enhancement for me was getting Gnome's Network Manager working out-of-the-box. First time in the Linux history I was able to connect to my wireless network with few clicks. Before it has taken hours manually editing text files and reading cryptic logs. Kudos for  Network Manager team! It's always nice to see how things are made easy for end users.

There  has been other progress too. I had filed few bugs before and one installer bug which bothered me has been closed now.

  • Timezone selector dialog has a map where you can click your country. Map zooming function was really slow. Now it has been fixed by removing zooming.

Cons

With my dual-head configuration, everything didn't work out of the box as I expected. I reported every little detail I faced during the set-up

One could translate this as: "Feisty Fawn beta works for you if you are English speaker and use only single monitor."

Feisty Fawn is still in beta stage. I am little skeptical if these issues (excluding keyboard map issues) can be fixed during the beta stage, since they are not Ubuntu specific. Maybe when the next incarnation of Ubuntu comes out the Linux world has taken another step toward the Year of Desktop Linux.

Multi-monitor support is still not there. This is more Linux than Ubuntu specific problem, since it hits every Linux distribution under Sun. Using two monitors (laptop + external, laptop + video projector) is very common nowadays. Unfortunately Linux just doesn't jut it. This is so complex and big issues that a decided to own a blog entry for it.

A cold cup of Linux and many monitors

It's 2007. Linux still cannot manage two monitors properly - something that Windows did this back in 1995.

The Linux show stopper for my work is using two monitors (a.k.a. dual-head). Monitor management generally is major Pain In The Ass in Linux. It is possible, but good end user tools are missing and you need to choose one of many different far-from-perfect technical approaches.

X server, which manages Linux desktop visual interaction, doesn't provide a real interface to manage several monitors. It would require a co-operation from display driver vendors, user-land application developers (Gnome and KDE), Linux distribution teams  and X.org team to come up with a solution. Because many different parties are involved and the problem falls to "no one's land" the progress has stagnated in this area. People still need to fire up their text editors and manually edit cryptic config files and type terminal commands to get something done.

Windows did this back in '95. Display driver vendors have made up their own driver hacks to workaround the problem, but because the hacky nature of driver hacks, they will be never usable enough for average end users. There is no technical limitation why this wouldn't work, since Windows and MacOS X have been doing this many many years.


When one is not enough


People need two monitors when
  • They do presentations (PowerPoint)
  • Work with software development environments
  • Artists

Here is what kind of display set-ups ATI driver provides
  • Laptop Mode (toggle between internal or external screen)
  • Clone Mode (same content on both screens)
  • Big Desktop (one desktop stretched across two screens)
  • Dual Head (separate instances of X running on each screen)

Big Desktop mode is what most people want. This means that the same desktop is shared between both monitors. You can drag and drop windows from one monitor to another. NVIDIA's corresponding technology is called "TwinView".

Unfortunately, Big Desktop is a awful hack. Setting up Big Desktop requires going to command line and/or poking around configuration files manually. Or, in worst cases, to put it bluntly, it just doesn't work. Big Desktop (TwinView)  relies on making a  fake screen resolution which is the sum of all screens. Each physical monitor has a viewport into this total area. The total screen resolution is monitor 1 width + monitor 2 width X maximum of monitor heights.

What works for me now is "dual head" configuration. Both monitors have their own X server running. Set up worked like a charm and both screens have their correct display resolution. But charm ends there. Since both screens have their own X process and X doesn't have "inter-x-process" communication mechanism, working with this kind of set-up is pain
  • You cannot configure screen resolution and layout with end user applications
  • You cannot drag windows from a screen to another
  • Application are not aware of the existence of the second monitor
  • Clicking link on a screen where Firefox is not running results to an error dialog "Firefox is already running, but is not responding"
  • Both monitors have duplicate task bars, star menus and other shared desktop stuff
  • etc.
The only thing that actually works is dragging desktop icons from screen to another. I can drag icons, why I cannot drag windows?

In Big Desktop (TwinView) you get another bunch of problems
  • You cannot configure screen resolution and layout with end user applications
  • Started application windows are opened on the wrong monitor
  • Applications don't necessary know on what monitor they are and are opening dialogs to wrong monitors
  • If screen resolutions don't match, which they rarely do, there is some mysterious empty space around the smaller resolution monitor and you can move mouse cursor off screen. This is very annoying since it makes hitting the scrollbar at the right edge of the screen with mouse cursor very difficult.
  • Size estimations fail in applications because of fake total screen resolution
  • Monitor specific taskbar and other panels don't necessary work
Again, Windows and MacOS X don't suffer from these problems.

Monitor hot-plug woes


Hot-plugging monitors, e.g. video projector for presentation, gives its own number of problems. At least in Ubuntu and ATI's proprietary display driver, the wish to just go to somewhere, plug-in monitor and have a slide presentation is the worth of bagful air.
  • Nothing happens when monitor is hot-plugged
  • You need to reboot to make monitor detected
  • You need to run aticonfig to set-up correct resolution for the video
  • You need to reboot again
  • You need to hope that in this step everything works and presention can be started

Conclusion


As long as display driver vendors, X.org and co. cannot come up with real standard way to manage many screens in Linux, there is no progress in userland applications. Functionality like TV out, correct resolutions and monitor layout setup will require rebooting and command-line hacking. The Year or Linux Desktop cannot be declared until these kind of basics issues for desktop working have been solved.




2007-03-05

Piercing Windows 2003 firewall

Windows 2003 server ships with all ports closed by default. Often it's needed to open ports which is not so easy process. I decided to post instructions for here for my own and others convience.


  • Go to Start -> Programs -> Administrative tools -> Local Security Policy
  • Double click Packet Filter
  • Click add. The Security Rule Wizard shoul come up.
    •  Do not set IP address (the rule doesn't specify a tunnel)
    •  Network type: All network connections
    • IP Filter List: Click Add button. IP Filter Dialog comes up.
      • Name: Open port XX
      • Click add. IP Filter Wizard should come up.
      • Source address: My IP address
      • Destination address: Any IP address
      •  Protocol: TCP
      • From this port: The port number you wish to open
      • Finish
    • Click ok.
    • You are now back in Security Rule Wizard.
    • Select the rule you created. Click next.
    • Choose permit. Click next.
    • Click Finish.
  • Close Packet Filter dialog properties by clicking ok.
Syndication
Atom
RDF
RSS 2.0
Available for work
Need Web/Usability/Python/Plone/Django expert?
Hire us!