# SiS 760GX/965L + radeon 9250 AGP: apic errors with X

## sybille

I'm not sure if this is more a kernel problem or a video card problem (or a BIOS problem, for that matter), but I'm having some trouble with my radeon 9250 AGP card and my SiS 760GX/965L motherboard (Asus K8S-MX). This is a long thread since I'll be explaining the problem-solving I've tried so far.

With my current configuration, I'm seeing lines and lines of APIC errors in the kernel log, only when X is running:

```
Mar  3 18:59:36 menagerie APIC error on CPU0: 40(40)

Mar  3 18:59:37 menagerie APIC error on CPU0: 40(40)

Mar  3 18:59:37 menagerie APIC error on CPU0: 40(40)

Mar  3 18:59:37 menagerie APIC error on CPU0: 40(40)

Mar  3 18:59:37 menagerie APIC error on CPU0: 40(40)

Mar  3 18:59:37 menagerie APIC error on CPU0: 40(40)

Mar  3 18:59:37 menagerie APIC error on CPU0: 40(40)

Mar  3 18:59:37 menagerie APIC error on CPU0: 40(40)

Mar  3 18:59:37 menagerie APIC error on CPU0: 40(40)

Mar  3 18:59:37 menagerie APIC error on CPU0: 40(40)

Mar  3 18:59:37 menagerie APIC error on CPU0: 40(40)

```

