FS#23422 - [kernel26] >= 2.6.37 fails with ati-dri
Attached to Project:
Arch Linux
Opened by Linas (Linas) - Friday, 25 March 2011, 01:04 GMT
Last edited by Andreas Radke (AndyRTR) - Monday, 22 August 2011, 07:52 GMT
Opened by Linas (Linas) - Friday, 25 March 2011, 01:04 GMT
Last edited by Andreas Radke (AndyRTR) - Monday, 22 August 2011, 07:52 GMT
|
Details
Description:
Kernel 2.6.37 brought a lot of issues. In my case, that meant X not working. It still has not been resolved. Other (most?) X related modules have released newer versions since, but the failure is consistent. Everything works in 2.6.36. Just changing to a newer kernel branch (2.6.37-5, 2.6.37.2-1, 2.6.37.3-1, 2.6.38-1, 2.6.37.4-1...), it fails. Downgrading the kernel, the same setup works. kernel 2.6.36 startx -> Screen goes black -> The wallpaper appears -> The DE loads kernel >= 2.6.37 startx -> Screen goes black -> You can't switch virtual terminals -> REISUB -> Downgrade kernel Reproducible: Always Additional info: - Using KMS * package version(s) libdrm 2.4.23-2 libgl 7.10.1-1 mesa 7.10.1-1 ati-dri 7.10.1-1 xf86-video-ati 6.14.0-2 xorg-server 1.9.4.901-1 Removing xf86-video-ati so it uses vesa, does show the desktop with newer kernels, although it is a bit blurry (seems it picks a non-native resolution) and you can't use VT. Attaching some Xorg.log using 2.6.37-4 |
This task depends upon
Closed by Andreas Radke (AndyRTR)
Monday, 22 August 2011, 07:52 GMT
Reason for closing: Upstream
Additional comments about closing: upstream is informed. nothing we can do more here.
Monday, 22 August 2011, 07:52 GMT
Reason for closing: Upstream
Additional comments about closing: upstream is informed. nothing we can do more here.
kernel26-2.6.38.1-1 kernel26-headers-2.6.38.1-1 libdrm-2.4.24-1 xextproto-7.2.0-1
xf86-input-evdev-2.6.0-3 xf86-input-keyboard-1.6.0-2 xf86-input-mouse-1.7.0-2
xf86-video-ati-6.14.1-1 xf86-video-fbdev-0.4.2-4 xf86-video-vesa-2.3.0-5
xorg-server-common-1.10.0-1 xorg-server-1.10.0-1
It still fails. The first time I tried with this setup there was a mouse pointer that could be moved through the screen (with the dark background and no way to switch back to console) but the mouse was absent again on the following attempts.
You can try to remotely log into the system watching dmesg and Xorg.0.log while it is crashing.
So far you seem to be the only one having this issue. Please provide more informations. Make sure you kernel append line in grub is clean and you try to run Xorg without any further xorg.conf.
> Please check your dmesg for kernel-drm messages
The only line appended after I did startx until I checked it was
fuse init (API version 7.15)
> Try to locate if the error only happens when you install ati-dri
How would I do it other than with pacman -R ati-dri (where it works, see above)?
> Then you could try to rebuild mesa/ati-dri with classic mesa driver for r600 instead of the new gallium3d based one we introduced.
That looks promising. Is it just rebuilding mesa PKGBUILD removing --enable-gallium-radeon and --enable-gallium-r600 from configure?
> So far you seem to be the only one having this issue. Please provide more informations.
There were complaints in the forums when 2.6.37 shipped so I had a feeling that I was not alone. Most of them could have used nvidia, but still it's strange I'm the only one with this.
> Make sure you kernel append line in grub is clean
I have an old noapic there. I need to check without it.
> and you try to run Xorg without any further xorg.conf.
The only xorg configuration I have are /etc/X11/xorg.conf.d/10-evdev.conf and /etc/X11/xorg.conf.d/10-quirks.conf
I have a xkb_layout Option added to 10-evdev.conf, but that shouldn't be an issue.
You also need to change the package() function for ati-dri. the old install steps are still included in the PKGBUILD. Remove the noapic option if it doesn't break anything.
--- /var/abs/extra/mesa/PKGBUILD 2011-03-31 06:06:08.000000000 +0200
+++ PKGBUILD 2011-04-02 18:47:14.000000000 +0200
@@ -63,8 +63,8 @@
./configure --prefix=/usr \
--with-dri-driverdir=/usr/lib/xorg/modules/dri \
--enable-gallium-radeon \
- --enable-gallium-r600 \
- --enable-gallium-nouveau \
+ --disable-gallium-r600 \
+ --disable-gallium-nouveau \
--enable-gallium-swrast \
--enable-glx-tls \
--with-driver=dri \
@@ -203,8 +203,9 @@
make -C radeon DESTDIR="${pkgdir}" install
make -C r200 DESTDIR="${pkgdir}" install
# classic mesa driver for R300 r300_dri.so
- #make -C r300 DESTDIR="${pkgdir}" install <------- depricated
+ make -C r300 DESTDIR="${pkgdir}" install <------- depricated
# gallium3D driver for R300 r300_dri.so
+if false; then
if [ "${_git}" = "true" ]; then
make -C ${srcdir}/mesa-*/src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install
make -C ${srcdir}/mesa-*/src/gallium/targets/dri-r600 DESTDIR="${pkgdir}" install
@@ -212,7 +213,8 @@
make -C ${srcdir}/Mesa-${pkgver}/src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install
make -C ${srcdir}/Mesa-${pkgver}/src/gallium/targets/dri-r600 DESTDIR="${pkgdir}" install
fi
- #make -C r600 DESTDIR="${pkgdir}" install
+fi
+ make -C r600 DESTDIR="${pkgdir}" install
}
package_intel-dri() {
@@ -322,7 +324,7 @@
package_nouveau-dri() {
depends=("libgl=${pkgver}")
pkgdesc="Mesa classic DRI + Gallium3D drivers for Nouveau"
-
+return
if [ "${_git}" = "true" ]; then
cd ${srcdir}/mesa-*/src/mesa/drivers/dri
else
However, when trying to run from the resulting package (with the working 2.6.36.3-1 kernel), Xorg segfaults.
[ 912.531] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[ 912.531] (II) AIGLX: enabled GLX_INTEL_swap_event
[ 912.531] (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
[ 912.531] (II) AIGLX: enabled GLX_SGI_make_current_read
[ 912.531] (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects
[ 912.531] (II) AIGLX: Loaded and initialized /usr/lib/xorg/modules/dri/r600_dri.so
[ 912.531] (II) GLX: Initialized DRI2 GL provider for screen 0
[ 912.532] (II) RADEON(0): Setting screen physical size to 444 x 277
[ 912.615]
Backtrace:
[ 912.616] 0: /usr/bin/X (xorg_backtrace+0x28) [0x46b688]
[ 912.616] 1: /usr/bin/X (0x400000+0x5f8b9) [0x45f8b9]
[ 912.616] 2: /lib/libpthread.so.0 (0x7f76cbfb6000+0xf150) [0x7f76cbfc5150]
[ 912.616] 3: /lib/libudev.so.0 (udev_enumerate_scan_devices+0x11f) [0x7f76cc8600cf]
[ 912.616] 4: /usr/bin/X (0x400000+0x11d29e) [0x51d29e]
[ 912.616] 5: /usr/bin/X (config_init+0x9) [0x51c349]
[ 912.616] 6: /usr/bin/X (InitInput+0x95) [0x478775]
[ 912.616] 7: /usr/bin/X (0x400000+0x212f6) [0x4212f6]
[ 912.616] 8: /lib/libc.so.6 (__libc_start_main+0xfd) [0x7f76caf36dcd]
[ 912.616] 9: /usr/bin/X (0x400000+0x20ed9) [0x420ed9]
[ 912.616] Segmentation fault at address (nil)
Did I configure it wrongly?
The noapic option is still needed. Otherwise, the hard drive isn't detected.
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.37.y.git;a=commit;h=d0f8a854c340986359a3b0a97e380c71def7a440
https://bugs.freedesktop.org/ https://bugzilla.kernel.org/ some mailing list, or somewhere else?