Friday, April 08, 2005

3D-Desktop

I saw this cool looking piece of software here and had to have it.

I downloaded and untarred the source code for 3D-Desktop, but the configure script whined about some libraries that weren't found. I installed xlibmesa-gl-dev and libimlib2 and the configure script didn't puke any more, but the thing still doesn't compile. More later.

Well, I looked at the compile command generated by autoconf, installed the newest versions of all the libs required, re-ran configure and then tried compiling again. It worked. Now I have a fun carousel for switching my desktops!

Friday, February 11, 2005

Viewing DVDs

Well, as is the case with every Linux distro I've heard of, you can't play your movies without adding some extra packages, due to the Hollywood Gestapo. Here's what I had to do to watch my flicks on my computer.

  1. add deb ftp://ftp.nerim.net/debian-marillat/ unstable main to sources.list
  2. apt-get install libdvdcss2
  3. uncomment the lines in /etc/apt/sources.list to allow downloading from additional repositories deb http://archive.ubuntu.com/ubuntu/ warty universe deb-src http://archive.ubuntu.com/ubuntu/ warty universe
  4. install totem-xine (requires removal of two packages)
  5. install xine-ui if you want to use Xine instead of/as well as Totem.

(12 Feb.) This was working last night, but now the sound refuses to work. Also, Totem has a bug that only allows playback of discs that aren't already mounted. If the disk was mounted before choosing to play it (even if it was mounted by Totem), it pukes.

Saturday, February 05, 2005

Other Stuffs...

Java

Got the JDK. Followed the instructions here.

Eclipse

Downloaded Eclipse from eclipse.org. Unzipped to /usr/local/. Ran without further setup.

MP3 Support

XMMS plays MP3 files. Rhythmbox is being a pain. I found a post that said to run gst-register-0.8 and then log out and back in and Rhythmbox should do MP3s. I'll try that.

I tried it, but it doesn't work. I'll keep trying things and post what I finally get to work.

Finally! Video!

Wow! This has turned out to be a huge problem, but I think I've finally got it fixed. First the solution: a script that gets run at boot time at priority 19. Here's the script:

#!/bin/sh modprobe rivafb rmmod rivafb modprobe nvidia

Not much to it, but it gets the job done. I created the file, called it local, and copied it to /etc/init.d/. Then I did the command:

update-rc.d local start 19 2 3 4 5 .

to make it run at boot time in runlevels 2-5. (Note the period on the end. It's syntactically important.)

One question you might be asking yourself is, "Why does he run modprobe rivafb before rmmod rivafb?" Great question. When I tried it without modprobe-ing first, it just puked and whined about there not being any such module loaded. I'm definitely no kernel expert, but it appears that some config or config check is broken and reporting to the nvidia module that rivafb is loaded, even though it's not. Cycling the loaded-ness of the module seems to get things working. Whatever the cause, this kludge fixes it.

Whew! It's been a long day.

Video

Because NVidia's video driver is not open-source, most distros don't package the NVidia driver at all. It's up to the end user to download and install it. No problem, I've done this many times before with the installer available from NVidia's web site. This time, however, having had luck with Trae's instructions for the sound card, I thought I'd follow his instructions for video, too. From his site:

"In order to get nvidia drivers working on my Mom's Dell Inspiron 8200 using Ubuntu Linux, I had to do the following:

apt-get install nvidia-glx apt-get install nvidia-settings apt-get install linux-restricted-modules-(KERNEL)

then you want to:

nvidia-glx-config enable

Reboot, and that should work. (you may have to hand edit your /etc/X11/XF86Config-4 file to change it from nv to nvidia.

Good luck!"

After installing nvidia-glx and nvidia-settings, my system informed me that linux-restricted-modules-2.6.8.1-3-386 was already installed and the newest version. Good enough. Unfortunately, when I try to restart gdm (and X), it won't come back up. I don't know exactly what the problem is, but Trae's setup didn't exactly work for me. Back to the old-school, apt-less way, I guess.

After downloading NVidia's installer, running it, and letting it compile its own kernel module, it informed me that the NVidia driver would conflict with the rivafb module that the kernel was loading at startup. Still, I ran killall -HUP gdm and X came up using the nvidia driver (which I specified in /etc/X11/XFree86-4. Unfortunately, upon reboot, it still won't start X. Apparently, the NVidia installer is doing something behind the scenes that allows the driver to work right.

Sound

Getting the sound working was a little more foreign to me. With every previous disto I had installed on my laptop, sound had worked right out of the box. Luckily, I found a web site and a friend--both with some kernel-hackery tips. From Trae McCombs' web site:

"In order to get sound working on my Mom's Dell Inspiron 8200, using Ubuntu Linux, I had to do the following:

edit /etc/hotplug/blacklist
add snd_intel8x0m

edit /boot/grub/menu.lst add # kopt=root=/dev/hda1 ro acpi_irq_isa=7

make SURE you leave in the #

run update-grub

That should do it!"

After following these steps, the gdm screen started making a drumbeat sound, but there were still no sounds after logging in. Byron Clark, our resident kernel genius, suggested that I check the permissions on /dev/dsp and /dev/snd. Doing so showed that they were owned by root and belonged to the audio group. I added myself to the audio group and Viola! I had sound.

Wireless

My first goal was to tackle the wireless NIC. I'll need this at work on Monday, but I can live without sound for a while. With FC2 I had been using LinuxAnt's DriverLoader module (wrapper for the stock WinXP drivers). I tried this first, with the same setup as I had used with FC2. The wrapper seeemed to work and Ubuntu's wireless panel icon lit up, indicating that the system was aware of the card. I couldn't ever get connected to my access point, though. I decided to try ndiswrapper instead.

Ndis Project Page

I simply downloaded the .deb file (download file), installed it (sudo dpkg -i ndiswrapper-source_1.0-1_i386.deb), and followed the Debian install instructions and the general installation instructions. The most important parts were the post-install configurations. Here are the commands I ran:

sudo dpkg -i ndiswrapper-source_1.0-1_i386.deb cd /usr/src/ sudo tar -xzf ndiswrapper-source.tar.gz cd modules/ndiswrapper/ sudo fakeroot debian/rules binary sudo dpkg -i ../ndiswrapper*.deb cd {path to windows driver} sudo ndiswrapper -i bcmwl5.inf sudo modprobe ndiswrapper sudo iwconfig wlan0 mode Managed sudo iwconfig wlan0 key restricted s:{password} sudo iwconfig wlan0 essid {ap-name} sudo ndiswrapper -m

This last command is supposed to make the ndiswrapper module load automatically or something. The documentation isn't very clear on that. See man ndiswrapper.

Then I created an intrface for the card using the stock Network Admin tool (sudo network-admin). OnceI created a script that does the iwconfig stuff and starts the interface for me:

#!/bin/bash modprobe ndiswrapper iwconfig wlan0 mode Managed iwconfig wlan0 essid bonanza iwconfig wlan0 key restricted s:mypassword /sbin/ifup wlan0

I put this in a file called wireless-home. I'll make another one with different settings for the network at work. For now, I enable the wireless card with

brent@laptop:~ $ sudo ./wireless-home

One important thing to notice in the script is the s: before my password. That instructs iwconfig that the password is ASCII character instead of hex. Now my wireless works!