I've tried flashing to the beta BIOS available from ASUS. No change. And I can always boot with the "noapic" command, which is what I'm doing now. But I'd like some opinions on whether I've configured something incorrectly. In the unlikely event that it's not a configuration problem on my side, I'd like to post a bug somewhere. (Where? That's another question if it comes to that.)

As I mentioned, this only happens when X is running. I'm using xorg-x11-6.8.2-r6 and the radeon driver from the ~x86 x11-drm ebuild. With that combination, I was able to get direct rendering working. I was not able to get it working with the kernel drivers. I've never installed the proprietary ATI drivers.

Here's my emerge --info:

```
Portage 2.0.54 (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.5-r2, 2.6.15-gentoo-r1 i686)

=================================================================

System uname: 2.6.15-gentoo-r1 i686 AMD Sempron(tm) Processor 2800+

Gentoo Base System version 1.6.14

ccache version 2.3 [enabled]

dev-lang/python:     2.3.5-r2, 2.4.2

sys-apps/sandbox:    1.2.12

sys-devel/autoconf:  2.13, 2.59-r6

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1

sys-devel/binutils:  2.16.1

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.11-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-pipe -O2 -march=athlon64"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/lib/X11/xkb /usr/share/config /var/qmail/control"

CONFIG_PROTECT_MASK="/etc/terminfo /etc/env.d"

CXXFLAGS="-pipe -O2 -march=athlon64"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig ccache distlocks sandbox sfperms strict"

GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/"

LANG="en_US.utf8"

LC_ALL="en_US.utf8"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="x86 3dnow 3dnowext X acpi alsa apm audiofile avi berkdb bitmap-fonts bzip2 cdparanoia cdr crypt cups curl directfb dts dvd dvdr dvdread eds emboss encode exif expat fam fbcon ffmpeg flac foomaticdb fortran gd gdbm gif glibc-omitfp glut gmp gpm gstreamer gtk gtk2 imagemagick imlib ipv6 java jpeg lcms libg++ libwww live mad matroska mikmod mmx mmxext mng motif mp3 mpeg ncurses nls nptl nsplugin ogg opengl oss pam pcre pdflib perl png python quicktime readline real rtc sdl spell sse sse2 ssl svg svga tcpd theora threads tiff truetype truetype-fonts type1-fonts udev unicode usb vorbis win32codecs xml xml2 xv xvid zlib video_cards_ati video_cards_vesa input_devices_keyboard input_devices_mouse userland_GNU kernel_linux elibc_glibc"

Unset:  ASFLAGS, CTARGET, LDFLAGS, LINGUAS

```

I first installed gentoo on this PC a couple of months ago. I used the 2005.1 profile and then upgraded gcc and recompiled everything repeatedly (lol) in order to take advantage of -march=athlon64. It's my first gentoo install, so I'm still learning about portage and so on. (I was a Slackware user for a year before this.)

So, the APIC problem started happening when I changed my kernel configuration to try to "fix" what looked like an irq problem. Whenever I'd run an openGL application, I would always get a message first. For example, with glxgears:

```
IRQ's not enabled, falling back to busy waits: 20 2 0

5369 frames in 5.0 seconds = 1073.800 FPS

5351 frames in 5.0 seconds = 1070.200 FPS

5288 frames in 5.0 seconds = 1057.600 FPS

5408 frames in 5.0 seconds = 1081.600 FPS

5440 frames in 5.0 seconds = 1088.000 FPS

5452 frames in 5.0 seconds = 1090.400 FPS

```

And in the xorg log, there was a message about irqs, also:

```
(II) RADEON(0): [drm] failure adding irq handler, there is a device already using that irq

(II) RADEON(0): [drm] falling back to irq-free operation

(II) RADEON(0): [drm] Initialized kernel GART heap manager, 5111808

(II) RADEON(0): Direct rendering enabled

```

So that's what I was trying to find out about. First I tried booting with the "pci=routeirq" option. Xorg told me that the device already using the irq was the framebuffer. I was using the VESA framebuffer at the time, so I decided to see if it would change if I tried the radeonfb instead.

To recompile the kernel with radeonfb (and the DDC option), I needed to add some i2c things to the config. Since I'd also been meaning to see if I could get lm sensors working, I ended up making a lot of different i2c modules. I'm using gentoo-sources 2.6.15-r1.

At first I thought I'd got it right. I had no problem booting with radeonfb and I no longer saw the irq message with glxgears (and other openGL apps):

```
5510 frames in 5.0 seconds = 1102.000 FPS

5510 frames in 5.0 seconds = 1102.000 FPS

5512 frames in 5.0 seconds = 1102.400 FPS

5513 frames in 5.0 seconds = 1102.600 FPS

5508 frames in 5.0 seconds = 1101.600 FPS

5511 frames in 5.0 seconds = 1102.200 FPS

5511 frames in 5.0 seconds = 1102.200 FPS

5513 frames in 5.0 seconds = 1102.600 FPS

5511 frames in 5.0 seconds = 1102.200 FPS

5508 frames in 5.0 seconds = 1101.600 FPS

```

I also found supported sensor chips. (For anyone who might google up this thread, the K8S-MX has a Winbond w83627ehf ISA 290h chip and not a sis96x chip.)

So all was well, until I noticed all the disk activity and realized that the kernel was constantly spewing errors.

I discovered that, for some reason, the radeon device/driver that's started with X does not get it's own IRQ:

```
cat /proc/interrupts

              CPU0       

    0:  110528    IO-APIC-edge  timer

    1:          75    IO-APIC-edge  i8042

    7:            0    IO-APIC-edge  parport0

    8:            2    IO-APIC-edge  rtc

    9:            0    IO-APIC-level  acpi

  14:          48    IO-APIC-edge  ide0

169:       2213    IO-APIC-level  SiS SI7012, radeon@pci:0000:01:00.0

177:         194    IO-APIC-level  eth0

185:       4248    IO-APIC-level  libata

193:             2    IO-APIC-level  ehci_hcd:usb1

201:             0    IO-APIC-level  ohci_hcd:usb2

209:         333    IO-APIC-level  ohci_hcd:usb3

217:             0    IO-APIC-level  ohci_hcd:usb4

NMI:            0 

LOC:  110427 

ERR:        719

MIS:             0

```

Irqs are added when otherwise needed, for example for the floppy drive. That's with the radeonfb and the beta BIOS. Notice the 719 ERRors.

Here's what they looked like beforehand, with the vesafb and when I was getting the message about irqs not being enabled  (with the original BIOS, too):

```
cat /proc/interrupts

               CPU0      

    0:   23358447    IO-APIC-edge  timer

    1:         18576    IO-APIC-edge  i8042

    7:                 0    IO-APIC-edge  parport0

    8:           9699    IO-APIC-edge  rtc

    9:                  0   IO-APIC-level  acpi

  14:               74    IO-APIC-edge  ide0

169:        115726   IO-APIC-level  eth0

177:        206580   IO-APIC-level  libata

185:                  2   IO-APIC-level  ehci_hcd:usb1

193:                  0   IO-APIC-level  ohci_hcd:usb2

201:        358314   IO-APIC-level  ohci_hcd:usb3

209:                  0   IO-APIC-level  ohci_hcd:usb4

217:        271518   IO-APIC-level  SiS SI7012

NMI:                 0

LOC:   23359153 

ERR:                 0

MIS :                 0

```

Just like the message says, there's no irq showing up for the radeon (or vesa?) pci device. And, no APIC errors.

Here are the graphics modules loaded when in X:

```
radeon              106592  1 

drm                    66776  2 radeon

sis_agp                 6084  0 

amd64_agp          9924  1 

```

At this point, I've learned that these same APIC errors have been known to occur with SiS chipsets, a quirk having to do with them not following Intel specs. And I've learned that, in essence, the answer is to update the BIOS, which has not helped in my case, or to wait for a kernel update. 

Again, the APIC errors only come about when xorg is running. And I'm only seeing them with the radeonfb, not with vesafb. However, when using the vesafb, there's some kind of conflict with DRI and the framebuffer, which means that DRI or it's device (?) doesn't get an irq at all, so it's not being controlled by APIC. Something like that.

Of course I've tried all sorts of different BIOS settings and boot commands involving apic and acpi, which is also involved in irq routing. And different combinations of them. I've also tried loading different xorg fb modules in xorg.conf and then not loading them.

I haven't tried not using any framebuffer at all as yet, maybe that's another step? I don't really understand the relationship between the framebuffer devices and the different X modules...  Or is it possible to make the framebuffer as a kernel module and than unload it just before starting X? I have read a lot of readon threads, wikis and faqs, and I haven't yet come across anything like that. But I probably missed it.

There are a lot of variables.

Anyway, to anyone who's read all of this, thank you. And thanks in advance for any suggestions you might have. 

 :Smile: 

Edit: I forgot to mention that I've tried booting Ubuntu Dapper liveCD with xorg 7.x. And although dri wasn't enabled, there was a constant stream of APIC errors, just like in my config.

Also, I didn't post my dmesg, Xorg log or kernel config because this post is so long already and I didn't know if they'd be useful.

----------

## JohnY

If Ubantu Dapper gives apic errors, are the kernels a similiar version? 

With my ATI 9250 I've had to adjust ChipID in xorg.conf for dri to work without error.

```
Section "Device"

   Identifier "radeon"

   Driver "radeon"

   Option "AGPMode" "4"

#   Option "AccelMethod" "EXA"

   Option "ColorTiling"   "false"

    BusID "PCI:2:0:0"

   Option "EnablePageFlip" "on" 

   Option "RenderAccel" "on"

   Option "BackingStore"   "on"

    Option "SubPixelOrder" "NONE"

#   Option "DPMS" "on"

#   Option "AGPFastWrite" "True"

   BoardName "Unknown"

   # ChipId      0x514D

   ChipId      0x5960

#   ChipId      0x4242

EndSection

```

You could try that, and no framebuffer stuff all would be my suggestion ... 

JohnY

----------

## sybille

Thanks for the response.

The Ubuntu liveCD I tried had a 2.6.15 kernel of some sort, and I'm using gentoo-sources 2.6.15-r1. So that's one reason I thought it might be a kernel driver issue.

Am I right in thinking that you're using the in-kernel drivers, and not those from x11-drm? Also, does the motherboard you're using have a SiS chipset?

Other than the chip ID, your xorg.conf options look similar to mine:

```
Driver      "radeon"

   VendorName    "ATI Technologies Inc"

   BoardName    "Unknown Board"

   Option    "AGPMode"              "4"

   Option    "RenderAccel"     "True"

   Option    "EnablePageFlip" "True"

   Option    "BackingStore"    "True"

   Option    "SubPixelOrder"  "none"

   Option    "DynamicClocks"  "True"

   #Option   "AccelMethod"       "EXA"

   #Option   "AGPFastWrite"      "True"

   #Option   "ColorTiling"         "True"

   BusID       "PCI:1:0:0"

```

Looking at the xorg log and at lspci -n, the chip ID for my card seems to be 5960, also.

 I'll try the in-kernel drivers + specifying the chip ID + no framebuffer.

----------

## sybille

OK, I've tried several different combinations of things:

1a) kernel radeon/drm drivers, with radeonfb

