SUSE 9.3 on a Dell Precision M70
Dell Precision M70 Hardware
Chris Cox
| The Dell Precision M70 is a
workstation notebook computer. It has a
professional Quadro go1400
GPU, a small 15" 1920x1200 screen,
supports the newer 533Mhz FSB
Pentium-M processors and Sonoma
architecture. It is reasonably light weight, fits most notebook
cases and backpacks and has excellent (for an upper class notebook)
battery life (2.5 hours+). |
 |
- 2.0 Ghz 533Mhz Intel Pentium M 760
|
- 1G PC 2x512 Corsair DDR2-522 PC4200
|
- 60GB Hitachi E7K60 7200 RPM PATA
|
- GCC-4243M DVD/CDRW
|
- Nvidia go1400 256MB PCIe GPU
|
- 1920x1200 WUXGA 15.4" LCD
|
- Intel W2200BG Wireless
|
- BCM5751 Gigabit Ethernet
|
- AC97(i810) sound
|
- 90W (9 cell/80 WHr battery)
|
- D-Port Port Replicator (Docking Station)
|
Untested
I wanted to test everything. I did try the built-in modem
under a modified SUSE 9.2 without success. But I did not try
really hard, so I cannot say if the built-in modem works or not.
WinModem 56K (PCMCIA modems are pretty much plug and play via YaST)
SmartCard Reader
1. Installation of SUSE 9.3
Novell SUSE 9.3 allows you to install using CDs or DVD. I
don't like swapping CDs, so I performed a DVD installation.
First install failed. Was in the Detail installation screen watching
packages getting installed when I switched back to the Slide Show,
started getting I/O errors on the DVD/CDRW device. I recommend
stayting with the Detail view when packages are getting installed.
- SUSE 9.3 uses a graphical installer, you can select your
resolution which includes several VESA screen resolutions.
Unfortunately, 1920x1200 is not a VESA resolution, so I picked
1600x1200. The resolution will guide initial defaults for X11
screen resolution, but it is really unrelated. So it doesn't
matter if you go with an ultra high resolution install or not. In
fact, SUSE allows for a text based install if you just can't do a
graphical install (e.g. installing using a non-graphical terminal).
Also, it is possible to do an install via VNC (Virtual Network
Computing), so you could add vnc=1
on the boot line and use a remote
VNC client. This was the best way to do a graphical install if
using a VMware guest, but now with VMware 5.0, it appears that VESA
frame buffer
- I chose to do a new install. and started out selecting my
timezone as US-central UTC.
- Package selection was the Default KDE install, plus I added gcc
and other development tools and the kernel sources.
- After the packages were installed, I configured the networking.
For now I left the BCM5751 as a "manual" configure (so it will
not get started) and configured the W2200BG. However, when I got to
configuring my WEP key, it would not accept it. It said it was an
invalid key (I used a
hexadecimal representation of the key as given by my Linksys WRT54G
wireless router. Mine is acting as a bridge to my primary wired
network, the DCHP actaully will come off of my D-Link DI-707P).
Later after the install is finished I will use YaST to insert the
WEP key, which works.
- For the initial user setup that is part of the install process, I
prefer to have my HOME directory to be /localhome rather than /home.
That is because where I work, we use /home as an automount point
under NIS-NFS. In older versions of SUSE, you could see the
detailed options for user creation and change the user's HOME
directory. I did
not a way of changing a user's HOME directory in the SUSE 9.3
installer. It did have a way to change the global defaults for
new users... BUT there is a problem. After the install is
complete you will find that the /etc/default/useradd
file is not
correctly formatted. It shows my change to /localhome for the
basedir (HOME=/localhome),
but it has an invalid entry for the default GROUP=.
- When you get to the X11 (xorg) setup, select a VESA monitor that
can do 1920x1440@60Hz,
while still in the sax2 setup, change your
resolution setting to use settings from 1920x1200 and below. I
already had an external wheel mouse (Logitech Mouseman, explorerps/2,
so under sax2 I show both the ALPS touchpad as well as my external
mouse as being configured. I will get the commercial Nvidia
driver later.
- When it prompted for using Online Update at the end of the
install, I declined. We can do that later. In general, I
have always had problems running YOU at the install phase. Too
many variables to let the install just hang at the end. For
example, in my case, since my WEP key was not allowed at install, I
really do not have any network connectivity (no sense in doing YOU at
all).
I did not detail out every step of the SUSE 9.2 install. I will
gladly try to answer any questions though.
2. Post Installation
- Logged in as the user I attempted to create at install time,
ccox. But noticed that the HOME directory was still /home.
Checked the useradd defaults with useradd -D and it came back
with an error because the GROUP parameter in /etc/default/useradd was
not defined correctly. I set GROUP=100 (that is, users) to fix
that problem. Then I moved my HOME from /home/ccox to /localhome/ccox and
edited /etc/passwd
directly to correspond to the
change in the HOME dir. Logged out.
- Logged back in and brought up YaST and successfully entered my
WEP hexadecimal key. Same panel as during install, except this
time the key was accepted. And Intel W2200BG wireless enabled
perfectly with WEP.
- Performed a YaST Online Update (YOU) and also installed the
commercial Nvidia drivers (fetchnvidia.sh) via YOU. Verified that
Driver "nvidia" was
being used inside /etc/X11/xorg.conf.
This worked
surprisingly well.
3. CD/DVD Issues
When I first attempted to put SUSE 9.2 on my M70, I quickly discovered
that the DVD/CDRW drive and harddrive are PATA devices connected to a
combination SATA/PATA controller. This is interesting, because I
was unable to see the DVD/CDRW at all. I loaded the ide-generic
modules, which did allow me to see the DVD/CDRW, but WITHOUT DMA.
Kernel 2.6.11.4 fixed most of the issues. I still have a
disk with SUSE 9.2 and everything works just fine (except software
suspend to disk).
- I fully expected some CD/DVD issues with SUSE 9.3. While the
DVD/CDRW was at least seen, there were some significant issues:
- SATA-like devices blacklisted.
- /dev/cdrom was a directory instead of a link to a device.
- submounts were happening using /media/<volname> which was
unreliable.
- I first de-blacklisted the CD/DVD (SATA-like) devices. Edit the file /usr/share/hal/fdi/90defaultpolicy/storage-policy.fdi.
Change storage.media_check_enabled
to "true".
There is a warning
comment about kernel crashing in the file, but I do not believe it is
applicable. This should allow suseplugger to work.
- I then got rid of the /dev/cdrom
directory by modifying how
hotplug devices were handled in /etc/sysconfig/hotplug.
Edit /etc/sysconfig/hotplug and
change HOTPLUG_DEV_ON_TMPFS="yes".
- Finally, a change is required to fix the fact that CD's are now
being mounted at /media/<volname>. While using <volname> seems to
be a good idea, the problem is that many of my
CDs would not work. Not sure if it's a problem with the code used
to get the volume names, or simply poor judgment. Create a file called /usr/share/hal/fdi/90defaultpolicy/cddvd.fdi
with the following content:
<?xml version="1.0"
encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<!-- Added by Chris Cox -->
<deviceinfo version="0.2">
<device>
<!-- Mount CD/DVD-rom drives as /media/dvd and CD/DVD Writers as
/media/cdrecorder
instead of as /media/<<VOLUME_NAME>> -->
<match key="@info.parent:storage.drive_type" string="cdrom">
<match key="@info.parent:storage.policy.desired_mount_point"
string="cdrom">
<merge key="volume.policy.desired_mount_point"
type="string">dvd</merge>
</match>
<match key="@info.parent:storage.policy.desired_mount_point"
string="cdrecorder">
<merge key="volume.policy.desired_mount_point"
type="string">dvdrecorder</merge>
</match>
</match>
</device>
</deviceinfo> |
Hopefully, the CD/DVD drive is working now.
4. Must Haves from kde-look.org and kde-apps.org
- textshadowedit - This packages compiles easily if all of the
KDE/Qt/C/C++ development tools are in place. Provide a KDE
Control Center panel for changing how the shadows look for the desktop
icons.
- superkaramba - There is a binary RPM there. Superkaramba
allows you to run little controls all over your desktop that do things
like monitoring in the root backdrop of your system.
- Crystal SVG icons - Well, it would appear that you have these,
BUT you really don't. There is a download link from
www.linuxcult.com at kde-look.org. You can remove all instances
of kmenu.png from your $HOME/.kde/share/icons/crystal/* directories to
get the gecko back as your start button (if that's interesting).
- filelight - Really nice visual directory from kde-apps.org.
5. Must Haves from packman.links2linux.org
- Go to http://packman.links2linux.org and search for libdvdcss2.
There you will find instructions and a source RPM (have to get
the source tarball from somewhere else... READ the directions there!!).
After you copy the libdvdcss2*tar.bz2 file to
/usr/src/packages/SOURCES you should be able to do a rpmbuild --rebuild
libdvdcss2*src.rpm to create the RPMs in /usr/src/packages/RPMS/i586.
This library is necessary if you want to play encrypted DVDs on
Linux.
- You can get individual RPMs and get each dependency by
downloading them from www.links2linux.org... BUT there is a
better way. Using YaST, add a new installation source with
"Change Source of Installation". Add HTTP packman.iu-bremen.de
with directory of suse/9.3. Move that entry so that it is ahead
of your primary 9.3 installation source. Now you can update your
kaffeine, and install xine-ui and libxine* using the newer packaman
versions. Dependencies will be handled by YaST.
The bad news is that there is no longer a pre-built kwin-shadow rpm
for SUSE 9.3. The developer says that now that xcompmgr is
supported, there is no need for kwin software generated window shadows.
BUT, since the transparency and shadow support in xorg and Nvidia
has numerous bugs yet. So no easy way to have stable shadows on
KDE yet.
6. Xorg.conf
Everyone always want to see it... so here goes...
(A twinview version x.org config)
# /.../
# SaX generated X11 config
file
# Created on:
2005-05-20T01:30:49-0500.
#
# Version: 4.8
# Contact: Marcus Schaefer
<sax@suse.de>, 2002
#
# Automatically generated
by [ISaX] (4.8)
# 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"
FontPath "/opt/kde3/share/fonts"
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 "ServerFlags"
Option "AllowMouseOpenFail"
EndSection
Section "Module"
Load "dbe"
Load "type1"
Load "freetype"
Load "extmod"
Load "glx"
Load "v4l"
EndSection
Section "InputDevice"
Driver "kbd"
Identifier "Keyboard[0]"
Option "Protocol" "Standard"
Option "XkbLayout" "us"
Option "XkbModel" "inspiron"
Option "XkbRules" "xfree86"
EndSection
Section "InputDevice"
Driver "mouse"
Identifier "Mouse[1]"
Option "Buttons" "5"
Option "Device"
"/dev/input/mice"
Option "Name" "Logitech
Optical Mouse"
Option "Protocol"
"explorerps/2"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Driver "synaptics"
Identifier "Mouse[3]"
Option "AccelFactor" "0.04"
Option "BottomEdge" "650"
Option "CircScrollDelta"
"0.1"
Option "CircScrollTrigger"
"2"
Option "CircularScrolling"
"1"
Option "Device"
"/dev/input/mice"
Option "EdgeMotionMaxSpeed"
"15"
Option "EdgeMotionMinSpeed"
"15"
Option "Emulate3Buttons" "on"
Option
"EmulateMidButtonTime" "75"
Option "FingerHigh" "15"
Option "FingerLow" "14"
Option "HorizScrollDelta"
"20"
Option "InputFashion" "Mouse"
Option "LeftEdge" "120"
Option "MaxSpeed" "0.5"
Option "MaxTapMove" "110"
Option "MaxTapTime" "180"
Option "MinSpeed" "0.2"
Option "Name" "ALPS;Touchpad"
Option "Protocol" "auto-dev"
Option "RightEdge" "830"
Option "SHMConfig" "on"
Option "TopEdge" "120"
Option "UpDownScrolling" "1"
Option "Vendor" "Sysp"
Option "VertScrollDelta" "20"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
Option "CalcAlgorithm"
"CheckDesktopGeometry"
DisplaySize
360 270
HorizSync 28-90
Identifier "Monitor[0]"
ModelName "1920X1440@60HZ"
VendorName "--> VESA"
VertRefresh
50-60
UseModes "Modes[0]"
EndSection
Section "Modes"
Identifier "Modes[0]"
Modeline "1920x1200" 186.57 1920
2048 2256 2592 1200 1201 1204 1241
Modeline "1900x1200" 184.26 1904
2024 2232 2560 1200 1201 1204 1241
Modeline "1680x1050" 141.09 1680
1784 1960 2240 1050 1051 1054 1086
Modeline "1600x1200" 155.47 1600
1704 1880 2160 1200 1201 1204 1241
Modeline "1600x1024" 131.69 1600
1704 1872 2144 1024 1025 1028 1059
Modeline "1600x1000" 127.62 1600
1696 1864 2128 1000 1001 1004 1034
Modeline "1400x1050" 118.42 1400
1488 1640 1880 1050 1051 1054 1086
Modeline "1440x900" 102.81 1440
1520 1672 1904 900 901 904 931
Modeline "1280x1024" 105.15 1280
1360 1496 1712 1024 1025 1028 1059
Modeline "1280x960" 97.68 1280
1352 1488 1696 960 961 964 993
Modeline "1280x800" 80.58 1280
1344 1480 1680 800 801 804 827
Modeline "1280x768" 77.37 1280
1344 1480 1680 768 769 772 794
Modeline "1152x864" 78.82 1152
1216 1336 1520 864 865 868 894
Modeline "1024x768" 61.89 1024
1080 1184 1344 768 769 772 794
Modeline "800x600" 36.88 800 832
912 1024 600 601 604 621
Modeline "768x576" 33.74 768 792
872 976 576 577 580 596
Modeline "640x480" 23.06 640 656
720 800 480 481 484 497
Modeline "1920x1440" 234.00 1920
2048 2256 2600 1440 1441 1444 1500 -HSync +VSync
EndSection
Section "Screen"
DefaultDepth 24
SubSection "Display"
Depth 15
Modes "1600x1200"
EndSubSection
SubSection "Display"
Depth 16
Modes "1600x1200"
EndSubSection
SubSection "Display"
Depth 24
Modes "1920x1200"
"1900x1200" "1680x1050" "1600x1200" "1600x1024" "1600x1000" "1400x1050"
"1440x900" "1280x1024" "1280x960" "1280x800" "1280x768" "1152x864"
"1024x768" "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 32
Modes "1600x1200"
EndSubSection
SubSection "Display"
Depth 8
Modes "1600x1200"
EndSubSection
Device "Device[0]"
Identifier "Screen[0]"
Monitor "Monitor[0]"
EndSection
Section "Device"
BoardName "Quadro FX Go1400"
BusID "1:0:0"
Driver "nvidia"
Identifier "Device[0]"
VendorName "NVidia"
EndSection
Section "ServerLayout"
Identifier "Layout[all]"
InputDevice
"Keyboard[0]" "CoreKeyboard"
InputDevice
"Mouse[1]" "CorePointer"
InputDevice
"Mouse[3]" "SendCoreEvents"
Option "Clone" "off"
Option "Xinerama" "off"
Screen "Screen[0]"
EndSection
Section "DRI"
Group "video"
Mode 0660
EndSection
Section "Extensions"
EndSection
|