1 |
Hallo, |
2 |
|
3 |
after update to 2.6.36-r5 kernel, xorg 1.9.2, mesa-7.9 and xf86-video- |
4 |
ati-6.13.2 (all from gentoo portage), the hw graphics acceleration stopped |
5 |
working. The problem seems to be in drm kernel module, as it is claimed by |
6 |
X.org (the part of X.org log): |
7 |
|
8 |
... |
9 |
[ 28.502] (II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so |
10 |
[ 28.569] (II) Module radeon: vendor="X.Org Foundation" |
11 |
[ 28.572] compiled for 1.9.2, module version = 6.13.2 |
12 |
[ 28.572] Module class: X.Org Video Driver |
13 |
[ 28.572] ABI class: X.Org Video Driver, version 8.0 |
14 |
[ 28.582] (II) RADEON: Driver for ATI Radeon chipsets: |
15 |
... |
16 |
[ 28.601] (II) [KMS] drm report modesetting isn't supported. |
17 |
[ 28.601] (II) RADEON(0): TOTO SAYS 00000000b0100000 |
18 |
[ 28.601] (II) RADEON(0): MMIO registers at 0x00000000b0100000: size 64KB |
19 |
[ 28.601] (II) RADEON(0): PCI bus 1 card 0 func 0 |
20 |
[ 28.601] (**) RADEON(0): Depth 24, (--) framebuffer bpp 32 |
21 |
[ 28.601] (II) RADEON(0): Pixel depth = 24 bits stored in 4 bytes (32 bpp |
22 |
pixmaps) |
23 |
[ 28.601] (==) RADEON(0): Default visual is TrueColor |
24 |
[ 28.601] (II) Loading sub module "vgahw" |
25 |
[ 28.601] (II) LoadModule: "vgahw" |
26 |
[ 28.602] (II) Loading /usr/lib/xorg/modules/libvgahw.so |
27 |
[ 28.627] (II) Module vgahw: vendor="X.Org Foundation" |
28 |
[ 28.627] compiled for 1.9.2, module version = 0.1.0 |
29 |
[ 28.627] ABI class: X.Org Video Driver, version 8.0 |
30 |
[ 28.627] (II) RADEON(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp- |
31 |
>PIOOffset is 0x0000 |
32 |
[ 28.628] (==) RADEON(0): RGB weight 888 |
33 |
[ 28.628] (II) RADEON(0): Using 8 bits per RGB (8 bit DAC) |
34 |
[ 28.628] (--) RADEON(0): Chipset: "ATI Radeon Mobility X300 (M22) 5460 |
35 |
(PCIE)" (ChipID = 0x5460) |
36 |
[ 28.628] (--) RADEON(0): Linear framebuffer at 0x00000000c0000000 |
37 |
[ 28.628] (II) RADEON(0): PCIE card detected |
38 |
[ 28.628] (II) Loading sub module "int10" |
39 |
[ 28.628] (II) LoadModule: "int10" |
40 |
[ 28.628] (II) Loading /usr/lib/xorg/modules/libint10.so |
41 |
[ 28.665] (II) Module int10: vendor="X.Org Foundation" |
42 |
[ 28.665] compiled for 1.9.2, module version = 1.0.0 |
43 |
[ 28.665] ABI class: X.Org Video Driver, version 8.0 |
44 |
[ 28.665] (II) RADEON(0): initializing int10 |
45 |
[ 28.665] (II) RADEON(0): Primary V_BIOS segment is: 0xc000 |
46 |
[ 28.666] (II) RADEON(0): Legacy BIOS detected |
47 |
[ 28.667] drmOpenDevice: node name is /dev/dri/card0 |
48 |
[ 28.699] [drm] failed to load kernel module "radeon" |
49 |
[ 28.699] (EE) RADEON(0): [dri] RADEONDRIGetVersion failed to open the DRM |
50 |
[dri] Disabling DRI. |
51 |
[ 28.699] (II) RADEON(0): Generation 2 PCI interface, using max accessible |
52 |
memory |
53 |
... |
54 |
|
55 |
|
56 |
I have searched for more information about the problem, but all advices |
57 |
pointed to drm and radeon kernel modules missing in the kernel. This is, |
58 |
however, not my case, as I have compiled them in: |
59 |
|
60 |
# cat /usr/src/linux/.config | grep DRM |
61 |
CONFIG_DRM=y |
62 |
CONFIG_DRM_KMS_HELPER=y |
63 |
CONFIG_DRM_TTM=y |
64 |
# CONFIG_DRM_TDFX is not set |
65 |
# CONFIG_DRM_R128 is not set |
66 |
CONFIG_DRM_RADEON=y |
67 |
CONFIG_DRM_RADEON_KMS=y |
68 |
# CONFIG_DRM_MGA is not set |
69 |
# CONFIG_DRM_VIA is not set |
70 |
# CONFIG_DRM_SAVAGE is not set |
71 |
|
72 |
And the kernel seems to use them (when started with boot options |
73 |
'video=vesafb:ywrap,mtrr:3 vga=792'): |
74 |
|
75 |
#dmesg | grep drm |
76 |
[drm] Initialized drm 1.1.0 20060810 |
77 |
[drm] radeon defaulting to kernel modesetting. |
78 |
[drm] radeon kernel modesetting enabled. |
79 |
|
80 |
Well, that is everything printed about drm, not mentioning particular video |
81 |
card ... Pay also attention to kernel claiming that modesetting is enabled, |
82 |
but X.org claiming that it is not in line [KMS] drm report modesetting isn't |
83 |
supported. |
84 |
As a result, the gallium renders through softpipe (no visual effects in KDE, |
85 |
and KDE opengl screensaver being incredibly slow ...): |
86 |
|
87 |
# glxinfo |
88 |
name of display: :0 |
89 |
display: :0 screen: 0 |
90 |
direct rendering: Yes |
91 |
server glx vendor string: SGI |
92 |
server glx version string: 1.4 |
93 |
server glx extensions: |
94 |
GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, |
95 |
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method, |
96 |
GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe, |
97 |
GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, |
98 |
GLX_MESA_copy_sub_buffer, GLX_INTEL_swap_event |
99 |
client glx vendor string: Mesa Project and SGI |
100 |
client glx version string: 1.4 |
101 |
client glx extensions: |
102 |
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, |
103 |
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, |
104 |
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, |
105 |
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, |
106 |
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, |
107 |
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap, |
108 |
GLX_INTEL_swap_event |
109 |
GLX version: 1.4 |
110 |
GLX extensions: |
111 |
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, |
112 |
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method, |
113 |
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, |
114 |
GLX_INTEL_swap_event |
115 |
OpenGL vendor string: VMware, Inc. |
116 |
OpenGL renderer string: Gallium 0.4 on softpipe |
117 |
OpenGL version string: 2.1 Mesa 7.9 |
118 |
OpenGL shading language version string: 1.20 |
119 |
OpenGL extensions: |
120 |
|
121 |
|
122 |
So, did I miss anything when configuring the kernel? I is really beyond my |
123 |
knowledge, so any help is very much appreciated. I thought about video card |
124 |
firmware not loaded properly, but I don't know haw to check it. I is worth |
125 |
mentioning that framebuffer works without problems during boot. |
126 |
|
127 |
Comparing the output from 'dmesg' with kernel 2.6.34 running on another |
128 |
computer (otherwise the same X, mesa and ati driver), where the graphics seems |
129 |
to be accelerated properly, that the kernel 'radeon' drover might not be |
130 |
initialized properly. There is the output from the working installation: |
131 |
|
132 |
#dmesg | grep drm |
133 |
[drm] Initialized drm 1.1.0 20060810 |
134 |
[drm] radeon defaulting to kernel modesetting. |
135 |
[drm] radeon kernel modesetting enabled. |
136 |
[drm] initializing kernel modesetting (RV515 0x1002:0x7183). |
137 |
[drm] register mmio base: 0xFDDF0000 |
138 |
[drm] register mmio size: 65536 |
139 |
[drm] GPU reset succeed (RBBM_STATUS=0x10000140) |
140 |
[drm] 1 Power State(s) |
141 |
[drm] State 0 Default (default) |
142 |
[drm] 0 PCIE Lanes |
143 |
[drm] 1 Clock Mode(s) |
144 |
[drm] 0 engine/memory: 600000/400000 |
145 |
[drm] radeon: power management initialized |
146 |
[drm] Generation 2 PCI interface, using max accessible memory |
147 |
[drm] radeon: using MSI. |
148 |
[drm] radeon: irq initialized. |
149 |
[drm] Detected VRAM RAM=256M, BAR=256M |
150 |
[drm] RAM width 128bits DDR |
151 |
[drm] radeon: 256M of VRAM memory ready |
152 |
[drm] radeon: 512M of GTT memory ready. |
153 |
[drm] GART: num cpu pages 131072, num gpu pages 131072 |
154 |
[drm] RB2D reset succeed (RBBM_STATUS=0x10000140) |
155 |
[drm] radeon: 1 quad pipes, 1 z pipes initialized. |
156 |
[drm] PCIE GART of 512M enabled (table at 0x00040000). |
157 |
[drm] radeon: cp idle (0x10000C03) |
158 |
[drm] Loading R500 Microcode |
159 |
[drm] radeon: ring at 0x0000000010000000 |
160 |
[drm] ring test succeeded in 8 usecs |
161 |
[drm] radeon: ib pool ready. |
162 |
[drm] ib test succeeded in 0 usecs |
163 |
[drm] Default TV standard: NTSC |
164 |
[drm] Default TV standard: NTSC |
165 |
[drm] Default TV standard: NTSC |
166 |
[drm] Radeon Display Connectors |
167 |
[drm] Connector 0: |
168 |
[drm] DVI-I |
169 |
[drm] HPD1 |
170 |
[drm] DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c |
171 |
[drm] Encoders: |
172 |
[drm] CRT1: INTERNAL_KLDSCP_DAC1 |
173 |
[drm] DFP1: INTERNAL_KLDSCP_TMDS1 |
174 |
[drm] Connector 1: |
175 |
[drm] S-video |
176 |
[drm] Encoders: |
177 |
[drm] TV1: INTERNAL_KLDSCP_DAC2 |
178 |
[drm] Connector 2: |
179 |
[drm] DVI-I |
180 |
[drm] HPD2 |
181 |
[drm] DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c |
182 |
[drm] Encoders: |
183 |
[drm] CRT2: INTERNAL_KLDSCP_DAC2 |
184 |
[drm] DFP3: INTERNAL_LVTM1 |
185 |
[drm] fb mappable at 0xD00C0000 |
186 |
[drm] vram apper at 0xD0000000 |
187 |
[drm] size 5242880 |
188 |
[drm] fb depth is 24 |
189 |
[drm] pitch is 5120 |
190 |
fb: conflicting fb hw usage radeondrmfb vs VESA VGA - removing generic driver |
191 |
fbcon: radeondrmfb (fb1) is primary device |
192 |
fb1: radeondrmfb frame buffer device |
193 |
[drm] Initialized radeon 2.3.0 20080528 for 0000:03:00.0 on minor 0 |
194 |
|
195 |
This is MUCH more information than the three lines reported by 2.6.36-r5. The |
196 |
working 2.6.34 kernel was compiled from the following configuration: |
197 |
|
198 |
# cat /usr/src/linux/.config | grep DRM |
199 |
CONFIG_DRM=y |
200 |
CONFIG_DRM_KMS_HELPER=y |
201 |
CONFIG_DRM_TTM=y |
202 |
# CONFIG_DRM_TDFX is not set |
203 |
# CONFIG_DRM_R128 is not set |
204 |
CONFIG_DRM_RADEON=y |
205 |
CONFIG_DRM_RADEON_KMS=y |
206 |
# CONFIG_DRM_MGA is not set |
207 |
# CONFIG_DRM_SIS is not set |
208 |
# CONFIG_DRM_VIA is not set |
209 |
# CONFIG_DRM_SAVAGE is not set |
210 |
|
211 |
which is actually equal to the 2.6.36-r5 kernel not working. The problem is |
212 |
that I cannot simply move the configuration from one computer to another, as |
213 |
they HW differs in many ways ... |
214 |
|
215 |
Thank you very much. Best regards, |
216 |
Dan T. |