Go Back   Rage3D » Rage3D Discussion Area » Archived Discussions » Linux
Rage3D Subscribe Register FAQ Members List Calendar Mark Forums Read

Linux Forum to discuss the popular Open Source operating system, plus other *NIX derivatives. Discussions about AMD Catalyst drivers can be had in the relevant subforum.

 
 
Thread Tools Display Modes
Old Dec 6, 2003, 04:16 PM   #1
Advertisement (Guests Only)

Login or Register to remove this ad
prahal
Newbie
 
Join Date: Oct 2003
Location: France
Posts: 2
prahal is still being judged by the masses


Default RV200 (eg radeon 7500 QW) 2.6 dri and nforce2 sucess roadmap,ATI is the greatest

Here a roadmap from debian and a pre- r200 card on nforce2 agp and XFree86 43

Feelings:
pro>
its way faster than what i had with old dri for XFree 4.0
it s way faster than my old geforce 2 titanum
eg i render in fullscreen my blender scene instantaneously even animation without flickering
even while all is set to minima setting (agp 1, no fast write, no dri/OpenGL tweaking)
opening 3 or 4 opengl games at the same time is fluent

cons>
haven t tried with wine aka windows games, only native unix ones
radeonfb framebuffer is pink

Debian unstable (aka v3 enhanced)
linux kernel 2.6.0-test11 patched with http://bugme.osdl.org/attachment.cgi...55&action=view
agp fastwrite diabled, agp mode 1
EPOX 8RDA3+ MB, ATi Radeon 7500 card
XFreee 4.3 preversion 4 from debian experimental repository

kernel:
---------
from www.kernel.org:
linux-2.6.0-test11

patch applied:
-----------------
diff -uNr test8orig/drivers/char/agp/nvidia-agp.c test8new/drivers/char/agp/nvidia-agp.c
--- test8orig/drivers/char/agp/nvidia-agp.c 2003-10-17 16:42:56.000000000 -0500
+++ test8new/drivers/char/agp/nvidia-agp.c 2003-10-26 13:44:05.688472984 -0500
@@ -46,10 +46,54 @@
return 0;
}

+#define SYSCFG 0xC0010010
+#define IORR_BASE0 0xC0010016
+#define IORR_MASK0 0xC0010017
+#define AMD_K7_NUM_IORR 2
+
+static int nvidia_init_iorr(u32 base, u32 size)
+{
+ u32 base_hi, base_lo;
+ u32 mask_hi, mask_lo;
+ u32 sys_hi, sys_lo;
+ u32 iorr_addr, free_iorr_addr;
+
+ /* Find the iorr that is already used for the base */
+ /* If not found, determine the uppermost available iorr */
+ free_iorr_addr = AMD_K7_NUM_IORR;
+ for(iorr_addr = 0; iorr_addr < AMD_K7_NUM_IORR; iorr_addr++) {
+ rdmsr(IORR_BASE0 + 2 * iorr_addr, base_lo, base_hi);
+ rdmsr(IORR_MASK0 + 2 * iorr_addr, mask_lo, mask_hi);
+
+ if ((base_lo & 0xfffff000) == (base & 0xfffff000))
+ break;
+
+ if ((mask_lo & 0x00000800) == 0)
+ free_iorr_addr = iorr_addr;
+ }
+
+ if (iorr_addr >= AMD_K7_NUM_IORR) {
+ iorr_addr = free_iorr_addr;
+ if (iorr_addr >= AMD_K7_NUM_IORR)
+ return -EINVAL;
+ }
+ base_hi = 0x0;
+ base_lo = (base & ~0xfff) | 0x18;
+ mask_hi = 0xf;
+ mask_lo = ((~(size - 1)) & 0xfffff000) | 0x800;
+ wrmsr(IORR_BASE0 + 2 * iorr_addr, base_lo, base_hi);
+ wrmsr(IORR_MASK0 + 2 * iorr_addr, mask_lo, mask_hi);
+
+ rdmsr(SYSCFG, sys_lo, sys_hi);
+ sys_lo |= 0x00100000;
+ wrmsr(SYSCFG, sys_lo, sys_hi);
+
+ return 0;
+}

