Bug 1678

Summary: IGP 320M
Product: DRI Reporter: Thomas Riedel <tho_riedel>
Component: GeneralAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: high CC: amilo
Version: DRI git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
XFree86.0.log with XFree86-4.3.99.16 + IGP-Patch
none
Xorg.0.log with X.org-CVS from 2004.10.21
none
Thomas's procedure in order to get DRI working with old XFree86 (PDF)
none
dsdt.dsl that fixes freezings when starting X by changing some IRQs
none
dsdt.dsl that fixes freezings when starting X by changing some IRQs (commented), see http://groups.yahoo.com/group/amilo none

Description Thomas Riedel 2004-10-20 11:00:05 UTC
Hello,

It seems that no newer version than XFree86 4.3.99.16 + IGP-patch from 
http://bugs.xfree86.org/show_bug.cgi?id=314 works with 3D-support 
on Amilo A 7600.
It is not important if I use a 2.4.x-kernel on SuSE 9.0 or a 2.6.x-kernel on
SuSE 9.1. I build the kernel-module from the X-Sources.
There is no framebuffer support in the kernel now (but it was no problem with
XFree86 4.3.99.16) and no other libGl-versions are exising like in bug 709.
I recently tested with Xorg 6.8.1 and latest CVS.
Compiling and installing works fine, glxinfo shows Direct Rendering=Yes but
all 3D-applications I tried to run do not work or exit with a segmentation
fault. Same with dri-CVS (I tested it some month ago because newer versions have
no option to disable IRQ-sharing needed for Amilo A).
With Xorg-CVS glxgears exits immedeately with a segmentation fault,
Tuxracer works correctly (and 3D-accelerated) until I reach the finish-line,
then it exits with segmentation fault, the resolution becomes 640x480.
My tests showed that 4.3.99.901 with the appropriate IGP-patch from 
http://bugs.xfree86.org/show_bug.cgi?id=314 does not work, the bug? was probably
handed down in all later versions of XFree86 and X.org.
Because it is known that other laptops with IGP 320M have working 3D with X.org
it seems to be a special problem of the Amilo A 7600, maybe related to the bios.
I strongly assume that this problem was introduced in XFree86
4.3.99.901 with one of this changes:

633. DRI updates.
- Latest kernel drivers from the DRI trunk.

At this point the kernel-module was upgraded from 1.9 to 1.10 with
these changes:

1.10- Add SETPARAM ioctl; first parameter to set is FB_LOCATION, which
clients use to tell the DRM where they think the framebuffer is
located in the card's address space

I installed X.org-CVS from 15th of october 2004 and built the kernel
module from the IGP-patched XFree86 4.3.99.16-sources.
Before that I changed 2 things in
/xc/programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/radeon.h

The line

#define __HAVE_SHARED_IRQ 1

to

#define __HAVE_SHARED_IRQ 0

This is always needed for 3D on Amilo A because otherwise it freezes
when radeon.o/radeon.ko is used with some other modules that have IRQ 11 at the
same time (again a problem of the bios I think!)

Then I changed the line

#define DRIVER_MINOR 9

to

#define DRIVER_MINOR 11

1.11 is the current radeon.h-version in X.org, if I do not change this line
the X-Server disables 3D because he detects that the radeon.o is too old.

Now the results of this "mixing":
No segmentation faults, glxinfo show Direct Rendering=Yes
glxgears works with similar frame-rates,
Tuxracer works 3D-accelerated, no segmentaton fault when reaching the
finish-line.
But this "solution" is not usable because the screen
looks awful, garbled, no details.

Maybe someone can do anything with it, I tried to exchange some lines
among the various versions of the files that are necessary to build
radeon.o/radeon.ko, but had no success.
I can provide log- and/or config-files if you need it.
I made a HowTo for my procedure with XFree86 4.3.99.16, I tried it similar with
X.org. It is available at 
http://www.sandrostricker.de/download/radeon IGP linux.pdf, 
the English part begins at page 11.


