Sofware in Review
Tech news
at TheJemReport.com
Software reviews
at SoftwareinReview.com
Hardware reviews
at HardwareinReview.com
Discuss technology
at TJRForum.com
Sofware in Review → Linux/BSD hacking → Linux optimizations →

Hacking openSUSE 10.2

By Jem Matzan

Novell's openSUSE 10.2 is an exciting desktop operating environment that includes or supports nearly every program you need for work and play. But there are those last few programs and issues that make openSUSE just short of perfect. Web browser plugins for some kinds of online content; MP3, Windows Media, and DVD movie playback support; and drivers for Atheros wireless devices and Nvidia and ATI video cards are the chief things holding openSUSE back for some users. This guide will help you remove as many of those barriers as possible.

Is this the right version of Hacking SUSE?

This guide is for openSUSE 10.2. If you are looking for a previous or future version of this guide (SUSE Linux 10, 10.1, 10.3, or SUSE Linux Enterprise Desktop 10), you can find them in this directory listing of how-to articles on Software in Review.

Why you need this guide

openSUSE 10.2 -- as the name implies -- is comprised entirely of open source software. This guide primarily tells you how to install proprietary add-ons for which there are currently no free replacements. Generally this will require you to agree to restrictive software licenses. The DVD playback capabilities are in violation of the U.S. Digital Millennium Copyright Act (and similar laws in other countries), which many believe to be unconstitutional, unethical, silly, and a violation of consumer fair use rights (Click here for more information on DMCA reform). In other words, installing the DVD decoding software could be illegal where you live; therefore I'm not suggesting that you do it if it is, but the instructions are still here for educational and informational purposes, and for those who live in areas where DeCSS is legally acceptable.

Furthermore, if you morally disagree with proprietary software and refuse to use it, this guide will be meaningless to you.

Before you install

If you are coming to this guide before installing openSUSE 10.2, you can make post-install configuration easier for yourself by downloading the Extras CD in addition to either the openSUSE CD set or the DVD. If you did not download this ISO and have not installed SUSE yet, go ahead and get it now from the openSUSE download page. Note that there is only one disc for both the 32-bit and 64-bit editions of openSUSE; this is because the proprietary extras are mostly 32-bit and will work with a 32-bit build of Firefox in the 64-bit edition. Issues related to bit-ness are addressed below where applicable.