static int nvidia_configure(void)
{
- int i, num_dirs;
+ int i, rc, num_dirs;
u32 apbase, aplimit;
struct aper_size_info_8 *current_size;
u32 temp;
@@ -69,6 +113,8 @@
pci_write_config_dword(nvidia_private.dev_2, NVIDIA_2_APLIMIT, aplimit);
pci_write_config_dword(nvidia_private.dev_3, NVIDIA_3_APBASE, apbase);
pci_write_config_dword(nvidia_private.dev_3, NVIDIA_3_APLIMIT, aplimit);
+ if (0 != (rc = nvidia_init_iorr(apbase, current_size->size * 1024 * 1024)))
+ return rc;

/* directory size is 64k */
num_dirs = current_size->size / 64;
@@ -122,6 +168,10 @@
previous_size = A_SIZE_8(agp_bridge->previous_size);
pci_write_config_byte(agp_bridge->dev, NVIDIA_0_APSIZE,
previous_size->size_value);
+
+ /* restore iorr for previous aperture size */
+ nvidia_init_iorr(agp_bridge->gart_bus_addr,
+ previous_size->size * 1024 * 1024);
}


drm/dri installed from:
----------------------------
http://dri.sourceforge.net/snapshots/

From README.Debian:
deb http://dri.freedesktop.org/~daenzer/...dri-trunk-sid/ ./

dri for all distros stable snapshots :
http://dri.sourceforge.net/snapshots.phtml


----------------------------------------------------------------------------------
Kernel, nvidia-agp patch and drm installation/setup/compilation :
-----------------------------------------------------------------------------------

Kernel setup:
------------------
download linux-2.6.0-test11.tar.bz2 from www.kernel.org
$ su root (become root)
# cd /usr/src
# tar xfj download_kernel.tar.bz2
# ln -s 2.6_source_dir /usr/src/linux (2.6_source_dir should be /usr/src/linux-2.6.0-test11 )
-> i do this so i know my lateset kernel is there, and it help debian kernel build automatic tools

then go in /usr/src/linux and choose your kernel configuration :
make xconfig

drm related options:
Device Drivers > Character devices >
/dev/agpgart (AGP support)
NVIDIA nforce/nforce2 chipset support
Direct Randering Manager (XFreee 4.1.0 adn higher DRI)
PS:
in Device Drivers > ATA/ATAPI/MFM/RLL --> PCI IDE Chipset Support
do not enable "Generic PCI IDE Chipset Support" use "AMD and nVidia IDE support" (else you ll loose so much speed)
and for 2.6 NEWCOMERS take care, you have to enable VT (in short it without it your monitor will keep black)
it s under Device Drivers > Character devices > VT Console
it mean not be visible then look in /usr/src/linux/.config and check that you have these:
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
links: http://dudu.dynalias.net/linux/2.6.0/index.html (french , small resume of all you need to know)
[ add international links ]

apply patch:
---------------
save the text inlined starting from
diff -uNr test8orig/drivers/char/agp/nvidia-agp.c test8new/drivers/char/agp/nvidia-agp.c
..... to:
+ /* restore iorr for previous aperture size */
+ nvidia_init_iorr(agp_bridge->gart_bus_addr,
+ previous_size->size * 1024 * 1024);
}
in a file
cd /usr/src/linux, then use the patch command to merge the patch and kernel sources (diff mean differ):
patch -p1 < patch_to_the_diff_file/diff_file (name or extension given does not matter)

if no error (read WARNING meassges) are reported go further , else RTFM "man patch"


downloaded drm module:
------------------------------------------

Debian:
warning: this is incompatible with kde-devel and maybe more
# apt-get install drm-trunk-module-src xserver-dri-trunk xlibmesa-g11-dri-trunk
go in /usr/src (cd /usr/src, as root )
# tar xfz /usr/src/drm-trunk.tar.gz

build kernel/dri:
-------------------

Debian:
# cd /usr/src/linux
# make-kpkg --revision name.number kernel_image
this will build a debian package in /usr/src/linux/../ which contains kernel, all modules and some scripts to setup all htis (and warn you of further requirements : lilo or grub, etc)
#make-kpkg modules_image
this build what is in /usr/src/modules (here drm module) and provide another debian package in /usr/src/linux/../

