Hardware cursor corruption with RV350 - whose bug?
Playing WoW with an RV350, 188.8.131.52 kernel, Mesa and xorg driver from git; and I'm noticing that sometimes WoW's hardware cursor graphic is replaced by a square of random garbage (with working "hotspot" in top left corner). So my question is: which project is the best one to raise a bug against, please? The corruption persists after I exit WoW and can be fixed by restarting the X server, so my initial guess is the radeon xorg driver. But it is just a guess.
Any suggestions on how to restore the hardware cursor without restarting X would also be appreciated. I have occasionally seen the problem "fix itself" while continuing to play WoW, but far too infrequently to be practical.
Unfortunately, this isn't a bug that I can force to happen; it just either does or doesn't. it certainly hasn't happend yet after enabling the SWcursor option. However, WoW doesn't behave in quite the same way with the SW cursor anyway. When the HW cursor was enabled, then WoW always rendered it on the screen. But WoW only seems to render the SW cursor while it is moving. Stop moving the mouse and the cursor vanishes completely.
The SW cursor also has a habit of disappearing sometimes on the Gnome 3 desktop. E.g. I just moused over a Flash advert and the cursor changed. But then a tooltip appeared and suddenly the cursor was gone. Another nudge of the mouse again and the cursor was back (some of the time).
SW cursor doesn't play well with overlays or direct rendering because it's drawn by software directly on the front buffer. HW cursor is blended with the framebuffer data in the display pipe so once the image is set all you have to do is tell the hw where you want it to appear. Sounds like something updating the cursor image with garbage.
Sounds like something updating the cursor image with garbage.
OK, but if that something were "wine" then wouldn't the problem sort itself out when WoW exited? Alternatively, if wine is actually corrupting some kind of "state" contained within the X server, then does this mean that a simple program could reset that state without restarting X?