1b) kernel radeon/drm drivers, with no framebuffer

2a) x11-drm radeon/drm drivers, with radeonfb

2b) x11-drm radeon/drm drivers, with no framebuffer

In all cases, I specified the chip ID in xorg.conf.

1) In the first 2 cases using the kernel drivers, direct rendering was not enabled even when I specified the chip ID. There were no errors in dmesg or messages. In the xorg log, there were errors like this:

```
drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (Unknown error 999)

drmOpenDevice: open result is -1, (Unknown error 999)

drmOpenDevice: Open failed

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (Unknown error 999)

drmOpenDevice: open result is -1, (Unknown error 999)

drmOpenDevice: Open failed

```

As I understand it, those kind of errors usually happen when the agpgart module hasn't been loaded. But this was not the case; I have agpgart compiled into the kernel and then amd64_agp and sis_agp are loaded during boot and are present before I startx manually (I'm not using any session manager like XDM, GDM, KDM at present, not when I'm still having some X config problems). So, as before, no direct rendering with the kernel drivers alone, even with the chip ID specified in xorg.conf.

2) The x11-drm drivers do enable direct rendering, whether or not the chip ID is specified.

I did learn that APIC errors occur in both cases, that is, with the radeonfb and without it. And again, the APIC errors only occur when X is running.

