Date: Sun, 6 May 2001 09:36:34 -0500 From: Andrew Hesford <ajh3@chmod.ath.cx> To: Igor Karpov <jc@minjust.gov.ua> Cc: freebsd-questions@freebsd.org Subject: Re: XFree86-4.0.3 and i815e. Message-ID: <20010506093634.A57398@cec.wustl.edu> In-Reply-To: <20010506112233.A88011@minjust.gov.ua>; from jc@minjust.gov.ua on Sun, May 06, 2001 at 11:22:33AM %2B0300 References: <20010506112233.A88011@minjust.gov.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, May 06, 2001 at 11:22:33AM +0300, Igor Karpov wrote: > Hi! > > Got a problem with X. > > I'm have a desktop computer (ASUS CUSL2) running FreeBSD-4.3-STABLE. > For some time I had no problems with X Window (4.0.1), but after > upgrade to 4.0.3 X Window demonstrate strange behaivour. (And yes, I > tried clean X install). > > First of all, XFree86 -configure immediately dumps core with the > following strings: > > [skipped] > > (II) LoadModule: "vgahw" > (II) Loading /usr/X11R6/lib/modules/libvgahw.a > (II) Module vgahw: vendor="The XFree86 Project" > compiled for 4.0.3, module version = 0.1.0 > ABI class: XFree86 Video Driver, version 0.3 > Symbol xf86SetDDCproperties from module > /usr/X11R6/lib/modules/drivers/cirrus_laguna.o is unresolved! > Symbol xf86Int10AllocPages from module > /usr/X11R6/lib/modules/drivers/vesa_drv.o is unresolved! > Symbol xf86int10Addr from module > /usr/X11R6/lib/modules/drivers/vesa_drv.o is un resolved! > Symbol xf86int10Addr from module > /usr/X11R6/lib/modules/drivers/vesa_drv.o is un resolved! > > [following few screens of errors like that are skipped too] > > I can run xdm and therefore, X Window using an old XF86Config-4. It > works. But, when I'm switching to one of text mode screens and back to > X Window, it crashes in the moment of switching from text vty to > ttyvb, which is allocated for xdm. > > Now error occures later: > > [skipped] > > (WW) I810(0): xf86BindGARTMemory: binding of gart memory with key 3 > at offset 0x0 failed (No such file or directory) > > What's going on? Am I missing something? Welcome to the world of the unsupported. The i810 and i815 are only supported under Linux, because it doesn't work quite right with FreeBSD. The real kicker is that it works just fine for some people. This makes it doubly frustrating. I have an i810 that does the same thing you speak of. I never bothered to check my logs like you did, but I knew the cause of the problem. Your paste of the xf86BindGARTMemory error confirms what I expected. If you look through the souce for the i810 X server (or driver or whatever it is called), you will find that somebody decided to completely overhaul it between 4.0.1 and 4.0.2. In 4.0.2 and above, there is a provision to allocate GART memory, but no provision to release it. The maintainer of the port has not bothered to fix this. In 4.0.1, there were provisions to free GART memory, and the port maintainer created a patch to make this work in FreeBSD. The problem is simple. When you switch to a text console and switch back, the server tries to reallocate GART memory to display your root window. It expects the memory to be free, and tries to grab it. But since the memory is already tied up by the X server, the server fails with an error. This part seems pretty universal. The problem is what happens next. Some people, the lucky ones, can restart XFree86 with no trouble. The unlucky ones, like me, have to reboot before we can use the X server again. It won't only crash, but it will take down video for the whole session. Who is to blame for this problem? Certainly not XFree86, they warn that the i810 is unsupported. Neither is FreeBSD responsible, it has nothing to do with the high-level shenanigans of a video card. The culprit is Intel. If they didn't give you a cheap-ass onboard video, with no memory of its own, you wouldn't need the AGP features of the card. But you do, and this is why we have problems. I believe that Linus and his cronies have set up the AGP driver in Linux to automatically free GART memory. This is why the X server does not try to free it. This is rather stupid, since this is not the optimal way to handle rendering when performance is an issue, but hey, it's Linux. If the XFree86 project would open their eyes and see that FreeBSD has AGP support too, they ought to be able to port the driver with ease. Maybe they have in 4.1.0. It's coming out this month, if I'm not mistaken. I tried to patch the problem myself, but five minutes on the job I realized I have no clue how XFree86 handles AGP, and I don't care to learn. If 4.1.0 doesn't support it, I think I will bother to learn... summer is coming up, after all. -- Andrew Hesford ajh3@chmod.ath.cx To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010506093634.A57398>