HanishKVC’s General Blog zone

November 29, 2006

Running Mupen64 in Fedora Core 6

Filed under: emulation,fedora,gaming,n64,nintendo,OpenSource,technology — hanishkvc @ 4:34 pm

Being a emulation/simulation fan, I recently moved my interest from nes and snes(zsnes and snes9x) to n64 (nintendo 64). On searching the net I found that the only relatively active open source project currently for n64 emulation is mupen64 released sometime last year.

I downloaded the source and binary versions. Initially trying it on FC6, I found issues with both the mupen64 which I compiled and later also with the binary version directly downloaded. After some breaking the head and some trial and error, this is what I had to do to get Mupen64 running on FC6 using a ATI 3D acceleration driver (i.e the ATI’s drivers and not the one from Xorg). Also what I noticed is that the Mupen64 works BETTER | PROPERLY once I use the ATI s driver instead of the XOrg s driver.

  1. **Fixing the SELinux issue with plugin**
      chcon -t textrel_shlib_t /pathto/mupen64-0.5/plugins/*so
  2. **Fixing AIGLX and Composite issue with ATI driver(Cas I use ATI drivers)**
    Current ATI accelerator drivers don’t support AIGLX/Composite along with DRI. So One is
    required to disable AIGLX and Composite features in X Server, if one wants to get OpenGL
    acceleration in Mupen64 graphics plugins. This is _essential_ if one wants good speed
    during emulation.
    #** Put the following into your /etc/X11/xorg.conf **
    Section "ServerFlags"
    Option "AIGLX" "off"
    EndSection
    Section "DRI"
    Group 0
    Mode 0666
    EndSection
    Section "Extensions"
    Option "Composite" "off"
    EndSection
  3. ** Make Mupen64 use ATI (Your 3D H/W based) libGL instead of MesaGL s **
    The ati h/w based libGL doesn’t install into /usr/lib/, but rather installs into /usr/lib/ati-fglrx.
    This creates problem because the MesaGL’s libGL is under /usr/lib and by default any
    program will pick this up instead of your h/w accelerated libGL. I THINK FC6 (livna guys)
    should fix this at the package level. However On trying to fix it by forcing mupen64 to use
    the proper libGL using /etc/ld.so.conf.d/prgname logic, it failed. I didn’t try breaking my
    head as it was already 3 or 4 am in the morning and I still had games to try. So I worked
    around this by creating a symbollic link to hw based libGL in the mupen64 directory and
    using LD_LIBRARY_PATH to force the use of proper libGL as shown below.

    • cd /pathto/mupen64
    • ln -s /usr/lib/ati-fglrx/libGL.so.1.2 libGL.so.1
    • export LD_LIBRARY_PATH=.
    • ./mupen64 (NOTE: Now you should be happily running mupen64 in FC6 with acceleration)

If you have taken care of the 3 issues mentioned above, Now you should be able to happily enjoy running Mupen64 on FC6 with 3D acceleration for graphics. Enjoy.

Advertisements

Blog at WordPress.com.