<html><head></head><body><div class="ydp886c2127yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div></div>
        <div dir="ltr" data-setdir="false">Make sure the PCI register BAR is properly mapped in the ddx.  Those old ddxes required direct access to the hardware in the X server.  <br></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Alex<br></div><div><br></div>
        
        </div><div id="yahoo_quoted_2322286955" class="yahoo_quoted">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    On Monday, April 17, 2023 at 04:18:16 PM EDT, Morgan Wesström <xorg@xn--wesstrm-f1a.se> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div dir="ltr">Dear list,<br></div><div dir="ltr"><br></div><div dir="ltr">This is a small hobby project of mine so it's no big deal if it can't be resolved but I don't mind digging a little deeper into it myself if I can only get a few pointers.<br></div><div dir="ltr"><br></div><div dir="ltr">I've been a Gentoo Linux user for 15+ years so I'm fairly confident in compiling things in various ways but I'm no C programmer and definitely don't have the deep technical knowledge needed to create device drivers.<br></div><div dir="ltr"><br></div><div dir="ltr">With that said, I needed a challenge and went on to install Gentoo on the oldest machine still in my possession - a 22 year old laptop with a 32-bit Pentium III Celeron. It's quite restricted hardware wise (maxed out RAM is 196MB) but I got it running. I even made Xorg run with the generic fbdev driver but was hoping to unlock at least some 2D acceleration.<br></div><div dir="ltr"><br></div><div dir="ltr">The video card is an ATI Rage Mobility AGP 2x Series (1002:4c4d) and after some digging I understood that this was a mach64 card. Driver is included and activated in my kernel (atyfb, Linux 6.1.19) but I also needed xf86-video-mach64 for Xorg. Unfortunately that driver seems to have been ripped out of the main tree around 2010 or so but apparently it's still maintained and version 6.9.7 was released last year.<br></div><div dir="ltr"><br></div><div dir="ltr">I downloaded it from https://gitlab.freedesktop.org/xorg/driver/xf86-video-mach64.git, compiled and installed it but X segfaults with a signal 11 when I try to use it. I've compiled it with debug symbols so I can get a proper backtrace but after that I'm stuck. I don't know what the driver is doing or what it's supposed to do at this point.<br></div><div dir="ltr"><br></div><div dir="ltr">Here's some info from the debugger:<br></div><div dir="ltr"><br></div><div dir="ltr">Program received signal SIGSEGV, Segmentation fault.<br></div><div dir="ltr">ATIMach64Detect (Chip=77, ChipType=19533, pATI=0x1c74110) at atiprobe.c:143<br></div><div dir="ltr">143        bus_cntl = inr(BUS_CNTL);<br></div><div dir="ltr">(gdb) bt<br></div><div dir="ltr">#0  ATIMach64Detect (Chip=77, ChipType=19533, pATI=0x1c74110) at atiprobe.c:143<br></div><div dir="ltr">#1  ATIMach64Probe (Chip=77, pVideo=0x1c7dbe0, pATI=0x1c74110) at atiprobe.c:278<br></div><div dir="ltr">#2  ATIMach64ProbeIO (pVideo=0x1c7dbe0, pATI=0x1c74110) at atiprobe.c:454<br></div><div dir="ltr">#3  0xb75639c7 in ATIPreInit (pScreenInfo=0x1c83940, flags=0) at atipreinit.c:644<br></div><div dir="ltr">#4  0x00607ab7 in InitOutput (pScreenInfo=pScreenInfo@entry=0x707300 <screenInfo>, argc=argc@entry=1, argv=argv@entry=0xbfa90e44) at ../xorg-server-21.1.8/hw/xfree86/common/xf86Init.c:478<br></div><div dir="ltr">#5  0x004fd765 in dix_main (argc=<optimized out>, argc@entry=1, argv=<optimized out>, argv@entry=0xbfa90e44, envp=<optimized out>, envp@entry=0xbfa90e4c) at ../xorg-server-21.1.8/dix/main.c:190<br></div><div dir="ltr">#6  0x004ba84e in main (argc=1, argv=0xbfa90e44, envp=0xbfa90e4c) at ../xorg-server-21.1.8/dix/stubmain.c:34<br></div><div dir="ltr">(gdb) list<br></div><div dir="ltr">138        }<br></div><div dir="ltr">139    <br></div><div dir="ltr">140    #endif /* AVOID_CPIO */<br></div><div dir="ltr">141    <br></div><div dir="ltr">142        /* Make sure any Mach64 is not in some weird state */<br></div><div dir="ltr">143        bus_cntl = inr(BUS_CNTL);<br></div><div dir="ltr">144        if (Chip < ATI_CHIP_264VTB)<br></div><div dir="ltr">145            outr(BUS_CNTL,<br></div><div dir="ltr">146                 (bus_cntl & ~(BUS_HOST_ERR_INT_EN | BUS_FIFO_ERR_INT_EN)) |<br></div><div dir="ltr">147                 (BUS_HOST_ERR_INT | BUS_FIFO_ERR_INT));<br></div><div dir="ltr"><br></div><div dir="ltr">Can anything be deduced from this? What other information is of interest? Any suggestions are welcome.<br></div><div dir="ltr"><br></div><div dir="ltr">Regards<br></div><div dir="ltr">Morgan Wesström<br></div></div>
            </div>
        </div></body></html>