To add the Extras CD during installation, click the checkbox next to Include Add-On Products from Separate Media in the Installation Mode screen (it's after the license agreement), then follow the directions for adding the Extras CD. If you skip this step, you will have to restart the computer to get back to it -- there's no "Back" functionality for this screen. Near the end of the installation process you will be asked to set up some update servers. Most of that process is automatic, but you will be asked to look at a list of three installation sources and click the checkboxes for the options you want. Make sure you have marked the checkboxes for the /repo/oss/ and /repo/non-oss/ servers (these should be the first and third items in the list). Be warned that this entire repository installation process may take a long time -- anywhere from 30 minutes to more than an hour, even on a high-speed connection -- and you may have to retry some parts of it several times before they completely download. In some instances this process will fail; there is a section below that tells you how to fix it after installation is complete.

If you've already installed openSUSE, don't bother downloading the Extras CD unless you plan on reinstalling -- just add the non-oss directory to your YaST software sources as directed below.

Prerequisites

This guide assumes you are using the traditional SUSE desktop environment, KDE. If you're using GNOME or a window manager, you're on your own as far as getting to the YaST utility and any other KDE-specific instructions. The majority of the information in this guide is environment-agnostic and you should be able to easily figure out how to translate the few KDE-specific steps.

Hacking openSUSE 10.2 applies only to the x86 and AMD64/EM64T processor architectures. It does not cover the PowerPC architecture. If someone who has such a machine is willing to contribute a section specific to PPC, please email me at jem at thejemreport.com.

The "CD not found" error before installation

If you have a Core 2 Duo-capable motherboard and are getting an error message about the installer not being able to find the CD/DVD after you have already booted from it, the problem is likely with your IDE controller. In some modern motherboards, the parallel ATA controller has been taken out of the chipset and moved to a third-party drive controller. That third party is JMicron, and this problem most famously occurs in the Asus P5B motherboard, though other brands and models can be affected as well.

First, it will help to do a quick workaround in your BIOS. Press the Del, F1, or F2 key to get into your system BIOS just after powering it on. There should be a message somewhere on the screen that tells you which key to press; if you are not sure, press all three repeatedly and you're sure to get there. Somewhere in the BIOS setup you should see an option for the JMicron drive controller ("Onboard Devices" in the P5B BIOS menu). Set it to AHCI mode, then save and exit the BIOS setup utility.

Boot from the openSUSE 10.2 CD 1 or DVD. You'll still get the same message, but now you're better enabled to work around it. Press Enter to get past the error message, then choose your language in the following screen. That will bring you to the main menu. Use the down arrow key to select the Kernel Modules option and press Enter. In the next screen press Enter again to select the default option for IDE/RAID/SCSI Modules. In the long list that follows, find both the JMicron and the Generic IDE drivers, select them, press Enter, then press Enter again when you're asked for special options to pass to them. You will have to do this twice -- one time for each driver. When you return to the kernel module screen, use the Tab or arrow keys to select Back, and press Enter. That should put you back into the Main Menu. Now select the option for Start Installation or System and press Enter, then select Start Installation or Update and press Enter, and lastly select the CD-ROM as the source and press Enter. The normal graphical installation procedure will commence.

If the above does not work, write down installation source mirror addresses from the link in the installation source section below and use them to install openSUSE over FTP. The only difference in the procedure will be to change the above instructions to select FTP instead of CD-ROM as the source.

Adding sources to YaST

By default, openSUSE 10.2 adds online software repository sources to YaST; previously you had to do this manually. There are still several third-party sources that may need to be added to bring your computer up to speed, though.

To add sources, go into the YaST utility by clicking on the green chameleon menu icon in the lower left corner of your screen. Select the Computer tab, then scroll up and click on Administrator Settings (YaST). You'll be prompted for your root password. Go ahead and type it in and press the Enter key.

You're now in YaST, and the Software category is already selected by default. Click on the Installation Source icon. This will bring up a window that will allow you to add software repositories so that you can download add-on software. You'll notice that your CD or DVD installation media is already listed, along with Web-based sources for OSS and non-OSS software and software updates. Make sure that "On" is listed in the Status field for your OSS and non-OSS Internet sources. If it is not, select the source, then click on the Source Settings button, then select Enable or Disable.

To add a source, click the Add button, then click on HTTP in the popup menu. Add the following Internet addresses to the Server Name field and then click on OK (follow the directions below for the sections that apply to your situation):

Windows Media, MP3, and DVD playback support

Add this address:

packman.unixheads.com/suse/10.2

You can also select a mirror from this list if the above address doesn't work or is too slow, or if you are not in the United States.

When you add the above address and click Next, a warning message about an unknown GPG key will come up. Click the checkbox next to Do Not Show This Message Again and click Yes. The next screen will ask if you'd like to import the aforementioned GPG key. Click Import.

Atheros wireless network devices

Add this address:

madwifi.org/suse/10.2/

When you add the above address and click Next, a warning message about an unknown GPG key will come up. Click the checkbox next to Do Not Show This Message Again and click Yes. The next screen will ask if you'd like to import the aforementioned GPG key. Click Import.

Nvidia graphics cards

Click the radio button next to FTP, then add this address:

download.nvidia.com/opensuse/10.2/

When you add the above address and click Next, a warning message about an unknown GPG key will come up. Click the checkbox next to Do Not Show This Message Again and click Yes. The next screen will ask if you'd like to import the aforementioned GPG key. Click Import.

ATI graphics cards

Click the radio button next to HTTP, then add this address:

www2.ati.com/suse/10.2/

When you add the above address and click Next, a warning message about an unknown GPG key will come up. Click the checkbox next to Do Not Show This Message Again and click Yes. The next screen will ask if you'd like to import the aforementioned GPG key. Click Import.

Adding distribution software sources

If you did not have an Internet connection when you installed openSUSE, if the registration of update servers failed, and/or if you did not use the Extras CD, you will need to add some Internet installation sources. While it may be automatic and convenient during the installation process, there is no documented way of getting YaST to set up sources on its own. To do it manually, find a local mirror in this list, and in the table for the mirror closest to you, copy-and-paste the link addresses for Installation Repository and Addon-NonOSS-Installation Repository into the YaST Installation Source screen (minus the "http://"). It will take several minutes for these to register with your system. Once they're in, make sure Status is set to "On." At this point you can disable the CD installation sources by clicking the Source Settings button and then clicking on Enable or Disable from the drop-down menu.

To register an update server, click on Online Update Configuration in YaST's Software section. This process is automatic and requires only some obvious button-clicking on your part.

Installing the extras

When you're done adding sources, click the Finish button in the lower right corner. The new server addresses will synchronize with the ZEN Management Daemon, then the Installation Source window will close, bringing you back to YaST. Click on Software Management. When you get to the next screen, you'll see a search box and a big empty field on the right side of the window. In the search box, type in the search terms below and select the following packages that apply to your situation. When you've selected all of the packages you want to install, click on the Accept button to install them unless otherwise directed:

The Flash, Java, and RealPlayer browser plugins

These are all installed by default if you used the Extras CD. If you did not, then add the installation sources as instructed above, and search for and mark the following packages for installation in the YaST Software Manager:

  • flash-player
  • realplayer
  • java-1_5_0-sun
  • java-1_5_0-sun-plugin

Proprietary audio and video codecs, and DVD playback capabilities

Type in "w32" and press Enter. In the right-hand field, mark the w32codec-all package for installation.

Go ahead and complete the software installation screen by clicking the Accept button. As soon as the process is complete, right-click on the ZENworks update icon in the lower right. It should look like a blue globe or an orange circle with an exclamation point in the middle (if there are updates waiting). In the small popup menu, click on Refresh. If you have not yet applied any updates to your system, you will be asked to add a privileged user at this point; follow the simple directions for completing this process and then click Refresh again. As soon as ZENworks is done polling the new server addresses you added, it will show some updates. Go ahead and install all updates by clicking on the ZMD icon again (it should be an orange circle now) and go through the obvious steps to apply the updates. You may notice that the xine-lib or totem-plugin packages are slated for removal; this is normal and expected.

The last step is to add a DVD decoder. 32-bit users can do this by downloading the following RPM: http://download.videolan.org/pub/libdvdcss/1.2.9/rpm/libdvdcss2-1.2.9-1.i386.rpm. Right-click the link and save it to your desktop, then right-click it on your desktop, select the Actions section of the popup menu, then click on Install software with YaST. Theoretically you should be able to open it with "Install Software" as well, but that method does not seem to work for some people.

Log out, then log back in again and you should be able to play DVD movies.

DVD playback on 64-bit machines

Instead of the 32-bit RPM listed above, you must download the DeCSS source code and compile it yourself. So right-click the following link and save it to your desktop: http://download.videolan.org/pub/libdvdcss/1.2.9/libdvdcss-1.2.9.tar.gz

Now open a Konsole terminal by going to your chameleon main menu, then clicking on Applications, then System, then Terminal (you may have to scroll down the list a little to see it), then Terminal Program (Konsole). A Konsole window will come up. In it, type this command to switch to the Desktop directory:

cd ~/Desktop

Now you need to switch to root permissions:

su

It'll ask for your root password -- go ahead and type it in, then press Enter. Next, decompress the file you just downloaded:

gzip -d libdvdcss-1.2.9.tar.gz

Then unpack it from its archive by using this command:

tar xvf libdvdcss-1.2.9.tar

The file will un-tar to its own directory, so you can now safely delete the tar archive:

rm libdvdcss-1.2.9.tar

Now you need to compile the DVD decoding library. Change to the directory first:

cd libdvdcss-1.2.9

And then run the configure program with this command (don't leave out the dot and slash):

./configure

When it's done configuring, run the make command to build the files (if you don't have make or gcc installed, stop here and add them via YaST):

make

Finally, it's time to install the library:

make install

You can now safely delete the libdvdcss directory:

cd .. && rm -rf ./libdvdcss-1.2.9

You now have DVD playback support. It won't work until your library path is updated. There are a variety of ways to do that, but the easiest is just to restart your computer.

The Adobe Acrobat and Totem browser plugins

WARNING: There is a reason why this section is where it is in this guide. If you added the Packman repo in a previous step, you probably had to remove the browser plugin for your video player. I said that this was expected before; now you are going to fix the problem.

Search for acroread and press Enter. Click the checkbox next to the acroread package in the right-hand pane.

Search for totem-browser-plugin and install it. Do not install the totem-plugin package; that is the old, broken package that doesn't do Windows media files. Theoretically you could install the vlc-plugin instead, but it seems to have more package overhead than the Totem plugin, especially for GNOME users. Use whichever you want -- they both do the same thing. The MPlayer plugin is no longer available through Packman for openSUSE.

64-bit browser plugins

64-bit users will have some trouble with the Java and video browser plugins because they are 64-bit by default, whereas Firefox in openSUSE is 32-bit by default so that it can better support proprietary plugins. I haven't had much luck trying to install i586 RPMs for these plugins in 64-bit openSUSE, but I did find that using the 64-bit version of Konqueror solved nearly every problem. Anything that wouldn't play or run in Firefox would play or run in Konqueror. Since Java Web applets are fairly rare, and most video sites are currently publishing in Flash or offer RealPlayer as an alternative, I suggest using Firefox for most things, and Konqueror (or Epiphany in GNOME) when Firefox can't play something.

Atheros drivers

Type in "madwifi" and press Enter. In the right-hand field, click the checkboxes next to these packages:

  • madwifi
  • madwifi-kmp-default

Click Accept or skip down to the next appropriate heading to install more packages. You may be asked to agree to a license; you know the drill here.

Now that you have the driver installed, you have to load the driver modules. You can do this from the command line by typing sudo modprobe ath_pci and pressing Enter, or you can simply shut down and restart the computer.

Next, go into YaST again and click on the Network Devices tab on the left. Click on Network Card on the right. When the setup screen appears, click the radio button next to the User Controlled with NetworkManager option (it may be selected by default, depending on what method you selected during installation), then click Next.

The next screen shows you a list of network cards. If you have a wired connection, it will already be shown as configured if you used it during installation. Your wireless network card will be shown as Not configured in the list, and it'll be named by its brand, model, and chip name. Click on the Atheros-based device, then click Edit. Click Next unless you have a static IP address, in which case you should know what to do here.

The next screen sets the ESSID name and encryption options. If you have an open wireless access point, just click Next here, then click Yes, then click Finish -- you're done! If you have a restricted network, put in the appropriate settings here, then click Next, then Finish.

To change between wired and wireless, or to change to a different wireless network, click the KNetworkManager in the lower right corner. It's usually between the clock on the Klipper icon, and resembles either a signal meter or a graphical representation of whatever device (wired or wireless) is connected. If there is no connection, it appears as an X.

Nvidia video drivers

Search for nvidia and mark the following packages for installation:

  • nvidia-gfx-kmp-default
  • x11-video-nvidia

Click Accept or skip down to the next appropriate heading to install more packages. You may be asked to agree to a license; you know the drill here.

Now open a Konsole terminal by going to your chameleon main menu, then clicking on Applications, then System, then Terminal (you may have to scroll down the list a little to see it), then Terminal Program (Konsole). A Konsole window will come up. In it, type this command to switch to root permissions:

su -

(The dash after the su command gives you the root user's environment path). Once you type in your root password, type in this command to load the module you just built (restarting your computer will do this automatically):

modprobe nvidia

Close all open programs, then press Ctrl-Alt-Backspace to restart the X.org server. You should now have hardware 3D acceleration.

ATI video drivers

Search for fglrx and mark the following packages for installation:

  • ati-fglrxG01-kmp-default
  • x11-video-fglrxG01

Click Accept or skip down to the next appropriate heading to install more packages. You may be asked to agree to a license; you know the drill here.

You can either restart your computer for the new video driver to take effect, or follow the rest of the directions in this section: Open a Konsole terminal by going to your chameleon main menu, then clicking on Applications, then System, then Terminal (you may have to scroll down the list a little to see it), then Terminal Program (Konsole). A Konsole window will come up. In it, type this command to switch to root permissions:

su -

(The dash after the su command gives you the root user's environment path). Once you type in your root password, type in this command to load the module you just built (restarting your computer will do this automatically):

modprobe fglrx

Now you need to update openSUSE's configuration to use the new driver. To do that, go to YaST's Hardware section and click on the Graphics Card And Monitor option. This will bring up the SaX2 configuration utility. In the SaX2 window, verify your monitor settings, make sure the Activate 3D Acceleration box is checked, then click OK. You'll be prompted to restart the graphical server. Close all open programs, then click Save. You should now have hardware 3D acceleration.

The End

And that's all you need to do to make openSUSE into a maximally useful desktop operating environment. Aside from running Windows and OS X binaries, openSUSE 10.2 can do everything that proprietary operating systems can and more. If you have trouble with the directions in this guide, or if you run into problems that aren't covered here, click the link below to visit The Jem Report's discussion forum -- we'll do our best to help you. Please note that you are not entitled to support through this forum; it is offered purely as a gesture of goodwill, so be nice, be patient, post in the appropriate forum topic, and try to describe your problem in detail. In return we promise not to demean you or call you a "noob."