Thomas
Comment 1 Alex Deucher 2004-10-21 06:23:05 UTC
re-assigning to the DRI
Comment 2 Thomas Riedel 2004-10-21 14:58:22 UTC
Created attachment 1145 [details]
XFree86.0.log with XFree86-4.3.99.16 + IGP-Patch
Comment 3 Thomas Riedel 2004-10-21 15:01:40 UTC
Created attachment 1146 [details]
Xorg.0.log with X.org-CVS from 2004.10.21
Comment 4 Samuel Verschelde 2004-11-22 00:53:20 UTC
I am also affected by this bug, as well as all users of the laptops of the Amilo
A series shipped with a Radeon IGP 320M (I know some of them). 
Comment 5 Samuel Verschelde 2004-12-02 03:01:16 UTC
Created attachment 1440 [details]
Thomas's procedure in order to get DRI working with old XFree86 (PDF)
Comment 6 www.rzr.online.fr 2004-12-08 04:05:49 UTC
I am also affected by this bug on My AmiloA (details at
http://rzr.online.fr/q/AmiloA )
btw I know dri works on this IGP320M on some HP Laptop .

Now, this may be offtopic or not, Samuel Verschelde compared the IRQ assignement
beetwin windows and linux... I also adeed those for HP laptop :
http://rzr.online.fr/q/IRQ
Comment 7 Thomas Riedel 2004-12-14 13:43:01 UTC
Without disabling IRQ-sharing (without editing radeon.h) 3D works without 
segmentation faults.
But it is necessary to disable all devices on IRQ 11.
So network, sound, pcmcia and modem will not work at the same time
(ACPI enabled).
If you try to load a module that uses IRQ 11 while 3D is enabled the Amilo A 7600
freezes completely.
This is somewhat astonishing, because the radeon-module uses IRQ 5.
Comment 8 Thomas Riedel 2004-12-21 15:06:03 UTC
This problem can be solved with a fixed DSDT-table (attached).
There is the need to edit /usr/src/linux/drivers/acpi/pci_link.c.
Details at http://groups.yahoo.com/group/amilo/message/530
Comment 9 Thomas Riedel 2004-12-21 15:08:28 UTC
Created attachment 1585 [details]
dsdt.dsl that fixes freezings when starting X by changing some IRQs
Comment 10 Thomas Riedel 2004-12-27 03:03:30 UTC
Created attachment 1597 [details]
dsdt.dsl that fixes freezings when starting X by changing some IRQs (commented), see http://groups.yahoo.com/group/amilo
Comment 11 Tor Harald Thorland 2005-05-19 10:53:38 UTC
Hi, Im also affected here, and things are getting worse as newer versions come out.
I have used Fedora, and in FC2 Everything worked ok.
In FC3, I had to turn acpi=off, and enter the option "NoAccel" to get KDE
enabled. But then I was not able to play any movies, or even start Totem or
xine, without killing the x-server.
Now in FC4Test 3 the system completely freezed, and I had to boot into single
mode to edit the same things as in FC3.
I Also tryed Mandrake 10.2, and it booted OK into KDE. I then tryed Mandriva
2005 limited edition, and at starting X the system freezed.
This is also on a Amlio A7600.
Comment 12 Thomas Riedel 2005-05-21 05:38:36 UTC
Hi,

FC2 worked because the X.org Version did not support 3D.
Distributions with X.org 6.8.1 or better support 3D and some like FC3 try to
enable it by default.
But on the Amilo A 7600 the Bios is buggy so the computer freezes when the
radeon.ko is loaded taking IRQ 10.
If you do not need Direct Rendering support you should not disable it with 
the "NoAccel" - option.
Instead of this comment out the line 

Load         "dri"

in your xorg.conf.
So watching movies will work.
The more elegant way is to load a custom DSDT.
So you have 3D without freezings and all your USB-ports work with newer kernels.
For details see

http://acpi.sourceforge.net/dsdt/index.php            and
http://groups.yahoo.com/group/amilo                   and
http://who.is.free.fr/wiki/?DSDT

Thomas
Comment 13 Jerome Glisse 2009-06-30 07:21:52 UTC
Do you still have this issue with recent kernel, Xorg and ddx driver ?
Comment 14 Marek Olšák 2011-03-03 06:54:25 UTC
No feedback for ~2 years. Closing.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.