So, I'm not sure where to go from here. I'm inclined to think that there is some problem with how the radeon/drm drivers interact with something. Maybe the io_apic kernel module? I suggest that one because it already includes code for something called the "SiS APIC rmw bug." And I take it that this is what was added when people were reporting APIC errors with SiS chipsets, but that's my own reading or reconstruction of what I've found with Google.

Here's someone with a SiS chipset who saw the APIC errors when drm was loaded.

http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/443491b1ff979450/67c3f4868a97e9c6%2367c3f4868a97e9c6?sa=X&oi=groupsr&start=1&num=2

And then there's this thread, which concerns a timing problem and a workaround for SiS AGP and the SiS 746FX northbridge:

http://lkml.org/lkml/2004/2/22/102

Both of those examples concern much older kernels and earlier SiS chips, so I don't know that they are relevant.

At this point, I'm thinking it might be worthwhile to file a bug. I suppose it would be a Gentoo xorg bug, since the Gentoo x11-drm drivers solve one problem (no direct rendering) but produce another one (APIC errors). Does that seem right? Or should it be a kernel/AGP bug? Does the category even matter?

----------

## JohnY

I have always had  ~x86 systems. SiS, nforce2 and ali (Asrock 939SataII with X2 4400+ currently). I've usually compile my xorg with both matrox and radeon in VIDEO_CARDS="radeon matrox" in make.conf so I can change video cards without recompile.  AGP modules external, no framebuffers. I don't use x11-drm just the stuff in the kernels. With some kernels I've had to load radeon before starting X in /etc/modules.autoload.d/kernel-2.6, but I haven't had to do that lately with either the asrock (ali) or the nforce2. I've been swapping cards between G400, various radeons, and nvidias testing xorg lockups (see the thread in the desktop forum).  Direct rendering always works. Don't forget  to run 'eselect opengl set xorg-x11' a few times to get your lib links straight. The ATi 9250 always needs it's ChipID set on my machines, the 8500le doesn't. I can change cards, xorg.conf's run eselect and I'm good to go, no APIC errors. Maybe some of this will help.

JohnY

----------

## JohnY

