LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Howto build xfree86? (https://www.linuxquestions.org/questions/slackware-14/howto-build-xfree86-153724/)

BroX 03-05-2004 02:20 AM

Howto build xfree86?
 
Slackers!

To get DRI running, I figured that I have to build (or compile?) the sis_dri driver, and that I need the xfree86 source code for that. So I got the 4.3.0 code, but I can't get it to build anything :-(

I tried whatever I knew(bie ;-) but nothing gets me anywhere. Yesterday I got the 4.4.0 source tree (thinking that there must have been some error in my versions of the 4.3.0 tarballs) and to my surprise I got exactly the same errors! I have followed the 'Building XFree86 from a Source Distribution' from the xfree86.ORG site to the letter... (actually I didn't; there's a small error: after mkdir build one first has to cd to build before one can lndir ../xc, but that's a detail).

Btw, does it make a difference to use ln -s instead of lndir?

Have Slack 9.1, kernel 2.6.3, Xfree86 v4.3.0, whatelse? And fluxbox of course ;-). Please note that I don't necessarily need the new XFree86 v4.4.0, as soon as sis_drv.so is build/compiled the whole thing can be cancelled.

Here it is:

Code:

.../build# make World > World.log 2>&1

    Building XFree86 version 4.4.0 (29 February 2004).
<snap 50 lines of 'decent' messages>
    cc1: Invalid option `32'
    In file included from /usr/include/string.h:375,
                    from imake.c:157:
    /usr/include/bits/string2.h: In function `__mempcpy_small':
<then 30 lines the following:>
    /usr/include/bits/string2.h:252: warning: pointer of type `void *' used in arith
    metic
    /usr/include/bits/string2.h:256: warning: pointer of type `void *' used in arith
    metic
<snap>
    /usr/include/bits/string2.h:649: warning: pointer of type `void *' used in arith
    metic
    make[2]: *** [imake.o] Error 1
    make[2]: Leaving directory `/usr/src/Xfree86-4.4.0-src/build/config/imake'
    make[1]: *** [imake.bootstrap] Error 2
    make[1]: Leaving directory `/usr/src/Xfree86-4.4.0-src/build'
    make: *** [World] Error 2

...and that's where I'm at. No clue whatsoever. Must be missing some building-tool-or-libsuchand.so?! Please anyone?*

Cheers, Leon.

* I know this sounds like I might have given up, but bear with me, I started on this SiS630 Video Driver Project 3 weeks ago, it almost costs me my relationship with my girl, I don't get enough sleep, can't get any work done 'cause all day long I'm collecting and printing all TFM's so I can read up at home where I have no network access... this is killing me, BUT I SHALL BE ABLE TO RACE TUX! ;-) Most likely I'm still missing part of the picture but I think getting sis_dri.so in it's place might be the last piece of the puzzle!

Bruce Hill 03-05-2004 03:49 AM

Have you read the How-To by trickykid here at LQ?

BroX 03-05-2004 04:14 AM

Thanx Chinaman,

no I didn't but it doesn't cover my problem. I don't need to configure xfree86, I just want to have sis_dri.o. But to generate this from source I need the xfree source tree, if I correctly understood Thomas Winischhofer's installation guide:

Quote:

XFree86 driver source:
* Note 1: The following instructions assume that you have installed binary XFree86 packages and only want to (re)compile sis-related code and not the whole XFree86 environment.
* Note 2: You need the whole XFree86 source tree to build the SiS XFree86 driver.
* Extract my source archive to a temporary directory, ie. anywhere but the XFree86 source tree. Ignore an eventual "ignoring trailing garbage" messages during extraction.
# For 4.3 and 4.4: Copy all .c and .h files from that temporary directory over the existing ones inside the XFree86 source tree (programs/Xserver/hw/xfree86/drivers/sis/). DO NOT COPY THE Imakefile!
# Source from XFree.org: cd into the "xc" directory of the XFree86 source tree and run "make World". At first, this will create Makefiles, convert font files and do some other stuff. Then it will start compiling. If you only want to compile the sis driver and not the whole XFree86 environment, you can cancel the building process as soon as sis_dri.so has been compiled.
# cd into the sis directory (programs/Xserver/hw/xfree86/drivers/sis/), run "make clean" and then "make".
# Copy the newly generated sis_drv.o from programs/Xserver/hw/xfree86/drivers/sis/ over the existing one. Normally, the file is located in /usr/X11R6/lib/modules/drivers/.
Since make clean and make didn't have anything to do in programs/Xserver/hw/xfree86/drivers/sis/ I figured to use the make World from the top of the source tree.

What am I missing?

Cheers, Leon.

shepper 03-05-2004 06:20 PM

Winischoffers drivers have been included in xfree 4.4.
I would just install the binaries from xfree

Xfree 4.4 change log

mokojin 03-06-2004 05:14 AM

like shepper says, just download the binaries.

i have installed xfree today, and throught the instalation script that comes with the binaries the instalation procedure is quite simple. btw my DRI drivers are working fine now :-)

BroX 03-08-2004 10:20 AM

Thanks!

Installed xfree 4.4.0 and DRI 'almost' works! glxgears now indicates about 200 fps (instead of 30 before), BUT I don't see the 3 wheels inside the window! That can't be good.

Haven't done much checking yet, but I can tell you this:

Code:

glxinfo:
Direct rendering enabled
OpenGL renderer string: Mesa DRI SiS 20030810 AGP 1x x86/MMX/SSE

This indicates that DRI should be functioning.

In the DRI User Guide (from Xfree4.4.0) I found the following command to check if bus mastering is enabled.

Code:

setpci -s 01:00.0 4.w  (when 01:00.0 corresponds with the videocard)
If not they provide a short shell script to enable it. It was not enabled, and after running the script it is still disabled.

Another check is to see if libGL.so is in fact DRI-capable, is running the following command and look for symbols prefixed with XF86DRI:

Code:

strings libGL.so.1.2 | grep DRI 
<snap>
XF86DRIQueryDirectRenderingCapable returned false
XF86DRIGetClientDriverName: %d.%d.%d %s (screen %d)
XF86DRIQueryDirectRenderingCapable failed
<snap>

Then I saw in the DRI Compilation Guide that Direct Rendering manager should be disabled in the kernel since xfree loads it's own modules. Doing that reverses my system to the old state, with 30 fps.

Please, if anyone has an idea what's going on here I'd love to hear about it.

PS: I have downloaded tuxracer today to see if that will work anyway... more later.

EDIT: Next day: PPS: Tuxracer indeed works a lot faster, however, the lowerleft diagonal half of the screen is completely scr*wed up! Only lines originating from the left upper corner and like sun rays blocking half the screen. In the background I can see the scenery flashing by.... arrrrrggghhhhh... almost there though?


All times are GMT -5. The time now is 05:51 AM.