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.3

By Jem Matzan

Novell's openSUSE 10.3 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; 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.3. If you are looking for a previous version of this guide (SUSE Linux 10, 10.1, 10.2, 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.3 -- 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

This is not an installation guide for openSUSE; it's a post-install configuration guide. However, if you are reading this before you install openSUSE 10.3, you can save yourself some work later by following this advice: After you've booted from the installation disc and have gone through the language selection and license screens, you'll find yourself at the Installation Mode section. Most people will probably select New Installation here, but whatever you select, make sure you click the checkbox for Add Online Repositories Before Installation. This will make installing many of the proprietary extras like the Flash player and the Java Runtime Environment much easier and quicker.

Shortly after the Installation Mode screen, you'll be shown a list of software repositories. In all imaginable scenarios, there should be three listed here, and two selected by default. You do not need the repo labeled DEBUG. Just click Next in this screen.

Prerequisites

If you are coming to this guide after having installed openSUSE, hopefully you added installation repositories during the install process. It's much easier to install software on demand when you don't have to use the openSUSE DVD or CD set around. The official installation repos -- the OSS and the NON-OSS only, not Sources or DEBUG -- contain most of the files you need to create your preferred operating environment. The last few files you'll need will come from third-party repos; instructions for adding these and the official installation repositories (if you missed it during installation) are listed below.

"Hacking openSUSE 10.3" 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.

DVD mounting and playback problems, IDE hard drive performance issues

A problem with openSUSE's ATA driver may cause some people with parallel ATA (IDE) hard drives to experience performance problems, and CD/DVD drive issues. There's a quick fix for this that is easy to test. Restart your computer, and when you get to the green openSUSE boot screen, type this in:

hwprobe=-modules.pata

The letters you type should show up in a field near the bottom of the screen. Press Enter to boot your system with the new option. If the problem goes away, you will need to add this option to your GRUB configuration permanently. To do so, start YaST (for instructions on how to do this, see other parts of this guide) and click on the System tab, then Boot Loader Configuration. Click Edit to modify the default configuration, then type in the same line shown above in the Optional Kernel Command Line Parameter field. There will be other settings in this field as well. Just add a single space after the last setting, then type the same line you typed in at the boot splash screen.

Adding sources to YaST

By default, openSUSE 10.3 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. Follow these instructions to add repos:

To add sources, go into the YaST utility in KDE 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. In GNOME, click the Computer menu in the lower left corner, then click More Applications. A large window full of openSUSE programs will come up, sorted by topic. Click System on the left, then click YaST (you may have to scroll down a bit to see it). When prompted, type in your root password and press Enter.

You're now in YaST, and the Software category is already selected by default. Click on the Community Repositories icon. This will bring up a window that will allow you to add software repositories so that you can download add-on software. It's possible that you may experience problems communicating with some of the repos. You should retry a few times before giving up -- the errors are likely temporary. If you get a message about a package database or repository information being locked by another program, then quit the openSUSE Updater applet in the lower right portion of your screen and selecting Quit from the popup menu.

Adding repo addresses

You do not need or want to add all of the sources in the list. Add only the following repos as they apply to your situation:

  • Check the boxes for Main Repository (NON-OSS), Main Repository (OSS), and Main Update Repository if they are not already checked
  • ATI video drivers: ATI Repository
  • Nvidia video drivers: NVIDIA Repository
  • If you have a Webcam: openSUSE BuildService: Drivers for webcams (no additional instructions for installing Webcam drivers are included in this guide)
  • Windows Media codecs and DVD playback (may be illegal in your area -- do not follow these or any other DVD playback instructions in this guide if it is): Packman Repository and VideoLan Repository

Many of the other openSUSE Build Service repos may appeal to you; if so, select them. I would advise against updating GNOME or KDE outside of the security and bug patches issued through the standard update service, though. Your desktop environment and window manager are the most important parts of your graphical environment, and you really don't want to mess with them by upgrading unnecessarily.

When you're done adding sources, click the Finish button in the lower right corner. The new server addresses will synchronize with YaST. During this process, you may be warned that some of the repositories have untrusted public keys. This is not a problem -- all it means is that YaST can't automatically look up the server's security key. Go ahead and click on Trust and Import the Key. The finalization process will take a few minutes as YaST scans each repo for software package lists and downloads them.

Atheros wireless drivers

After you've quit the Community Repositories program, click the Software Repositories icon, also in the Software section of YaST. When the repo list comes up, click Add, then select HTTP, click Next, then type this into the Server Name field:

madwifi.org

And this directory:

suse/10.3

Type this into the Repository Name field:

Atheros drivers - Madwifi Project

Click Finish when you're done.

If Packman fails

The Packman mirror sites can be unpredictable. If you're having trouble adding Packman sources through the process described above, you may have more luck by adding it manually. After you've quit the Community Repositories program, click the Software Repositories icon, also in the Software section of YaST. When the repo list comes up, click Add, then select HTTP, click Next, then type this into the Server Name field:

packman.unixheads.com

And this directory:

suse/10.3

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're done, click Finish.

Installing the extras