I read the links that you posted. The only other thought that I had is make sure you're running the latest bios, and try loosening up and then tightening your pci latency timings in your bios - it's probably set at 32 now. lspci -v will tell you without a reboot.

JohnY

----------

## sybille

Thanks again for taking the time to respond, JohnY. You do give me hope that it's a configuration problem, that is, something I ought to be able to resolve. 

I am using the most current beta bios for my motherboard. I've tried several different latency timings, from 32 to 128. Right now it's set to 64, which is the latency of the radeon card. lspci says that the latency of the host bridge, which is the only place where I see anything about AGP, is 32, but that of the pci bridge is 64 (the ide controller is 128). 64 shows up in other places, too (usb controllers, sata, sound), so I went with that. But none of those settings made a difference to the apic issue.

Although I think I did update the opengl setting before trying the kernels with drm compiled in, that's something I could redo to make sure. I'm also thinking that maybe I need to make mrproper before complining and/or modules-update afterwards, too, just to make sure that I'm testing what I think I'm testing in each case. So that's what I'll try next: recompling in a sqeaky-clean way to use the in-kernel drm and no framebufffer, with the chip ID set in xorg.conf. I'll unmerge x11-drm first and update opengl after. I usually compile agpgart into the kernel and then make amd64_agp and sis_agp as modules - that's one way to be certain that agpgart is loaded first, but maybe that's something else to do differently. I have VIDEO_CARDS="ati vesa" in make.conf - I put in vesa since I though it might be a good fallback, but I think I'll change that to ="radeon" as well.

There are also some module options to try if that new kernel still spews apic errors: "agp_sis_force_delay=1" for sis_agp and "agp_try_unsupported=1" for amd64_agp. Of course, I have tried those already, but....

In order to try to rule out user error, I've booted some other liveCDs with 2.6.15 kernels just to see. Yesterday, I tried the march 8 release of ubuntu dapper, and lo-and-behold there were no apic errors. But direct rendering wasn't enabled either, and the radeon card didn't get an irq. Since that's when the apic errors occur, it doesn't really help much. There were some agp errors that I've not seen in my logs, though. And another thing I noticed was that the sis 760 chip was identified by name by agpgart during boot. That's something I've never seen in my logs. Now that I think about it, it means that I probably need to look into whether there have been any changes to agpgart recently that would lead me to update my kernel sources - for now I've been sticking with gentoo-sources 2.6.15-r1. Also, maybe there are some module options for agpgart if it's made that way, I don't know.

Anyway, ubuntu was using what they call kernel version 2.6.15.17. I opened an ubuntu bug about it since, with the liveCD, I'm relatively certain that it's not something I've done. Unless maybe I've set something really wacky in the bios and that's the cause of everything. I doubt that, though, since I've gone back to bios defaults after trying different things, and at this point I think the only non-default settings I've kept are for the pci latency, the AGP aperture and timing (which I've set to match what linux tells me about the card), and setting the memory timing to 1T, another thing that hasn't seemed to make any difference for the apic errors. Or I guess it's possible that there is a problem with the bios itself, maybe in how acpi is involved with setting the irqs? I say this only because I've read about acpi problems with asus bios on other motherboards (and especially laptops), not because I have any real evidence. But I'm also not very able to interpret the results when booting with different acpi kernel options. 

For now, I'm going to work at what I mentioned earlier and try to remake the kernel in a way that ensures that I'm using the modules I think I am. And do some research into the kernel changelog.

At least I seem to be learning something more along the way. I hope so, anyway, or at least it's useful to tell oneself things like that, to try to make it seem more like a reasonable facimile of scientific method and less like stabbing blindly at a moving target in the dark. Or something like that, lol.   :Laughing: 

----------

## JohnY

I put the ATi 9250 in my Asrock 939DualSataII last night changed xorg.conf's and dri came right up. I'll post some  config info on my system, maybe it will be of some help. There are 2 or 3 SiS related bugs in bugs.gentoo.org but nothing that seemed particularly relevant. This system is currently all udev no modules loaded by kernel-2.6

