Summary: | [X800SE] Mouse cursor corruption when switching users | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Bryce Harrington <bryce> | ||||||||||||||||||
Component: | DRM/Radeon | Assignee: | Default DRI bug account <dri-devel> | ||||||||||||||||||
Status: | RESOLVED FIXED | QA Contact: | |||||||||||||||||||
Severity: | normal | ||||||||||||||||||||
Priority: | medium | CC: | jonathan.voss, rankincj | ||||||||||||||||||
Version: | unspecified | ||||||||||||||||||||
Hardware: | x86 (IA32) | ||||||||||||||||||||
OS: | Linux (All) | ||||||||||||||||||||
Whiteboard: | |||||||||||||||||||||
i915 platform: | i915 features: | ||||||||||||||||||||
Attachments: |
|
Description
Bryce Harrington
2012-02-29 16:06:22 UTC
Created attachment 57834 [details]
BootDmesg.txt
Created attachment 57835 [details]
CurrentDmesg.txt
Created attachment 57836 [details]
IMAG0011.jpg
Created attachment 57837 [details]
XorgLog.txt
Created attachment 57853 [details] [review] Restrict offset for legacy hardware cursor. Does this kernel patch fix the problem? Created attachment 58066 [details] [review] Verbose test patch In order to facilitate testing, here's another version of the fix which prints a message [drm] Fixing large cursor offset 0xXXXXXXXX >= 0x08000000 when the suspected problem would have occurred. So if such a message appears in dmesg but the cursor is unharmed, we know this is indeed the proper fix. This is a bit above my head I think. I got the source for xserver-xorg-video-ati from the Ubuntu repositories and tried to apply the patch to it. It looks like a lot of the right files are there, but there's no radeon_gem.c. The package version is 6.14.99~git20111219.aacbd629-0ubuntu2, which includes a date that I think indicates that it's not TOO old, however I cloned the git repository at git://anongit.freedesktop.org/xorg/driver/xf86-video-ati and had the same problem. I've also never tested a kernel mod so I'm not sure what I would do if I got the patch to compile. (In reply to comment #7) > I got the source for xserver-xorg-video-ati from the Ubuntu repositories and > tried to apply the patch to it. That can't work, as the patch is for the kernel, not the X driver. You should be able to get the source for your running kernel with apt-get source linux-image-$(uname -r) > I've also never tested a kernel mod so I'm not sure what I would do if > I got the patch to compile. Boot the patched kernel (or load the patched radeon kernel module) and try to reproduce the problem. Look for the message from comment #6 in dmesg. This patch causes my computer to crash at login. However, it's not a super bad crash because I was able to ssh in and check dmesg. The comment did not appear. Just to make sure it wasn't something I did when trying to compile a kernel, I reversed the patch and recompiled, and I'm running that kernel now, so I'm pretty sure it's the patch. Created attachment 58312 [details] [review] Verbose test patch with crash fixed (In reply to comment #9) > This patch causes my computer to crash at login. However, it's not a super bad > crash because I was able to ssh in and check dmesg. Sorry about that, here's another test patch which shouldn't crash. I think this patch works as intended. Well actually, it's hard for me to say it actually fixed the problem due to its random nature, but I haven't had the mouse corruption issue on this patched driver, and the message appears in dmesg: [ 524.112945] [drm] Fixing large cursor offset 0x0d1e0000 >= 0x00000000 [ 537.020931] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id [ 537.308976] [drm] Fixing large cursor offset 0x0cf80000 >= 0x00000000 [ 607.000940] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id I have to say that the log confuses me since 1 << 27 is not 0. Created attachment 58436 [details] [review] Submitted fix (In reply to comment #11) > [...] I haven't had the mouse corruption issue on this patched driver, and the > message appears in dmesg: Okay, so an unpatched driver probably would use too large offsets sometimes, which would definitely explain the corrupted cursor. So the fix seems to be working. > I have to say that the log confuses me since 1 << 27 is not 0. Indeed, but that's just a bug of the DRM_INFO call. :) (Type mismatch between format string and values) I'm attaching the fix as I submitted it for inclusion into the kernel. Duplicate of #36769, perhaps? A patch referencing this bug report has been merged in Linux v3.4-rc1: commit c4353016dac10133fa5d8535af83f0c4845a2915 Author: Michel Dänzer <michel.daenzer@amd.com> Date: Wed Mar 14 17:12:41 2012 +0100 drm/radeon: Restrict offset for legacy hardware cursor. Resolving per comment #14, reopen if you're still seeing the problem with the fix. *** Bug 36769 has been marked as a duplicate of this bug. *** |
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.