Gentoo and a Dell M65 Laptop
This is waaaaaay out of date. I wrote this up awhile ago, during a time when my site was “dead.” There are so many things wrong with this, I probably shouldn’t even post it now. For example, let’s take the very first point: There are no “suspend2″ kernel sources in the x86 portage tree any more. However, it may still help someone somewhere, and I want it here for completeness.
Hardware
Sleep / Hibernate
I’m using the “suspend2″ kernel sources, which (supposedly) has all the latest, greatest support for suspending and hibernating. I’m also using the USE flags “acpi,” “dell” in /etc/make.conf. See the example file in Appendix A. Additionally, I’ve emerged “latop-mode-tools,” though I’m not sure what that’s doing for me.
Because of how I use my laptop — moving between stand-alone use and docked with an external monitor — I may as well just use regular sources, since X can’t handle this. Therefore, suspending doesn’t do much for me. Then again, if I just don’t use it, it’s not doing much against me, either.
Speedstep CPU Frequency Throttling
I’ve compiled the “acpi_cpufreq” module. I’d rather have it built into the kernel, but it doesn’t seem to work that way. Additionally, it doesn’t automatically load at boot, so I have to add that module to /etc/modules.autoload.d/kernel-2.6. I’ve compiled all the “governors” into the kernel, though, and, once the module is loaded, the CPU frequency Gnome applet can see all of them.
Battery/AC Switching Support
I compiled all the ACPI kernel modules, but they don’t seem to load automatically. I just added them all to /etc/modules.autoload.d/kernel-2.6: ac, button, fan, thermal, container, battery, dock, processor, video. After this, the battery toolbar applet will start working. I guess it will also enable fun stuff like suspending on lid closure, but I haven’t tried that as yet.
Wireless
My laptop has a Broadcom-based BCM4310 wireless card. It needs binary firmware to work. Emerge “bcm43xx-fwcutter.” Download the firmware and run the utility to “cut” the proper section out of it. (It will be placed in the appropriate place on the filesystem by the utility.) Once this is done, the firmware will be picked up when the kernel loads the bcm43xx module.
I’ve also emerged and use “NetworkManager,” which is both a service and a Gnome applet for choosing networks with a minimum of hassle. It will change your hostname to whatever the DHCP server gives it, which will screw up Gnome. You can fix this by editing /etc/dhcp/dhclient.conf as per the Gentoo Wiki.
nVidia Video Card
My laptop has an nVidia FX 350M video chipset. Emerge “nvidia-drivers” and then use the “nvidia” driver in /etc/X11/xorg.conf. I’ve also used the “TwinView” feature of the driver to mirror the display on the DVI port. See the configuration file in Appendix B.
Note there’s a lot of info on how to configure an AGP-based nVidia card for optimum performance (as on the M60), but the M65 has PCI-e, and all that can (apparently) be ignored.
I’ve edited /etc/modules.d/nvidia:
options nvidia NVreg_SoftEDIDs=0 NVreg_Mobile=0xFFFFFFFF
I have not tried to switch the display between the LCD and the external port, like you would do for an external projector.
I haven’t found a way to get X to automatically reconfigure when putting the machine in a dock, and using a differently-resolutioned external LCD. When I try this, I just get a black screen, and have to forcefully reboot.
UPDATE: xorg 1.4 might fix this.
USB Removable Drive Support
Most of this just works, except that you need to add your user account to the “plugdev” group so that you can write to the devices and eject them.
Bluetooth
I just emerged “gnome-bluetooth,” since I use Gnome, and this pulls in all the dependencies. I edited /etc/conf.d/bluetooth with the following:
HIDD_ENABLE=true HIDD_OPTIONS="--connect 00:07:61:6D:CA:BF --server"
(That bluetooth “MAC” is for my mouse.)
DVD Burning
I haven’t tested this. I assume it “just works.”
Sound
My laptop has an Intel High Definition Audio chipset. I compiled the kernel module, set ALSA_CARDS=”hda-intel” in /etc/make.conf, and emerged “alsa-lib.” Control is limited. (I liked having a seperate volume control for the speakers versus the headphone jack on my M60.)
IR Port
By default, the IR port is disabled in the BIOS. Switch that on. Then, make sure that you compile the IR modules in the kernel. The module, “irtty_sir,” will work. Put the users you want to access the port in the “uucp” group, which is the group associated with the serial devices. Edit /etc/conf.d/irda and change the device to the proper serial port, probably ttyS1. Emerge “openobex.” Use `irobex_palm3′ to receive files over the port.
Smart Card Reader
There’s a “Micro, Inc. Oz776 SmartCard Reader” device that shows up in an `lsusb’, but I don’t know to what it refers. I don’t seem to see a card reader on the machine.
Sensors
I’ve emerged lm-sensors, and done the `sensors-detect’, but I can’t find any sensors on this laptop. This doesn’t make sense, so I’m still open to what’s happening here.
I8K Dell Laptop Module / Dell Systems Management Base Driver
I saw that there’s an “i8k” module specifically for Dell laptops in the kernel sources. I built it, but it won’t load on my machine. You can force it with “force=1″, but I don’t know what it does anyway.
On the other hand, I enabled the “Dell Systems Management Base Driver” in the firmware section, and it loads into the kernel just fine. I think this gets used by the various ACPI modules, but I’m not clear on that.
Others
-
Synaptic Touchpad: Tried. Couldn’t get it. Don’t care.
-
Modem: I guess it might be nice for completeness, but it’s a “winmodem,” and it’s not going to work under Linux.
-
Firewire: Don’t have anything that uses it.
-
PC Card Slot: Don’t have anything that uses it.
-
EC Card Slot: Might be nice to get an extra video card…
Software
Exchange Server Support
You can access and Exchange server through Evolution by emerging “evolution-exchange.” You’ll need to make sure that the plugin is enabled in Evolution. If you want address completion, you can find out what server is providing this information to Outlook on Windows by right-clicking on the address list and looking at its properties. Put that in as the “GAL Server” in the Exchange service, and then make sure that this contact list is enabled for automatic address completion checking.
VPN Support
The company’s Juniper-based OpenSSL-encrypted VPN works just fine on Gentoo. The only thing needed is the “tun” kernel module, which is used, curiously, for “tunneling” TCP traffic. After that, you can just visit the web page and be off and running. Note that it still complains about failing an RPM check for openssl, but it seems to ignore this problem.
UPDATE: Something’s gone hosed here. For a time, my desktop worked, and my laptop didn’t. Now my desktop doesn’t either. So, some update has screwed this up, but I don’t know what it is. I’ve played around with a lot of options here, including the obvious ones regarding Java, but I don’t have a clue. The connection will work for a few seconds, and then just stop. It will stay connected, but it stops receiving packets.
VMware Server
For some reason, on my laptop (as opposed to my home workstation), the permissions don’t get set correctly. The GUI will (basically) tell you what the problem is, though, so it’s not hard to fix, except that you’ll probably have to fix it again if they don’t address this in the newer ebuilds:
chmod 4750 /opt/vmware/server/lib/bin-debug/vmware-vmx chgrp vmware /opt/vmware/server/lib/bin-debug/vmware-vmx
UPDATE: Fixed in later ebuilds.
Samba (for VMware)
Because this machine runs both Windows and Linux, I have a partition formatted as FAT32 to share my data between both systems. This is just a private Samba server, which will serve out my /data volume to VMware Server. (VMware Workstation has this sort of ability built-in.) I limit it to the host-only network in between the host and VM’s. Note that you’ll have to make a user account with `smbpasswd -a <username>’ in order to log in.
I also use “swat” to allow me to edit the config from a browser. This requires “xinetd” to be installed and running, and the creation of a Samba-based “root” account.
Case-Independent Filename Sorting
This is just something that I got used to when trying Ubuntu. Now I don’t want to live without it. There seems to be a facility to get this going machine wide in /etc/env.d/02locale, but it doesn’t actually do anything. I wonder if I’m doing something wrong. Anyway, I just put the following in ~/.bashrc, and everything uses it while logged into my account:
export LANG=en_US.UTF8 export LC_ALL=en_US.UTF8
(That’s probably the more-correct way of doing it anyway.)
Automatic NFS Share Mounting
I like “autofs,” however, the module isn’t included in even the genkernel builds. You have to add the “autofs4″ module. It will load automatically. After this, you can just uncomment the “/net” line in /etc/autofs/auto.master, and set the service to start automatically. Then you can browse to /net/<machine>/<share> and it will just magically work (if you have permissions to the share).
Kill the Console Beep
I really hate this. I have no idea why anyone would want it. Uncomment the “set bell-style none” line in /etc/inputrc.
Avoid KDE Emerge Hassle
Some of my choices bring in parts of KDE, and I have a hard time avoiding conflicts with the full builds and the split builds. I just set “-kde” in the USE line of /etc/make.conf. With this set, packages like “amarok” can still be emerged, but this won’t subsequently try to pull in all of KDE. (I like KDE just fine, but I prefer Gnome, so I wind up never using it.)
Beryl (Eye Candy)
At the time of this writing, there are several packages that have to be pulled in from the unstable branch (~x86) to make this work. I don’t use it all the time (it’s just too slow, on my hardware, at least), but it’s cool to show other people.
-
x11-drivers/nvidia-drivers
-
x11-wm/beryl
-
x11-wm/beryl-core
-
x11-plugins/beryl-plugins
-
x11-misc/beryl-settings
-
x11-misc/beryl-settings-bindings
-
x11-misc/beryl-manager
-
x11-wm/heliodor
-
x11-wm/emerald
-
x11-themes/emerald-themes
Default File Handlers
If there’s a file association you want to change (say, to get .tcl files to open in gVim), just right-click the file, choose Properties, and then the “Open With” tab, and change it there.
Graphical Boot (gensplash)
This looks really cool, and I’d like to get it going, but it’s been a big hassle when I’ve tried it in the past. Maybe I’ll revisit this later.