05 February, 2014

Installing Lubuntu 13.10 on Fujitsu-Siemens Amilo L7320

My 75 years old mother was using very happily an Amilo L7320 laptop with Ubuntu 10.04, but after an (non intended) upgrade to 12.04 the machine became very slow, and sometimes crashing. Looking into it revealed, that the machine has slowed down very much and even on the command line is vas extreemly slow.

After some considerations I have decided to use Lubuntu 13.10, in order to have a supported operating system, which is designed to run on older hardware.

For some unclear resons the USB installers created with the normal USB creation tools (Unetbootin, UniversalUSBInstaller, LinuxLiveUSBCreator) were not working so finaly I have used a rewritable CD to install the operating system.

The installation was strait forward, the installer run without any problem, but after restarting we got an empty black screen :-(

Fixing video display problems

For the impatient I continue straight with the solution, but later I will provide some information about how could I identify the problem.

So putting it short I had to create a new /etc/X11/xorg.conf file with the following content:

Section "Device"
        Identifier "Card0"
        Driver "vesa"

Section "Monitor"
        Identifier   "Monitor0"
        Option "PreferredMode" "1280x800"
        HorizSync 28-70

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
            Modes "1280x800" "1024x768" "800x600"

The Device section is needed to override the openchrome driver, which as far as I could identify is not working in Lubuntu 13.10. The Monitor section is needed in order to enable the native resolution of 1280x800 and the Screen section may not be needed, but it is intended to support the 1280x800 resolution.
And now some hints on how to debug this kind of X11 problems.

1) Disable the automatic start of the graphical interface

After installation there was no way to log in to the computer because the screen was black, so I used SystemRescueCD (my favorite repair linux distribution) booted it, and mounted the root filesystem of the newly installed Lubuntu. To disable the graphical interface I disabled the lightdm service by creating the file /etc/init/lightdm.override with the content "manual". (lightdm is the display manager used to handle graphycal logins in Ubuntu)

2) Enable SSH remote access

Even after a graphical crash or a messed up display the ssh connections remain working, so I could continue debugging without needing to restart the computer.

3) Testing the start of the X system

On the ssh session type sudo startx to check if the X system is staring at all. In this case you will see the output of the start and you may be able to identify the problem. (I could discover this way, that in the openchrome driver there is a symbol lookup error to miInitializeBackingStore which probably can only be solved by changing and recompiling the driver). After startx I got normally an empty screen, but if after pressing Ctr-C I got a clean exit, that showed that the X configuration is ok.

If the startx was working, the next command was sudo service lightdm start or sudo service lightdm restart. This will start (or restart) the real graphical interface with the possibility to log in. (This is the real test). Even if you have a garbaged screen from a previous experiment with restart you can do your next experiment after adjusting some parameters.

4) Where to put extra X parameters?

As I have learned, that today X is starting more or less automatically so you will not find many existing configuration files on your linux computer. /etc/X11/xorg.conf is a standard place to put these kind of configurations, so if you need to add something, just create this file and put in your commands. The xorg.conf documentation is a very good source of information about what can be set in there.

5) How do I know what went wrong?

This is easy: check the /var/log/Xorg.0.log This is very usefull, first I could identify here that the openchrome driver is loaded and it is crashing at one point, and I could also identify here that the VESA driver has a 1280x800 mode which was not shown in the graphical user interface and also I could see here the modeline what the openchrome would have been using if it would work, which helped me to set the supported vertical frequency for the monitor. In addition I could see here that originally the 1280x800 was disabled, because the default Vsync parameter of the monitor didn't allowed this resolution.

6) How to select manually the driver to be used, how to force the VESA driver for Xorg

I have tried to find this on the net, but found no clear instruction, probably because for experts it is very easy.

Create the /etc/X11/xorg.conf and put in a simple device section specifying the driver to be used:

Section "Device"
        Identifier "Card0"
        Driver "vesa"

Fixing Sound problems

After use it turned out that is has no sound.

Here again after some Googling the soulion was to enter the command:

amixer contents

Then look in the output for "Duplicate Front":

amixer contents | grep Duplicate

Then note the numid displayed, and enable the "Duplicate Front" setting by:

amixer sset numid=36 on

Source of this recommendation.

Before this I have installed pulseaudio and pavucontrol, but I am not sure if it was needed to solve the problem.

sudo apt-get install pulseaudio pavucontrol

Fixing Wifi problems

Finally the last problem was that the computer have seen the WiFi network but did not wanted to connect, the solution is really simple: press Fn+F2 to enable WiFi.


1 comment:

ja_n said...

Thanks man, that was VERY helpful. Clean and simple and this old notebook is useful again. Mamy thanks.