When the Community Repositories program is finished, the Installation Source window will close, bringing you back to YaST. Click on Software Management. Several progress bars will appear while YaST updates its package lists. When you get to the next screen, you will see something different depending on whether you're using KDE or GNOME. In KDE, you'll see a search box on the left and a field on the right for a list of packages (currently empty). In GNOME you'll see two fields of package lists -- the one on the left represents packages that are available, and the one on the right shows the programs currently installed on your machine. In general, the functions of these screens should be pretty self-explanatory -- you click the checkbox next to the package you want to install in KDE, and you select a package and click the Install button to mark a package in GNOME.

In the search box, type in the search terms below, then mark for installation the following packages that apply to your situation. It can take a few seconds for the search results to be returned after typing them in, and there is no indication that the system is working while you wait, so try to remember to be patient -- don't press Enter multiple times. In GNOME, you don't even need to press Enter, because the list searches for the letters you've typed as you type them. When you've selected all of the packages you want to install from the sections below, click on the Accept button to install them unless otherwise directed:

The Flash, Java, Acrobat, and RealPlayer browser plugins

These may already be installed by default if you selected them during installation. 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 (if they are already installed, they will appear in the right-hand field):

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

Even if you're pretty sure some of these packages are already installed, search for them in YaST anyway to make sure they're there.

64-bit note: There is no 64-bit Java Web browser plugin at this time. The 32-bit Java JRE and plugin packages do not work with Firefox in openSUSE 10.3. However, the 64-bit JRE package just as it is will work with Konqueror, which seems to call embedded Java applets in a manner similar or identical to the way it would handle an offline Java program. So if you need to use a Java applet, use Konqueror.

Proprietary audio and video codecs

Search for the w32codec-all package and mark it for installation. Next, search for "mplayer" and install the mplayer and mplayerplug-in packages. These will in turn install a number of video playback packages necessary for a few popular video formats.

Atheros drivers

Type in "madwifi" and press Enter, then mark the following packages for installation:

  • madwifi
  • madwifi-kmp-default

Click Accept or skip down to the next appropriate heading to install more packages, then return to these instructions.

Now that you have the driver installed, you have to load the driver modules. You can do this from the command line by opening a terminal (in KDE, open a Konsole terminal by going to your chameleon main menu, then clicking on Applications, then System, then Terminal, then Terminal Program (Konsole); in GNOME, click the Computer menu, then More Applications, then select the System group, then click Xterm in the blue highlighted area) and typing the following commands. First switch to root permissions with this:

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:

sudo modprobe ath_pci

If you don't feel comfortable working from the command line, you can simply shut down and restart the computer and the module will be loaded automatically.

Next, go into YaST again and click on the Network Devices group on the left. Click on Network Card on the right, in the blue highlighted area. A Network Settings window will appear. In it you should see at least two entries: one for your wired network interface which should already be configured, the other for your Atheros wireless card which will be named by its brand, model, and chip name and listed as "Not configured." Click on the Atheros-based device, then click Configure. 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.

In KDE, 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.

In GNOME, click the Computer menu, then click on the Network icon in the lower right to change between wired and wireless, or to modify your network settings.

ATI video drivers

You may not need to replace the default radeon ATI video driver -- maybe it works just the way it is. If you enabled 3D acceleration during the installation procedure, and all seems to be working well in terms of 3D games and applications, then don't bother with the below instructions -- they won't work. If you did not enable hardware 3D acceleration during installation, then go to YaST, click on Hardware, then Graphics Card and Monitor (the screen may go blank for a few moments here as your video settings are probed), then when SaX2 comes up, click the checkbox for Activate 3D Acceleration at the bottom of the window, then verify that your monitor and resolution settings have not be automatically modified (if they have, change them back to the way you had them), then click OK.

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, then come back to these instructions.

You can either restart your computer for the new video driver to take effect, or open a Konsole terminal in KDE 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 GNOME, click the Computer menu, then More Applications, then select the System group, then click Xterm in the blue highlighted area. In the terminal window, 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:

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.

Nvidia video drivers

Search for nvidia and mark the following packages for installation:

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

Click Accept or skip down to the next appropriate heading to install more packages. When you're ready to continue, 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.

DVD playback capabilities

Search the Package Selector for libdvdcss and install that package when it appears. This will add the ability to decode DVD video discs, but in GNOME the default Totem player will not be able to play DVDs, nor will a DVD player come up by default when you insert a DVD video disc. In KDE, Kaffeine will be able to play DVDs after you've updated the Xine packages it uses for video rendering. To solve all DVD problems in KDE and GNOME, install the xine-ui package in addition to libdvdcss. If you installed the Packman repo as advised above, a DVD-enabled edition of Xine will be available to you to install. The default Xine packages available through the openSUSE OSS repos are purposefully disabled to prevent you from using libdvdcss, so Packman is a requirement.

Log out, then log back in again and you should be able to insert a disc and play DVD movies without a hitch in KDE. In GNOME, you will have to insert a DVD movie, then start Xine manually from the Computer menu, then click on DVD in order to play it.

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.3 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." Most questions are answered within a few hours.