View Full Version : 3D support on an ATI IGP 340m!!!
Scoob_E
2004-05-06, 03:23 PM CDT
NOTE: version 6.8 of x.org includes support for IGP series chipsets. I installed yesterday following the directions in the documentation and have my laptop pumping out 3d like a champ (not really a champ only ~400 fps in glxgears - that will need some more work)
This is my first how-to, so feel free to critizize it, make additions, or just tell me I'm full of crap. Have fun....
First let me start by saying this worked for me, however your mileage may vary. Also BACK UP YOUR SYSTEM BEFORE YOU TRY THIS, this is the result of about the thousandth time I have tried this, yet only the first successful attempt. My previous attempts have resulted in failures varying from destroying gnome to not being able to boot X, so you've been warned... this is not for the faint of heart.
Okay, if your still reading this I'll assume your extremely brave and made backups... (no if you haven't backed up your files, GO AND DO IT, or you could find yourself having to learn to burn CDs from the command line very quickly... this is the voice of experience speaking).
Here is the hardware (and software) that I'm using:
A HP Pavilion ze4220 Laptop
1.7ghz (iirc) Celeron
ATI IGP 340M 64mb onboard video
512mb of RAM
Fedora Core 2 Test 3
2.6.5-1.351 kernel
fully up2date (as of 5/6/04)
This should work with Fedora Core 1 with a 2.4 kernel also, but I'm not quite sure (if someone wants to try it out and let me know that would be great)
And now ladies and gentlemen the feature presentation:
NOTE: You may need to install some development packages including kernel-source and xorg-X11-devel and any required dependancies. (I usually install all the developement stuff when I install Linux, so I am not sure if this is the complete list... if some one does please post and let me know)
I'll put all the commands to type in brackets ({}) with each command in in its own set of brackets
1.In your home folder make a directory called 3d:
{mkdir ~/3d}
2.Change to the directory you just made:
{cd ~/3d}
3.Get DRI, DRM, and Mesa from CVS (when asked for a password hit enter):
{cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri login}
{cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co xc}
{cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/mesa login}
{cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/mesa co Mesa}
{cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri login}
{cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co drm}
This will create 3 new directories: dri, drm, and Mesa.
If you cannot access the CVS (i.e. firewalls, etc.) I have been told that you can download the CVS from these links:
for the Mesa source:
http://freedesktop.org/cgi-bin/viewcvs.cgi/mesa/
and for xc and drm:
http://freedesktop.org/cgi-bin/viewcvs.cgi/dri/
NOTE: If you download from the above links you will get two tarballs. Download them into your 3d folder and extract them
{tar xzvf mesa.tar.gz}
{tar xzvf dri.tar.gz}
Change to the dri directory to compensate for the different directory structure in the tarball (so the rest of the howto should work).
{cd dri}
4.Configure DRI so that it knows where the DRI and Mesa directories are:
Edit xc/xc/config/cf/host.def with your favorite text editor mine is gedit so I ran
{gedit xc/xc/config/cf/host.def}
Now edit the lines that say “#define MesaSrcDir” and “#define DRMSrcDir” to point to the directories just created in the previous step. i.e. my lines were edited to:
#define MesaSrcDir /home/john/3d/Mesa
#define DRMSrcDir /home/john/3d/drm
NOTE: If you are using the tarballs of the cvs the line that I list above as:
#define DRMSrcDir /home/john/3d/drm
would change to:
#define DRMSrcDir /home/john/3d/dri/drm
and the line I list above as:
#define MesaSrcDir /home/john/3d/Mesa
would change to:
#define MesaSrcDir /home/john/3d/mesa/Mesa
This should be the last change to compensate for the difference in getting the cvs from the cvs command and getting it from the tarballs.
5.Now we compile mesa, drm and dri:
{cd xc/xc/}
{make World >& world.log &}
This will save the output of th compile to a file called world.log in the current directory. If you want to watch the compile (I found this the easiest way to know that the compile finished) type:
{tail -f world.log}
When the compile is done hit CTRL+D to exit tail.
6.Check the compile for errors by typing:
{grep '\*\*\*' world.log}
If anything is displayed, you will have to go through world.log and try and trouble shoot your errors (I have no idea what errors you will run into, because this worked on the first try for me)
7.Now we install the files that we just built:
IF YOU ARE USING XFREE86 (this would be people with Fedora Core 1 installed (I haven't tested this so it may or may not work... thats why we made backups remember) simply type as root (i.e. use the su command to become root first):
{make install}
IF YOU ARE USING X.ORG (this is the Fedora Core 2 people) things are a little more complicated so here we go:
First we back up our old X server modules (as root... use su to become root):
{tar cfP /tmp/old-modules.tar /usr/X11R6/lib/modules}
Now we install our new 3d and 2d modules we just built (still as root):
{cp exports/lib/modules/dri/*.so /usr/X11R6/lib/modules/dri}
{cp exports/lib/modules/extensions/lib{glx,GLcore,dri}.a /usr/X11R6/lib/modules/extensions}
{cp exports/lib/modules/linux/libdrm.a /usr/X11R6/lib/modules/linux}
{cp exports/lib/modules/drivers/*_drv.o /usr/X11R6/lib/modules/drivers}
Now we back up Mesa and install the new files (still as root):
{tar cfP /tmp/old-mesa.tar /usr/X11R6/lib/*{GL,Mesa}*}
{cp exports/lib/*{GL,Mesa}* /usr/X11R6/lib}
{ldconfig}
This can be undone (if it doesn't work and only for the x.org method) by typing as root:
{tar xfP /tmp/old-modules.tar}
{tar xfP /tmp/old-mesa.tar}
{ldconfig}
8.Now we need to download the latest DRI kernel module snapshot from: http://www.freedesktop.org/~dri/snapshots/
At the time of writing the file we need is radeon-20040506-linux.i386.tar.bz2, but a new file is released everyday, so its probably best to get the latest file. Download the file to the 3d directory that you created.
9.Change to your 3d directory
{cd ~/3d/}
UnTar the file
{tar xjvf radeon-*-linux.i386.tar.bz2}
Change to the new directory
{cd ./dripkg}
as root run the installer
{./install.sh}
Now it will give you a warning about running the install while X is running, thats okay, just hit enter. The installer found all of my directories just fine so I just had to hit enter every time it told me to (you should to, unless you've done something funky to your system in which case you should now which folders to use).
10.Now its time to edit Xfree86Config or xorg.config (which ever one is in your /etc/X11/ directory) NOTE: You will need to be root to do this. So its su time again.
{cd /etc/X11/}
now open the appropriate file (Xfree86 for Fedora Core 1 and xorg.conf for Fedora Core 2) with your favorite text editor. For me this was:
{gedit /etc/X11/xorg.config}
First make sure that you are loading all the required modules in the “modules” section of the file. If they are not all there (as some of them probably aren't) you'll need to add the ones you are missing from the list below:
Load “GLcore”
Load “glx”
Load “dri”
Now change the video card section to optimize the card. Mine changed from:
Section "Device"
Identifier "Videocard0"
Driver "radeon"
VendorName "Videocard vendor"
BoardName "ATI Radeon (generic)"
EndSection
To:
Section "Device"
Identifier "Videocard0"
Driver "radeon”
VendorName "ATI"
BoardName "Radeon Mobility U2"
VideoRam 65536
BusID "PCI:1:5:0"
Option "AGPMode" "4"
Option "DPMS"
Option "AGPFastWrite" "On"
Option "EnablePageFlip" "On"
EndSection
Now all that should be left is to reboot your computer and enjoy your 3d acceleration.
Thanks to the people working on the DRI modules for one their work to support my chipset, and two the installation how to that I used as the basis for the DRI, DRM, Mesa install section. Also, I would like to thank the author of: http://users.telenet.be/ze5500 whose name I do not know, but his or her site pointed me in the right direction with this how to.
Also I would like to thank everyone on fedoraforum.org for pointing out the shortcoming of my how-to and helping me correct them.
NOTE: I only experienced a 300 fps jump in glxgears, but I can play tuxracer just fine.
NOTE: To play tuxracer your ~/.tuxracer/config file needs to be edited things that you need to change in it are
a. set the fullscreen resolution to 1024x768 (or the resolution you are running X at). (you may not have to do this, but I did)
b. there is a setting to remove the fog... the file says that this is for a RAGE 128, i needed to set this to true so the screen didn't look washed out.
CHANGE LOG:
May 25, 2004 -
Added change log.
Corrected typo (GLcore instead of Glcore). Thanks ogetbilo
Added notes to mitigate the differences between CVS and the CVS tarballs. Thanks momendo
July 9, 2004 -
Corrected typo in instructions for CVS tarballs. Thanks termleech
July 21, 2004 -
Added note to make sure that development packages are installed first. Thanks magotes
Also would like to thank Matthew.east for the links to the CVS tarballs (belatedly).
Added thank you's to the change log... (finally... better late than never I guess)
HappyMutant
2004-05-16, 09:20 PM CDT
A thousand thanks. This finally makes my Radeon card happy.
critical HOWTO bug: in step 7, each of those lines should read "cd export/..."
other than that, this worked perfectly for me.
Scoob_E
2004-05-16, 09:34 PM CDT
THNX for the heads up, the dir name must have changed since my install.
HappyMutant
2004-05-17, 12:02 AM CDT
Sorry, I typoed that beyond recognition. I meant,
"cp exports/..."
Strangely enough, this stopped working after I rebooted... *sweats*
Scoob_E
2004-05-17, 02:59 PM CDT
Ok now that i see your typo i see mine...
and if your still having xserver probs let me know (post you x logs and config too) and I'll try and help (or at least point you in the right direction)
HappyMutant
2004-05-17, 04:29 PM CDT
X starts up fine. In fact, the log file shows no errors or warnings. glxgears also gives reasonable perfomance. But any application I try to run in fullscreen mode is just a blank screen - even though its music accompanies it, and keyboard input goes to that application. (I can therefore get out easily.)
From `lspci -v`
[. . .]
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon IGP 340M (prog-if 00 [VGA])
Selections from /etc/X11/xorg.config:
Section "Module"
Load "dbe"
Load "extmod"
Load "fbdevhw"
Load "record"
Load "freetype"
Load "type1"
Load "Glcore"
Load "glx"
Load "dri"
EndSection
[ . . . ]
Section "Device"
Identifier "Videocard0"
Driver "radeon"
VendorName "ATI"
BoardName "ATI Radeon"
VideoRam 65536
BusID "PCI:1:5:0"
Option "AGPMode" "4"
Option "DPMS"
Option "AGPFastWrite" "On"
Option "EnablePageFlip" "On"
EndSection
I put both files online: xorg.config (http://www.cse.sc.edu/~elderm/xorg.config) Xorg.0.log (http://www.cse.sc.edu/~elderm/Xorg.0.log)
Picomp314
2004-05-17, 05:07 PM CDT
are you sure you need the lines:
Load "Glcore"
Load "dri"
????
matthew.east
2004-05-18, 04:56 AM CDT
I am quite keen to try this, as I have this graphics card and am having some problems with it (example attached).
However can you let me know how to do step 3 in a different way. I am behind a firewall which allows me to go through ports 21 and 80 but not a lot else :(
I would really appreciate it. Thanks, Matt
Scoob_E
2004-05-18, 09:26 AM CDT
HAPPYMUTANT: Im taking a shot in the dark here, but you may want to try either Plcomp314's sugestion or this. Remove the optimazations from the video card section of your xorg.config. i.e.:
go from:
Section "Device"
Identifier "Videocard0"
Driver "radeon”
VendorName "ATI"
BoardName "Radeon Mobility U2"
VideoRam 65536
BusID "PCI:1:5:0"
Option "AGPMode" "4"
Option "DPMS"
Option "AGPFastWrite" "On"
Option "EnablePageFlip" "On"
EndSection
to:
Section "Device"
Identifier "Videocard0"
Driver "radeon”
VendorName "ATI"
BoardName "Radeon Mobility U2"
#VideoRam 65536
#BusID "PCI:1:5:0"
#Option "AGPMode" "4"
#Option "DPMS"
#Option "AGPFastWrite" "On"
#Option "EnablePageFlip" "On"
EndSection
matthew.east: I am not sure where else to get the source from. You can try looking on dri.sf.net for tarballs (I did a quick look-see and didn't find them, but they might still be there). Also I assume (always dangerous) that you could build Mesa DRI and DRM out of the latest XFree86 source. I think 4.4 has support for the IGP 340M, but im not sure... you'ld have to check. 4.4.99 I imagine would have support in it (as it is the development code), but as I have never tried this beforeim not sure how it would work. The procedure may be similar (especialy after you get everything compiled), but I don't know...
Peace
John
matthew.east
2004-05-19, 06:30 AM CDT
For anyone who is limited by firewalls like me: a friend of mine showed me where to get the source from:
http://freedesktop.org/cgi-bin/viewcvs.cgi/mesa/
http://freedesktop.org/cgi-bin/viewcvs.cgi/dri/
Then get the Mesa directory from the first one, and the xc and drm
directories from the second.
Scoob_E
2004-05-19, 09:11 AM CDT
Thats a great work around for people behind firewalls. Do you mind if I add that to my how-to.
John
matthew.east
2004-05-20, 03:41 AM CDT
Yes of course you can add whatever you like.
I have just been through the procedure you described, and have installed everything exactly as it appeared. Nothing went wrong. However I have not noticed any difference with my display. How can I check that this has worked?
I am still having the problems which I was having in the past. For example when I scroll down text in Gnome Terminal slowly it does not appear correctly (as per the image I attached in the earlier post).
I am on a Compaq Presario 2100 (2104EA to be precise) with 192MB RAM these things:
00:00.0 Host bridge: ATI Technologies Inc RS200/RS200M AGP Bridge [IGP 340M] (rev 02)
00:01.0 PCI bridge: ATI Technologies Inc PCI Bridge [IGP 340M]
00:02.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03)
00:06.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link Controller Audio Device (rev 02)
00:07.0 ISA bridge: ALi Corporation M1533 PCI to ISA Bridge [Aladdin IV]
00:08.0 Modem: ALi Corporation M5457 AC'97 Modem Controller
00:0a.0 CardBus bridge: O2 Micro, Inc. OZ6912 Cardbus Controller
00:10.0 IDE interface: ALi Corporation M5229 IDE (rev c4)
00:11.0 Bridge: ALi Corporation M7101 PMU
00:12.0 Ethernet controller: National Semiconductor Corporation DP83815 (MacPhyter) Ethernet Controller
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon IGP 340M
I am running Fedora Core 2 updated as per today. Below this message are the relevant parts from /etc/X11/xorg.conf. Is anyone able to help me with this?? is it to do with the very last section?
many thanks, Matt
Section "Module"
Load "dbe"
Load "extmod"
Load "fbdevhw"
Load "glx"
Load "record"
Load "freetype"
Load "type1"
Load "dri"
Load "Glcore"
EndSection
{snip}
Section "Monitor"
### Uncomment if you don't want to default to DDC:
# HorizSync 31.5 - 48.5
# VertRefresh 40.0 - 70.0
### Uncomment if you don't want to default to DDC:
# HorizSync 31.5 - 37.9
# VertRefresh 50.0 - 70.0
### Uncomment if you don't want to default to DDC:
HorizSync 31.5 - 37.9
VertRefresh 50.0 - 70.0
Identifier "Laptop LCD Panel"
VendorName "Monitor Vendor"
ModelName "LCD Panel 1024x768"
### Uncomment if you don't want to default to DDC:
# HorizSync 31.5 - 37.9
# VertRefresh 50.0 - 70.0
Option "dpms"
EndSection
Section "Device"
Identifier "IGP 340M"
Driver "radeon"
VendorName "ATI"
BoardName "Radeon Mobility U2"
VideoRam 65536
BusID "PCI:1:5:0"
Option "AGPMode" "4"
Option "DPMS"
Option "AGPFastWrite" "On"
Option "EnablePageFlip" "On"
Option "MonitorLayout" "LVDS"
Option "PanelSize" "1024x768"
Option "DPMS"
EndSection
Section "Screen"
Identifier "Screen0"
Device "IGP 340M"
Monitor "Laptop LCD Panel"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "DRI"
Group 0
Mode 0666
EndSection
matthew.east
2004-05-20, 03:53 AM CDT
Beh perhaps I'd better include some of the log too. It's a bit long so I've attached it. It won't accept the file extension .log so I've changed it to .txt ;)
Hope you can help.
matthew.east
2004-05-20, 06:56 AM CDT
Have cleared up some of the errors. It turns out glcore is loaded as a sub-module of glx so didn't need that. As far as I can see the log file is now clear of errors and all the modules are loading. But no improvement with my problem.
:(
Attached is the latest log file.
Scoob_E
2004-05-20, 10:26 AM CDT
Matthew, to test to see if you have enabled 3D support run glx gears from the command line... Before following my how-to, (well prior to writing it) i got ~150fps after i get ~420fps, not enough to run UT2k4 very well, but tux racer runs... as far as your other problem, I have never seen that before nor have a clue how to fix it.
Some things i would check though (you might have already) is:
1. does it happen with the frame buffer driver (VESA)
2. try a clean install with freshly burned cds... (its drastic, but maybe something wentwrong durring the install)
Other than that I am taped out on ideas (but im sure if you ask elsewhere on the forum, im sure somebody can help you)
Sorry
matthew.east
2004-05-21, 03:59 AM CDT
Thanks for that Scoob_E I will try the command that you suggest, and also with VESA. Some day soon I guess that I will do a reinstall, but I'm so happy with the rest of the system at the moment that it will be a wrench!! ;)
I originally installed with Test 2.
thanks for your ideas, and I will post somewhere else on the forum.
Mx
ogetbilo
2004-05-21, 09:02 PM CDT
hi guys,
should that be
Load "Glcore"
or
Load "GLcore"
or does that not matter?
well I tried it with GLcore and it worked:) thanks for the howto!
ogetbilo
2004-05-21, 09:48 PM CDT
Ok, I have a IGP 320M (ATI RADEON MOBILITY U1, with 32 MB Ram)
I did exactly what is told in the howto.
except I put the following in the xorg.conf
Section "Device"
Identifier "Videocard0"
Driver "radeon”
VendorName "ATI"
BoardName "Radeon Mobility U1"
VideoRam 32768
BusID "PCI:1:5:0"
Option "AGPMode" "4"
Option "DPMS"
Option "AGPFastWrite" "On"
Option "EnablePageFlip" "On"
EndSection
( I also put { Load "GLcore" }instead of a { Load "Glcore" })
I thought I got it working, actually it is working.
My GL screensavers work perfect.
But I tried to play tuxracer and I have this vertical black strip in the middle of the screen
I am attaching the screenshot.
I got the exact same result on the same machine with a 2.4.22.1-2174 kernel on FC1 and 2.6.5-1.358 on FC2.
Same thing happens when I try to play Warcraft 2 using winex3.1 (which is NOT 3D)
something is wrong with the setting I dont know what.
Scoob_E
2004-05-22, 08:47 AM CDT
See my notes on editing the ~/.tuxracer/config file at the end of the how-to. That should at least point you in the right direction.
ogetbilo
2004-05-22, 06:21 PM CDT
Sorry I didn't see that note in the first time.
OK tuxracer works when I change the display setting to 1024x768.
but what about other games? warcraft for example work only in 640x480. is there a way to adapt games with different resolution?
Scoob_E
2004-05-23, 12:19 AM CDT
I've never had any problems with other games, so this is only a guess but I would try adding some other resolutions to your xorg.conf file (if they are not already there... in mine I only use 1024x768) in the [DISPLAY] section you should see the syntax to use (im not infront of my laptop right now or I would post my xorg.conf, but in the display section you will see a few bit depths and resolutions (for me it was near the video card section) and try adding "640x480" after the last value (if its not already there)
If any what I just typed made sense to anyone I'll be amazed...
good luck
ogetbilo
2004-05-23, 03:36 AM CDT
I already have them in xorg.conf
My solution was configuring winex to display games in a window rather than in fullscreen. I have to change the configuration for each game, but that's ok.
Thanks for your help and patience Scooby. I appreciate it:)
momendo
2004-05-24, 09:33 AM CDT
Thanks for the How-To on ATI IGP! I tried this out on my Compaq 2100 with ATI IGP 320M. It works! I have full OpenGL support. It's a bit slow, but then again the 320M has always been slow, even in windows.
You should post your FAQ into the unofficial Fedora FAQ! http://www.fedorafaq.org/
The only problem with your how-to - you weren't clear with the folder stucture of the files you have to download. For those checking out the drm, dri, xc folder, it will be different if you pull them out of CVS than those who pull down the tar ball. The tar ball holds all the files in a dri/FOLDER_GOES_HERE folder. My compiles kept failing until I properly used the correct paths.
This is very helpful for those who run Laptops with ATI Radeons. It's a shame that Fedora 2 couldn't use the newer RADEON driver code. Fedora2 doesn't even detect my ATI IGP upon install! Anybody who uses a modern laptop with RADEON graphics will run into these problems.
Joe
Scoob_E
2004-05-24, 03:54 PM CDT
thanks for pointing that directory thing out to me...
glad I could help you get your 340 up and running
momendo
2004-05-24, 07:07 PM CDT
Oh and two more things...
1. Glcore you mentioned is not correct. It should be GLcore... <-- uppercase L I looked in my Xorg log file and it showed EE unable to load Glcore module. It was spelt wrong. This is important, because even though 3D will still work, it will cause x to stutter during loading while it tries to load this misspelt module name.
2. If you recompile your kernel other than the kernel you used to compile these updated X drivers, the newer drivers will fail to load due to a version conflict. So if you compile your kernel, recompile these X drivers again against your new kernel otherwise they'll fail and you won't get 3D.
Joe
Scoob_E
2004-05-25, 08:39 AM CDT
Thanks again... a few more things i over looked... sooner or later this thing might justbe perfect (i'm sure by then either xorg will support the 340m out of the box or the procedure will change... oh well)
matthew.east
2004-05-26, 04:40 AM CDT
Are you guys sure that GLcore is necessary: on my system loading the glx module seems to load the GLcore as a submodule. If I insert GLcore as a separate module it simply reloads it.
Scoob_E
2004-05-26, 11:06 AM CDT
It was in all of the resources I found, but you can always test without it to see if you need it... just comment it out . The worst thing that could happen is you would have to use the command line if x wont start to edit the file with nano or your favorite CLI text editor to uncomment the GLcore line (though all I think would happen is you won't get 3d, and you would just uncomment it).
as always let me know how it goes, and thanks on your input
Jimmy_Debian
2004-06-14, 10:02 PM CDT
Hello
first of all, thank you very much for this tutorial! on my hp ze4386 notebook it works now pretty good.
now i'd like to test some games, and downloaded CUBE from http://cube.sourceforge.net/
when i launch the linux_client executable, the screen appears black, and sound is playing.. but i do not see anything.. have anyone experience with that one? i didn't find a setting for display resolution, like in tuxracer...
thanks in advance for help
jimmy
Scoob_E
2004-06-14, 11:05 PM CDT
as far as CUBE goes, I have never used/played it so I am of little help with it. The settings for tux racer are held in a text config file in ~/.tuxracer (the file's name excapes me, but i belive it is the only file in the directory). The file is well commented so you should have no trouble finding where to set the screen resolution. Let me know if I can be of any more help...
Scoob
Jimmy_Debian
2004-06-14, 11:19 PM CDT
sorry, i didn't express me right, my english isn't very well. in tuxracer it's very easy to configure, i know this config file you mentioned. my question is, if there is also a setting like that for the game CUBE. :)
thanks
PS: is it possible for you to try this game on your machine? and tell me if i misconfigured something? or someone else? would bee greeeat! :)
Scoob_E
2004-06-14, 11:55 PM CDT
oh im sorry, try doing a ls -a (list everything including hidden files/directories) in your home directory to see if there is a .cube directory, there may be a configuration file there. Also try looking in /etc for a cube directory or a cube config file.... Unfortunatly my laptop is dead so I wont be able to run anything till i fix my power connector.
Also you may want to try posting in the software forum to see if anyone is familiar with CUBE....
Sorry i cant be of more help
scoob_e
termleech
2004-07-09, 07:04 PM CDT
In your how-to, if you download the tarball for Mesa and DRI, you need to change
#define MesaSrcDir /home/john/3d/mesa
to
#define MesaSrcDir /home/john/3d/mesa/Mesa
I just tried to compile and had that problem.
Chuck
Scoob_E
2004-07-09, 11:47 PM CDT
thanks for pointing that out!
scoob
magotes
2004-07-15, 09:50 PM CDT
Just to add a reminder:
For building the modules, you must have some packages installed. Aside from the basic development stuff (make, gcc, etc...) you still need some other things, else your "make World" will fail.
One (or both?) of the following might be required:
1- kernel-source (+ kernel tools) [i'm not sure on this one, though...]
2- xorg-x11-devel [and the required dependencies]
Though it might seem obvious for some people, to me it wasn't :D
Oh, BTW, GREAT HOWTO!! Right on the spot. Now, the challenge is incresing those FPS. If anyone has some tips, please let us know!!
Another note: For what I've hear in the omegadrive forum, the "AGPFastWrite" option doesn't provide any speed increase, but can hang the system under certain conditions... If you have problems, consider turning it off.
Scoob_E
2004-07-22, 01:50 AM CDT
Thanks for the info... I didn't think about the dependancies (which is why opensource is great... everyone working together to make sure that the end result works.)
Thanks again, and glad I could help
Scoob
termleech
2004-07-30, 07:34 PM CDT
Well I just tried following the instructions on my laptop and I've having some problems. My specs are as follows:
Fujitsu C2210 Laptop
IGP 340M
Fedora Core 2
Linux Kernel 2.6.6-1.435.2.3
When doing a make World, I'm getting and error about making drm.h. I've attached the output of the make World. Any help would be much appreciated.
Scoob_E
2004-07-31, 04:31 AM CDT
I'm going out on a limb here (I have never had trouble with the make World), but do you have all the developement packages installed? (for X and the kernel etc) If you dont try installing the kernel source and x devel packages and retry. If you have installed them or my first suggestion didn't work look to see if the file is even there (maybe your checkout from cvs missed something)?
you may also want to pm magotes to see what his make World problem was and how he fixed it.
hope I said something helpful
scoob
termleech
2004-07-31, 05:02 AM CDT
Well, I double checked to make sure I had the development packages installed ( I checked when I first had the problem, but I figured I'd make absolute sure) and they are installed. I'm behind a corporate firewall so I had to download the tarballs from viewcvs. I had this working on my machine before I had to reinstall. The interesting thing is I looked at the Makefile where it says that drm.h doesn't exists and it's there plain as day, so I'm not sure what is wrong there. Anyone else have any ideas?
swsnyder
2004-08-06, 03:34 PM CDT
On July 9th I built 3D support for my I340M using the directions in the How-To. No problems seen at all.
Now I can't rebuild the code. Following the How-To instructions, I consistently get a build error (see below). I've been unable to build for the last week, trying both CVS and tarballs.
Can someone please try rebuilding with the current CVS xc/Mesa/drm and let us know if the build completes?
Thanks.
--------------------------------
rm -f dri_util.o
gcc -m32 -c -O2 -fno-strength-reduce -fno-strict-aliasing -ansi -pedantic -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wundef -pipe -g -I../../../../../../exports/include/X11 -I../../../../../../include/extensions -I/home/steve/3d/Mesa/src/mesa -I/home/steve/3d/Mesa/src/mesa/main -I/home/steve/3d/Mesa/src/mesa/shader -I/home/steve/3d/Mesa/src/mesa/glapi -I/home/steve/3d/Mesa/src/mesa/drivers/dri/common -I/home/steve/3d/Mesa/src/mesa/drivers/dri/../common -I/home/steve/3d/Mesa/include -I../../../../../../lib/GL/dri -I../../../../../../exports/include/X11 -I../../../../../../lib/GL/glx -I../../../../../../lib/GL/include -I../../../../../../programs/Xserver/GL/dri -I../../../../../../programs/Xserver/hw/xfree86/os-support -I../../../../../../programs/Xserver/hw/xfree86/common -I../../../../../../lib/GL/dri/drm -I../../../../../../lib/GL/include -I/home/steve/3d/drm/shared -I../../../../../../exports/include -I../../../../../.. -I../../../../../../exports/include -I/usr/X11R6/include -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DFUNCPROTO=15 -DNARROWPROTO -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -DMALLOC_0_RETURNS_NULL -DGLXEXT -DXF86DRI -DGLX_DIRECT_RENDERING -DGLX_USE_DLOPEN -DGLX_USE_MESA -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM dri_util.c
In file included from dri_util.c:41:
../../../../../../lib/GL/glx/xf86dri.h:98: warning: redundant redeclaration of `XF86DRIDestroyContext' in same scope
/home/steve/3d/Mesa/include/GL/internal/dri_interface.h:153: warning: previous declaration of `XF86DRIDestroyContext'
../../../../../../lib/GL/glx/xf86dri.h:101: warning: redundant redeclaration of `XF86DRICreateDrawable' in same scope
/home/steve/3d/Mesa/include/GL/internal/dri_interface.h:156: warning: previous declaration of `XF86DRICreateDrawable'
../../../../../../lib/GL/glx/xf86dri.h:104: warning: redundant redeclaration of `XF86DRIDestroyDrawable' in same scope
/home/steve/3d/Mesa/include/GL/internal/dri_interface.h:159: warning: previous declaration of `XF86DRIDestroyDrawable'
In file included from dri_util.c:49:
dri_util.h:562: warning: redundant redeclaration of `glXGetProcAddress' in same scope
/home/steve/3d/Mesa/include/GL/glx.h:295: warning: previous declaration of `glXGetProcAddress'
dri_util.c: In function `driCreateNewDrawable':
dri_util.c:851: warning: assignment from incompatible pointer type
dri_util.c: In function `driCreateNewContext':
dri_util.c:1036: warning: assignment from incompatible pointer type
dri_util.c:1037: warning: assignment from incompatible pointer type
dri_util.c:1039: warning: assignment from incompatible pointer type
dri_util.c:1040: warning: assignment from incompatible pointer type
dri_util.c: In function `driCalculateSwapUsage':
dri_util.c:1640: warning: ISO C forbids nested functions
dri_util.c:1640: error: syntax error before "get_msc_rate"
dri_util.c:1647: error: `get_msc_rate' undeclared (first use in this function)
dri_util.c:1647: error: (Each undeclared identifier is reported only once
dri_util.c:1647: error: for each function it appears in.)
dri_util.c:1648: error: `PFNGLXGETMSCRATEOMLPROC' undeclared (first use in this function)
dri_util.c:1649: error: syntax error before "glXGetProcAddress"
dri_util.c:1653: error: `get_msc_rate' used prior to declaration
dri_util.c:1653: warning: implicit declaration of function `get_msc_rate'
make[6]: *** [dri_util.o] Error 1
make[6]: Leaving directory `/home/steve/3d/xc/xc/lib/GL/mesa/drivers/dri/common'
make[5]: *** [all] Error 2
make[5]: Leaving directory `/home/steve/3d/xc/xc/lib/GL/mesa/drivers/dri'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/home/steve/3d/xc/xc/lib/GL'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/steve/3d/xc/xc/lib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/steve/3d/xc/xc'
make[1]: *** [World] Error 2
make[1]: Leaving directory `/home/steve/3d/xc/xc'
make: *** [World] Error 2
termleech
2004-08-09, 10:41 AM CDT
I'm having the exact same problems if you look at my log. Anyone have any ideas?
[emblym]
2004-08-09, 10:54 PM CDT
i am having problems as well on the compile..here is my log
make[2]: *** No rule to make target `distclean'.
make[2]: *** No rule to make target `distclean'.
make[3]: *** No rule to make target `distclean'.
make[3]: *** No rule to make target `distclean'.
make[3]: *** No rule to make target `distclean'.
make[3]: *** No rule to make target `distclean'.
make[3]: *** No rule to make target `distclean'.
make[3]: *** No rule to make target `distclean'.
make[5]: *** No rule to make target `distclean'.
make[5]: *** No rule to make target `distclean'.
make[6]: *** [dri_util.o] Error 1
make[5]: *** [all] Error 2
make[4]: *** [all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [all] Error 2
make[1]: *** [World] Error 2
make: *** [World] Error 2
this has been a major problem for me for the past couple of months. i would be willing to pay for someone to do this for me through SSH. i cant get this to work for anything. please help
also what part of this tutorial should be done in root. and what should be done in user mode. thanks
Scoob_E
2004-08-10, 11:16 PM CDT
I just built the CVS tree a few weeks ago when I reformated my laptop and I had no problems. My only guess would be that an error has been introduced into the cvs tree or the build procedure has changed. The DRI site is http://dri.sf.net IIRC they have an archive of their devel list, I'ld check to see if there is any metion of any problems with the cvs tree
Scoob
swsnyder
2004-08-11, 08:24 AM CDT
From reading the posts on the DRI mailing list it seems that this problem isn't going to get fixed, as development has migrated to xorg.
Guess the How-To will have to be updated.
Scoob_E
2004-08-11, 09:29 PM CDT
I'll have to look into that when I get a chance... Thanks for doing the research for me, work and my significant other have taken up all of my time and I haven't been able to keep up with the tread.
On the bright side, if devel is moving towards xorg, hopefully this how-to will become obsolete in the near future
Scoob
Picomp314
2004-08-11, 10:46 PM CDT
just to confrm the problem
trying to get it working on a Fujitsu Lifebook with 340M
ends with similar errors to those above
tried using both the tar files and cvs
i am sure i have all the necessary packages required for building installed
having problems finding the archived cvs versions, if someone could provide me a link to them it would be greatly appreciated
Scoob_E
2004-08-12, 12:27 PM CDT
when I get a chance I will do a make clean on my CVS checkout I used to build a few weeks ago and post them up, but like I said before I am slammed at work so I don't know when I will get a chance.
Scoob
skyo
2004-08-22, 01:14 PM CDT
Hello. Only report a success in Debian Sid following the build process for Fedora Core 1. Here is my information:
Build date: 8/22/2004
SO: Linux Debian Sid
gcc: gcc version 3.3.3 (Debian 20040417)
Radeon file: radeon-20040822-linux.i386.tar.bz2
Mesa, drm, xc: Snapshot taken from CVS
Kernel: 2.4.27 CUSTOM (taken from http://www.kernel.org )
All works perfectly. Remember restar system after all is generated and installed (dri drivers do not work without a reboot). Now I can play bzflag with a perfect looking :) . Thanks!!!
Scoob_E
2004-08-25, 03:49 PM CDT
Just wanted to say that it looks like the new release of x.org will solve our 3D woes... making this how-to obsolete....
Scoob
[emblym]
2004-08-26, 05:38 PM CDT
wow thats awesome. how would you go about getting the updated files. and when do u think this will be released.
Scoob_E
2004-08-26, 11:26 PM CDT
Can't really say x.org hasn't released the new version on their site yet. (IIRC they are late... not that thats a bad thing) So I would assume (with all the risks involved) that the rpms would show up on up2date fairly soon after its release (A few weeks at most would be my guess) but I'm in the same boat as everyone else... so I guess we're all going to be on the edge of our seats waiting for the release.
Scoob
swsnyder
2004-08-27, 02:05 PM CDT
Just wanted to say that it looks like the new release of x.org will solve our 3D woes...
Scoob
Which (upcoming) version number are you referring to?
[emblym]
2004-08-27, 02:25 PM CDT
also do u think it will be packaged with fedora core 3?
Scoob_E
2004-08-29, 10:59 PM CDT
i'm hoping that it will be released for fc2 aswell as being included in fc3.... swsnyder the version would be 6.8.... I got my information from an article i found on linuxtoday.com (sorry i dont have the linkage).... sorry its late here, I hope I have been coherent...
scoob
Scoob_E
2004-09-10, 08:53 AM CDT
Version 6.8 of x.org includes support for IGP series chipsets. I installed yesterday from source following the directions in the documentation and have my laptop pumping out 3d like a champ (not really a champ only ~400 fps in glxgears - that will need some more work, but its better than the stock vesa driver and about the same perfomance that this how-to produced)
NOTE: at least yesterday the x.org FTP servers were slow as $*!%, but I got the files off of bittorent in < 10 min. (I am on a full t1 but my kbs stayed where cable and dsl users should get similar results)
Also I don't know if or when 6.8 will be available on up2date, yum or apt as rpms so if you are squeemish about recompiling X then I would wait and see if you can get rpms. If you do choose to install from source BACK STUFF UP FIRST. I installed on a fresh and up2date install of FC2 and didn't have any problems (except having to tell xorg.conf to use the radeon driver and not vesa) but ymmv.
Good luck
Scoob
swsnyder
2004-09-23, 03:21 PM CDT
Another data point:
I installed the FC3/Test2 Xorg v6.8.1 packages yesterday on my FC2 system. Seems to work fine. By "fine" I mean that no errors are seen and I got the same 3D support that I had with the FC2 v6.7.0 packages plus following the how-to in this thread.
I don't see any difference from my previous software. That is, if someone had updated my Xorg frpm v6.7.0 to 6.8.1 without telling me I'd never know it. No new bugs and no difference in performance, in either 2D or 3D.
Wait, there is 1 difference: full-screen 3D works now. Previously the right 1/3 of the full screen display was corrupted. Works great now.
I'm still disappointed in the 3D performance (I still get 400fps in glxgears), but I'm happy that the current Xorg works out of the box.
For reference, here's my hardware environment: Compaq Presario 2570us; P4/2.4GHz; 1GB PC2100 RAM, Radeon I340 video, 1024x768x24bpp resolution
FYI.
Scoob_E
2004-09-24, 02:01 AM CDT
Im still getting the same results, but at least it works out of the box, maybe things will start to get better now ::crosses fingers:: that our chipset is officially supported (i'ld even be happy with a closed source driver from ATI), but I guess we'll have to wait and see
As for everyone who contributed to this thread, thank you for your help...
Scoob
hucast
2004-11-01, 05:56 PM CST
I just worked through the how-to and my dri is still not enabled in glxgears and im still getting ~220fps...Attached is my xorg config...any help would be greatly appriciated. Thanks
Scoob_E
2004-11-02, 08:33 AM CST
Your xorg.conf file seems fine to me. If you can post the results of glxinfo and /var/log/Xorg.o.log so we can see if there is an obvious problem.
Other than that I would compile x.org 6.8 following the instructions on x.org, as it includes support for the IGP chipsets. (I think that it may be available in some of the developement repositories if you want to apt/yum it.)
Scoob
swsnyder
2005-01-22, 05:21 PM CST
After having this machine (Presario 2570us) for 1.5 years I finally cleaned up the not-enough-MTRRs message I've always gotten on X startup. Doing so boosted my glxgears score from 400 to 435.
FYI.
Exsuscito
2005-06-11, 04:03 PM CDT
Recently trying this out on my:
- Fedora Core 3
- Kernel: 2.6.11-1.27_FC3
I got this when trying the *make* command:
make[5]: *** No rule to make target `/home/deorwin/3d/Mesa/src/mesa/swrast/s_alphabuf.c', needed by `s_alphabuf.c'. Stop.
So what I did was looked at the CVS status and sure enough the latest CVS build they removed the s_alphabuf.* files, so I modified the cvs commands to get a revision of all those modules no later than May of last year, since Scoob_E said it compiled fine when he did it, but that was then:
cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri login
cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co -D "06-May-2004" xc
cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/mesa login
cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/mesa co -D "06-May-2004" Mesa
cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri login
cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co -D "06-May-2004" drm
Also note that the DRI kernel module snapshot link is broken, it has been moved to this one:
http://dri.freedesktop.org/snapshots/
Everything compiled successfully, now I just have to install this thing on my Pavilion ze4229 and cross my fingers!
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.