```
Linux zinger 2.6.15-gentoo-r7 #1 SMP PREEMPT Tue Mar 7 21:57:16 EST 2006 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ GNU/Linux

```

```
zinger ~ # lsmod

Module                  Size  Used by

radeon                106528  1

drm                    66068  2 radeon

snd_pcm_oss            41440  0

***snip the sound modules***

tuner                  43492  0

bttv                  163280  0

video_buf              17860  1 bttv

firmware_class          8768  1 bttv

i2c_algo_bit            8904  1 bttv

v4l2_common             5184  1 bttv

btcx_risc               4424  1 bttv

tveeprom               14288  1 bttv

videodev                7936  1 bttv

i2c_ali15x3             7108  0

i2c_ali1563             6852  0

amd64_agp              10436  1

ali_agp                 5952  0

agpgart                29968  3 drm,amd64_agp,ali_agp
```

```
zinger ~ # emerge --info

Portage 2.1_pre5-r4 (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.15-gentoo-r7 i686)

=================================================================

System uname: 2.6.15-gentoo-r7 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 4400+

Gentoo Base System version 1.12.0_pre16

ccache version 2.4 [enabled]

dev-lang/python:     2.3.5, 2.4.2-r1

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.59-r7

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1

sys-devel/binutils:  2.16.1-r2

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.11-r3

ACCEPT_KEYWORDS="x86 ~x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"

CONFIG_PROTECT_MASK="/etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d"

CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoaddcvs autoconfig ccache distlocks fixpackages sandbox sfperms strict"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="x86 3dnow 3dnowex X aac alsa apache2 apm arts asf avi berkdb bindist bitmap-fonts crypt cups divx4linux dri dvd dvdr eds emboss encode esd foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 imlib ipv6 jpeg kde libg++ libwww live mad matrox mikmod mmx motif mp3 mpeg ncurses nls nptl ogg opengl oss pam pdflib perl pic png ppds prebuilt python qt quicktime radeon readline real rtc samba sdk sdl spell ssl tcltk tcpd truetype truetype-fonts type1-fonts udev usb vcd vorbis win32codecs xml xv xvid zlib elibc_glibc kernel_linux userland_GNU video_cards_radeon video_cards_matrox"
```

```
x11-base/xorg-x11-6.8.2-r6
```

Fairly conservative flags,  all ~x86, both gnome and kde, no separte xfree-drm ebuild just the kernel stuff. 

I've also built xorg-6.8.99-15 but I haven't tried modular yet. I have radeon in my USE flags and VIDEO_CARDS. That may be a hangover from the early days, I'm not sure. 

```
zinger ~ # cat /etc/conf.d/local.start

# /etc/conf.d/local.start

# This is a good place to load any misc programs

# on startup ( use 1>&2 to hide output)

/etc/dhcpc/dhcpcd-eth0.exe

echo 1024 > /proc/sys/dev/rtc/max-user-freq

#/sbin/NVmakedevices.sh
```

RTC in local.start for mplayer 

```
zinger ~ # cat /proc/interrupts

           CPU0       CPU1

  0:   15965126       3559    IO-APIC-edge  timer

  1:       2448          9    IO-APIC-edge  i8042

  7:          0          1    IO-APIC-edge  parport0

  8:    1346628          1    IO-APIC-edge  rtc

  9:          0          0   IO-APIC-level  acpi

 12:     148655         94    IO-APIC-edge  i8042

 14:     143074         12    IO-APIC-edge  ide0

 50:     241774          1   IO-APIC-level  YMFPCI

 58:    1354407          1   IO-APIC-level  radeon@pci:0000:03:00.0

209:      14546          1   IO-APIC-level  eth0

217:      10136          8   IO-APIC-level  libata

225:          0          0   IO-APIC-level  ehci_hcd:usb1

233:        686          1   IO-APIC-level  bttv0

NMI:          0          0

LOC:   15969071   15969070

ERR:          0

MIS:          0

```

I run a preempt and big lock prempt smp kernel with ext3 filesystems. 

Try a  2T command rate and change your memory timing to see if it has any effect on the APIC errors. 

Have you tried a different video card, just in case?