# dpkg -i the_build_debian_packages

setup lilo or grub as required and restart



-----------------
XF86Config:
-----------------
here a sample X configuration from debian:
build with "dpkg-reconfigure xserver-xfree86" , added AGP/ DPMS Options in Device Section

### BEGIN DEBCONF SECTION
# XF86Config-4 (XFree86 server configuration file) generated by dexconf, the
# Debian X Configuration tool, using values from the debconf database.
#
# Edit this file with caution, and see the XF86Config-4 manual page.
# (Type "man XF86Config-4" at the shell prompt.)
#
# If you want your changes to this file preserved by dexconf, only make changes
# before the "### BEGIN DEBCONF SECTION" line above, and/or after the
# "### END DEBCONF SECTION" line below.
#
# To change things within the debconf section, run the command:
# dpkg-reconfigure xserver-xfree86
# as root. Also see "How do I add custom sections to a dexconf-generated
# XF86Config or XF86Config-4 file?" in /usr/share/doc/xfree86-common/FAQ.gz.

Section "Files"
#FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/Speedo"
FontPath "/usr/lib/X11/fonts/misc"
#FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"

EndSection

Section "Module"
Load "GLcore"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "xtrap"
Load "record"
Load "speedo"
Load "type1"
Load "vbe"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/gpmdata"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
EndSection

Section "Device"
Identifier "Radeon QW"
Driver "ati"
#Option "UseFBDev" "false"
#Option "AGPMode" "1"
#Option "AGPFastWrite" "false"
#Option "AGPSize" "128"
VendorName "ATI Technologies Inc"
BoardName "Radeon RV200 QW [Radeon 7500]"
#BusID "PCI:2:0:0"
EndSection

Section "Monitor"
Identifier "DXS:1313"
HorizSync 30-95
VertRefresh 50-160
Option "DPMS"
VendorName "CTX"
ModelName "3700"
EndSection

Section "Screen"
Identifier "Default Screen"
Device "Radeon QW"
Monitor "DXS:1313"
DefaultDepth 16
SubSection "Display"
Depth 1
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection

Section "DRI"
Mode 0666
EndSection

### END DEBCONF SECTION
prahal is offline  
Old Dec 6, 2003, 05:15 PM   #2
WhO_KnOwS
The lurker mod
 
Join Date: Dec 2002
Location: Slovenia Slovenia, Europe
Posts: 3,227
WhO_KnOwS is still being judged by the masses


Default

Way to go. In a way you pre-R200 users are lucky, cause you have very good drivers. The fglrx ones are still getting there (although they are making huge steps).
__________________
  • Intel Core 2 Quad Q6600 @ 3Ghz
  • GigaByte P35-DS4
  • 4 GB OCZ Gold 800Mhz DDR2 Dual Channel
  • XFX GeForce 280 GTX XXX
  • Dell 2407WFP monitor
  • CoolerMaster Cosmos S case


Other hardware: MacBook Pro 2.53GHz 13", Xbox360, iPhone 3GS 32GB
WhO_KnOwS is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
My Sucess story (RADEON 9500 Pro) badpenguin Radeon Tweaking, Modding, and Overclocking 14 Feb 18, 2004 03:50 PM
Power Color Radeon 9500 non pro sucess with the softmod pinie Radeon Tweaking, Modding, and Overclocking 1 Jun 5, 2003 12:51 AM
Has any1 gotten Smartgart and 6193 to work with RV200 (7500) ??? FiatluX AMD Radeon Software Drivers Discussion and Support 2 Oct 15, 2002 03:54 PM
Bios editor for ATi Radeon (R100, RV100, RV200,R200) MrB Front Page News 0 Dec 22, 2001 02:08 PM
Remember The R200 And Rv200 Driver Options In Normal Radeon Drivers? GoffyDude AMD Radeon Discussion and Support 1 Jul 19, 2001 06:24 AM


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



Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
All trademarks used are properties of their respective owners. Copyright ©1998-2011 Rage3D.com
Links monetized by VigLink