SuSE Linux 8.1 on Compaq Evo N1020v

As there seem to be a number of 'versions' of this particular box, I think it might be best to clarify that this is the N1020v equipped with a Pentium 2.4 GHz processor, 40Gb HDD and  256 Mb RAM. The machine came with Windows XP Professional edition pre-installed. On bootup, XP proceeds to configure the machine to your entered specs and completes this by expanding the system volume to take up the remaining drive space, leaving you with a single 40Gb Windows system drive (C:).

The machine comes with a complete XP installation disk as well as a Compaq recovery disk, which contains a PowerQuest DriveImage Pro image of the hard disk in its 'uninitialized' state. I found that this meant that prior to first bootup, XP is installed on a FAT32 partition taking up just 6Gb of drive space. Using any partition management software (FIPS, etc.),  you can create a temporary partition in the existing free space. When you next boot the machine, XP won't expand beyond the original 6Gb's allocated to it, leaving you with 34Gb to do with as you will.

Of course, this all depends on whether you really want XP installed at all, which if you're reading this probably means 'no'. ;-)

At the start, I had some difficulty getting the system to boot and install successfully from the SuSE 8.1 DVD and had to resort to the CDs. I also found that I had to select the 'manual install' from the initial boot menu instead of the graphical install. Ultimately, this makes little difference to the process, since 'manual' simply auto-detects most things anyway via a console control instead of a GUI. Once the auto-detection is completed, it reverts to an X-based installation anyway. Go figure...

Hardware
Specification
Notes
Processor
Intel Pentium 4 2.4 GHz
None
Monitor
15 inch TFT
Works at 1024x768 at 24bpp.
Video Card
ATI IGP 340M
To date, XFree (v 4.3.0) doesn't seem to support this card directly. I started to use the VESA driver with amended settings in the /boot/grub/menu.lst (see below for details) which only yielded 16bpp at 1024x768, but managed to use the Radeon LY driver with amended settings in the XF86Config (see copy below).
CDR/W DVD
Standard IDE
To date, I have only tested CDR and DVD capabilities. I assume that CDR/W should work, as the device has been correctly 'identified' by the system as a cdrecorder. Regardless, CDR works fine and DVD works, but plays DVD video rather badly using the VESA and Radeon drivers as accelerated video hardware support for this card isn't available in the latest kernel. Running xine-check produces output given below (suggests trying drivers at www.linuxvideo.org).
Sound
Acer ALI 5451
Installation detected and loaded the correct ALSA module (ali5451) perfectly.
Modem
Conexant HSFi 56k
Downloaded the closed-source RPM for the 2.4.19 kernel-specific driver for the HSFi modem from www.linuxant.com (see below). This sets the default device to /dev/modem. Tested this and it works perfectly.
NIC
RealTech 8139 Ethernet
Worked first time without problem.
Hard disk/IDE

Worked first time without problem.
Floppy disk

Worked first time without problem.
Mouse

Touchpad. Works without problem.
Anything else.

If I haven't listed it here, I haven't tested it yet. I think other pages at the mobilix.org site have some more information concerning USB/Firewire/etc where this particular machine is concerned. Power Management, also, is something I haven't personally had a look at, although from what I gather others have had mixed success with this.

Issues with XFree86:


The default installation of SuSE 8.1 sets the screen at 800x600 resolution. At present, XFree86 4.3.0 doesn't seem to support this particular video card, although you can force XFree to run in 1024x768 mode (16bpp) by editing the /boot/grub/menu.lst file and setting the 'vga' option in the Linux part of the menu to 791 (vga=791). This will set the textmode on startup to 160x64. Once rebooted, run  'sax2 -m 0=fbdev' and this will set XFree to run using the framebuffer driver. This should auto-detect correctly and set XFree to run in 1024x768 at 16bpp.

The actual pages where this information was found are at the SuSE support web site at http://sdb.suse.de/en/sdb/html/cg_framebuffer-x40.html.