I guess it's kernel change logs research if you're sure your build is clean ....  

JohnY

----------

## JohnY

Does the uniprocessor .config have these enabled?

```
Enable "Local APIC support on uniprocessors"; the following option should appear just below this one:

- Enable "IO-APIC support on uniprocessors".
```

JohnY

----------

## JohnY

Looks like the new integrated ATi chipset is having APIC errors too

https://bugs.gentoo.org/show_bug.cgi?id=123367

Bugzilla Bug 123367

msi rs480m2 gives APIC and timing errors

lots of testing with boot params that I didn't know about, that may be useful for you.

JohnY

----------

## JohnY

Check this out:

http://scottstuff.net/blog/articles/2005/03/17/msi-rs480m2-il-athlon-64-motherboard-mini-review

Follow on msg #46 about the APIC 'timerhack'

 *Quote:*   

> For the uninitiated linux kernel hackers: Essentially the timer is doubled because the regular timer emits its interrupt, but the IO-APIC also emits it interrupt, so timer is effectively doubled. The patch just cuts out setting up the IO-APIC timer if timerhack is a kernel parameter.
> 
> Many thanks to Chris Wing for his hard work!!!
> 
> The patch by Chris Wing:
> ...

 

JohnY

----------

## JohnY

Check out the whole msg thread from the above url. 

looks like ck-sources may have the notimercheck patch

built in and there are other kernel params that may be usefull.

JohnY

----------

## sybille

Hello. Sorry to have taken so long to respond. I needed to use the pc to finish a project and so I could not continue to try changing kernels and so on for a few days.

I have made some progress. Direct rendering from the kernel is now working. I had to clean out modules left over from x11-drm after I unmerged it, and I also did a make mrproper before recompiling. With that, I now have direct rendering with the kernel drm. So that's a step in the right direction.  :Smile: 

However, this has not fixed the apic error messages. The module options for sis_agp and amd64_agp make no difference. And, setting the memory back to 2T has not changed anything, either. 

It's funny that you pointed me to that thread on that MSI motherboard with the radeon chip. I had seen it before, but not since I ended up with this Asus mother board and its sis chipset. I'll have to read through the discussion again. I'm not sure that the io_apic kernel patch will apply to my motherboard since I can use XT-PIC with no problems - that's what happens when I boot with the "noapic" parameter. But I need to read it all and look at the kernel partch much more closely before I can say.

Thanks again for your feedback, JohnY. I'm off to research some more.

----------

## sybille

I forgot to respond about this:

```
Code:

Enable "Local APIC support on uniprocessors"; the following option should appear just below this one:

- Enable "IO-APIC support on uniprocessors".

```

Yes, that is enabled. And again, there is no problem with apic when xorg is not running. I've trued to use as much of the hardware as possible without X to make sure (burning a cd, copying a file to floppy, listening to music, etc, etc).

----------

## JohnY

From what I've  read ck-sources seems to have the notimercheck apic patch already in it. Have you played with the preempt settings in your kernel config?  Could just be a bios problem that asus must fix like the cold boot problems on my Asrock 939DualSataII. 

It's good that direct rendering is working. Are there wait state settings for your pci bus in your bios ? They might also have an effect. This stuff is always such fun to track down  :Smile:  !

You're making good progress.

JohnY

----------

## JohnY

Some SiS 96X kernel irq routing patches, but I can't tell if they apply or need to be applied yet:

http://www.xmailserver.org/linux-patches/misc.html#SiSRt

edit: looks like the patches never made it into the kernel starting from 2.5.69 

they probably don't apply ...

JohnY

----------

## JohnY

Does your bios have a Front Side Bus (FSB) Spread Spectrum (SS) clocking option?

Try disabling it and see if it affects the apic errors.  Is you clock accurate ?

JohnY

----------

## JohnY

Here's something that may be helpful: 

 *Quote:*   

> 
> 
> Subject:      Re: + sis5513-support-sis-965l.patch added to -mm tree
> 
> From:         Thierry Vignaud <tvignaud@mandriva.com>
> ...

 

JohnY

----------

