module ABI major version doesn't match the server's version

Frequently asked questions - Please read before posting!

module ABI major version doesn't match the server's version

Postby tuxx-home.at » Sat Jan 27, 2007 4:54 pm

Applies To:

All G-series cards (Millenium G200, G400, G450, G550, ...) using the
mga driver set and Xorg versions >=7.

Description:

This error message is written by your X server in the logfile
"/var/log/Xorg.0.log". The complete error message looks like this:

Code: Select all
(EE) module ABI major version (0) doesn't match the server's version (1)
(II) UnloadModule: "mga_hal"
(II) Unloading /usr/lib/xorg/modules/drivers/mga_hal_drv.so
(EE) MGA: Failed to load module "mga_hal" (module requirement mismatch, 0)


Symptoms:

You can't use the DVI output on the second head, 3D hardware acceleration
doesn't work and you aren't able to set specific resolutions.

Solution:

Tell your X server to ignore the Module ABI version mismatches.

On recent Xorg versions, adding the following option to your ServerFlags section in xorg.conf might work:

Code: Select all
Section "ServerFlags"
   Option "IgnoreABI" "True"
EndSection


If you use the `startx` command to start your graphical interface, simply
invoke the following command and you're done.

Code: Select all
startx -- -ignoreABI


But usually, your X server gets started automatically by a loginmanager.
Common loginmanagers include "gdm", "kdm", "xdm"
and "entrance".
If you are using any other window manager that is not covered by this
FAQ entry, please tell me and I'll add it here.

1. GDM
--------------------------------------------------------------
If you already have your X server started up but are missing the 3D features
etc, you can configure gdm with the GUI configuration utility to use the
"-ignoreABI" flag.

Start `gdmsetup` and under "Security" -> "Configure X Server" the command
to start the X server can be modified. Add the switch "-ignoreABI" at the
end of this line.

Alternatively you may also modify gdm's configuration file which is usually
located at one of the following locations:

/etc/X11/gdm/gdm.conf
/etc/gdm/custom.conf
/etc/gdm/gdm.conf

Open this configuration file with your favourite text editor and watch out for
the following section:

Code: Select all
[server-Standard]
name=Standard server
command=/usr/X11R6/bin/X -br -audit 0
flexible=true


To enable the "-ignoreABI" flag, simply add it to the "command" line so that
the [server-Standard] section looks like this afterwards:

Code: Select all
[server-Standard]
name=Standard server
command=/usr/X11R6/bin/X -br -audit 0 -ignoreABI
flexible=true


2. KDM
--------------------------------------------------------------
kdm's configuration file is usually located in the following directories:

/etc/kde3/kdm/kdmrc
~/.kdmrc
/usr/kde/3.5/share/config/kdm/kdmrc

Open this file with your favourite text editor and watch out for a line
containing the string "ServerArgsLocal".

Add the switch "-ignoreABI" to whatever already is there so that the line
may f.ex. look like this afterwards:

Code: Select all
ServerArgsLocal=-nolisten tcp -ignoreABI


3. XDM
--------------------------------------------------------------
xdm's configuration file is usually located at the following position:

/etc/X11/xdm/Xservers

Open this file with your favourite text editor and search for a line looking
like something similar as:

Code: Select all
:0 local /usr/X11R6/bin/X vt7 -dpi 100


Simply append the "-ignoreABI" switch at the end of this line making it look
like this:

Code: Select all
:0 local /usr/X11R6/bin/X vt7 -dpi 100 -ignoreABI


4. ENTRANCE
--------------------------------------------------------------
E17's login manager is one of the easiest to apply this setting.
Simply open a terminal window and type the following command to see
what command currently is used for firing up your X server:

Code: Select all
# entrance_edit | grep xserver
  xserver = "/usr/X11R6/bin/X -quiet -nolisten tcp vt7"
#


Now, you can modify this setting with the following command:

Code: Select all
# entrance_edit --xserver "/usr/X11R6/bin/X -quiet -nolisten tcp vt7 -ignoreABI"
#


Afterwards, you may want to check if the setting got applied by using the
same command as before:

Code: Select all
# entrance_edit | grep xserver
  xserver = "/usr/X11R6/bin/X -quiet -nolisten tcp vt7 -ignoreABI"
#
User avatar
tuxx-home.at
Supreme Commander
Supreme Commander
 
Posts: 2199
Joined: Mon Jan 01, 2007 12:51 pm
Location: Vassach - Austria - Europe

Return to FAQ

Who is online

Users browsing this forum: No registered users and 1 guest

cron