For anyone who wants an easy life (if you're using SuSE 8.1, that is), here is my XF86Config:

# /.../
# SaX generated XFree86 config file
# Created on: 2003-04-28.
#
# Version: 4.7
# Contact: Marcus Schaefer <sax@suse.de>, 2002
#
# Automatically generated by [SaX2] (4.7)
# PLEASE DO NOT EDIT THIS FILE!
#

Section "Files"
  FontPath     "/usr/X11R6/lib/X11/fonts/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/local"
  FontPath     "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/URW"
  FontPath     "/usr/X11R6/lib/X11/fonts/Speedo"
  FontPath     "/usr/X11R6/lib/X11/fonts/PEX"
  FontPath     "/usr/X11R6/lib/X11/fonts/cyrillic"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin7/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/baekmuk:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/japanese:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/kwintv"
  FontPath     "/usr/X11R6/lib/X11/fonts/truetype"
  FontPath     "/usr/X11R6/lib/X11/fonts/uni:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/CID"
  FontPath     "/usr/X11R6/lib/X11/fonts/ucs/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/ucs/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/ucs/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/misc/sgi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/xtest"
  InputDevices "/dev/ttyS0"
  InputDevices "/dev/ttyS1"
  InputDevices "/dev/ttyS2"
  InputDevices "/dev/ttyS3"
  InputDevices "/dev/ttyS4"
  InputDevices "/dev/ttyS5"
  InputDevices "/dev/ttyS6"
  InputDevices "/dev/ttyS7"
  InputDevices "/dev/ttyS8"
  InputDevices "/dev/psaux"
  InputDevices "/dev/logibm"
  InputDevices "/dev/sunmouse"
  InputDevices "/dev/atibm"
  InputDevices "/dev/amigamouse"
  InputDevices "/dev/atarimouse"
  InputDevices "/dev/inportbm"
  InputDevices "/dev/gpmdata"
  InputDevices "/dev/mouse"
  InputDevices "/dev/usbmouse"
  InputDevices "/dev/adbmouse"
  InputDevices "/dev/input/mice"
  InputDevices "/dev/input/event0"
  InputDevices "/dev/pointer0"
  InputDevices "/dev/pointer1"
  InputDevices "/dev/pointer2"
  InputDevices "/dev/pointer3"
EndSection

Section "Module"
  Load         "dbe"
  Load         "type1"
  Load         "speedo"
  Load         "freetype"
  Load         "extmod"
  Load         "glx"
  Load         "v4l"
EndSection

Section "ServerFlags"
  Option       "AllowMouseOpenFail"
EndSection

Section "InputDevice"
  Driver       "Keyboard"
  Identifier   "Keyboard[0]"
  Option       "MapName" "Generic Windows Keyboard [ pc105 ]"
  Option       "Protocol" "Standard"
  Option       "XkbLayout" "gb"
  Option       "XkbModel" "pc105"
  Option       "XkbRules" "xfree86"
EndSection

Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[1]"
  Option       "ButtonNumber" "5"
  Option       "Device" "/dev/mouse"
  Option       "Name" "Autodetection"
  Option       "Protocol" "imps/2"
  Option       "Vendor" "Sysp"
  Option       "ZAxisMapping" "4 5"
EndSection


Section "Monitor"
  DisplaySize  300 230
  HorizSync    30-33
  Identifier   "Monitor[0]"
  ModelName    "Unknown"
  Option       "DPMS"
  VendorName   "Unknown"
  VertRefresh  43-72
  UseModes     "Modes[0]"
EndSection


Section "Modes"
  Identifier   "Modes[0]"
EndSection


Section "Device"
  BoardName    "Framebuffer Graphics"
  BusID        "1:5:0"
  Driver       "fbdev"
  Identifier   "Device[0]"
  VendorName   "VESA"
EndSection


Section "Screen"
  DefaultDepth 16
  SubSection "Display"
    Depth      16
    Modes      "default"
  EndSubSection
  Device       "Device[0]"
  Identifier   "Screen[0]"
  Monitor      "Monitor[0]"
EndSection


Section "ServerLayout"
  Identifier   "Layout[all]"
  InputDevice  "Keyboard[0]" "CoreKeyboard"
  InputDevice  "Mouse[1]" "CorePointer"
  Screen       "Screen[0]"
EndSection

Section "DRI"
    Group      "video"
    Mode       0660
EndSection

***************************************************************
Since my initial attempts, I have managed to configure XFree using the 'radeon' driver at 24bpp by changing the 'Device' section thus:

Section "Device"
  BoardName    "Radeon LY"
  BusID        "PCI:1:5:0"
  Driver       "radeon"
  ChipID       0x4c59
  Identifier   "Device[0]"
  Option       "NoAccel"
  Screen       0
  Option       "Rotate" "off"
  VendorName   "ATI"
EndSection

The ChipID parameter forces XFree to assume the graphics card is an ATI Radeon Mobility M6 instead of the unsupported IGP 340M (ChipID 0x4337). This does provide 1024x768 resolution at 24bpp, but the display suffers from 'wave effects' when scrolling. As a result, I've reverted to using the vesa driver at 16bpp for the time being, given the 'improved' performance this gives.

All my attempts to use the DVD for playback have had mixed results. Playback is possible, but not without a good many frame drops and intermittent 'freezes'. This is because the driver can't use the ATI hardware acceleration options due to the fact that the host bridge for this system is completely unknown to the kernel. If you run 'lspci' as root, you'll see what I mean. For this reason, you must include the 'noaccel' line when using the radeon driver, as the Xserver will subsequently cause the whole system to hang without it.

In time, this particular system may be better supported in both the kernel and in XFree itself. In the meantime I've visited the linuxvideo.org site and am attempting to find a way to use hardware acceleration through some (possibly) relevant patches and XFree amendments. I'll post any subsequent discoveries I may make on this page, but if anyone else out there has any more success, I'd be interested in hearing about it...

Just for 'completeness', I've included the xine-check output from my system here:

xine-check output:

Please be patient, this script may take a while to run...
[ good ] you're using Linux, doing specific tests
[ good ] looks like you have a /proc filesystem mounted.
[ good ] You seem to have a reasonable kernel version (2.4.19-4GB)
[ good ] intel compatible processor, checking MTRR support
[ good ] you have MTRR support and there are some ranges set.
[ good ] found the player at /usr/bin/xine
[ good ] /usr/bin/xine is in your PATH
[ good ] found /usr/bin/xine-config in your PATH
[ good ] plugin directory /usr/lib/xine/plugins/1.0.0 exists.
[ good ] found input plugins
[ good ] found demux plugins
[ good ] found decoder plugins
[ good ] found video_out plugins
[ good ] found audio_out plugins
[ good ] /dev/cdrom points to /dev/sr0
[ good ] /dev/dvd points to /dev/sr0
[ hint ] Your DVD drive seems not to be attached via ATAPI.
         This might be due to the use of an ide-scsi emulation.
         If you really have a SCSI DVD drive, your SCSI controller is likely
         to do perfect DMA, so there's no reason to worry about this.
         However, if you're using ide-scsi, there is a chance that DMA is
         disabled for the DVD drive. Moreover, I don't know how to enable
         DMA in that case, so you probably have to live with some performance
         loss. (FIXME: check for /proc/ide, provide solution)
         press <enter> to continue...
[ good ] found xvinfo: X-Video Extension version 2.2
[ hint ] Your X server doesn't support YUV overlays.
         That means xine will have to to color space transformation and scaling
         in software, which is quite CPU intensive. Maybe upgrading your
         X server will help here.
         If you have an ATI card, you'll find accelerated X servers on
         http://www.linuxvideo.org/gatos/
         press <enter> to continue...
[ hint ] Your X server doesn't support packed YUV overlays.
         That means xine will have to to color space transformation and scaling
         in software, which is quite CPU intensive. Maybe upgrading your
         X server will help here.
         If you have an ATI card, you'll find accelerated X servers on
         http://www.linuxvideo.org/gatos/
         press <enter> to continue...
[ hint ] Your X server doesn't have any XVideo support...
         XVideo is an X server extension introduced by XFree86 4.x. This
         extension provides access to hardware accelerated color space
         conversion and scaling, which gives a great performance boost.
         If you have a fast (>1GHz) machine, you may be able to watch all
         kinds of video, anyway. You will waste lots of CPU cycles, though...
         press <enter> to continue...
Modem:

I downloaded the driver in RPM form from the following site: http://www.linuxant.com/drivers/hsf/downloads-license.html. This takes you to the license page after which you should download the specific driver for your kernel (2.4.19 for SuSE 8.1 out-of-the-box). Running 'rpm -i <driver>' installs the driver and sets the symlink /dev/modem to the correct driver (/dev/ttySHSF0).

Other points:

I chose to update the default XFree version in SuSE 8.1 to 4.3.0. The SuSE specific RPMs can be found at the SuSE web site under 'updates'. While I was at it, I also upgraded KDE to version 3.1, which I found well worth the effort. Again, these can be picked up from the SuSE web site directly.