disappearing mouse pointer

Bryant Eadon bryant.eadon at gmail.com
Sun Oct 26 12:40:03 PDT 2008


Robert wrote:
> On Mon, 20 Oct 2008 10:38:39 -0700
> Robert <traveling08 at cox.net> wrote:
> 
>> Greetings FreeBSD
>>
>> When running XFCE4 I will lose the mouse pointer at times. This will
>> only happen when I have the driver set to "nv" in xorg.conf. The mouse
>> will still work as I can see where it is when I pass over icons and
>> watch them highlight. If I can stop on an icon, I can click and it
>> works.
>>
>> If I drop out of the XFCE4 using ctl-alt-backspace, the mouse pointer
>> appears and all is well. If I restart the XFCE4, there is no pointer.
>> If I change the driver to "vesa" and restart then I have a pointer
>> again. The only way I have found to regain the pointer using "nv" is
>> to reboot.
>>
>> All ports are up to date and I am running amd64 RELENG_7 as of last
>> Saturday.
>>
>> uname -a
>> FreeBSD asus64.shasta204.local 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE
>> #1: Sat Oct 18 13:31:00 PDT 2008
>> root at asus64.shasta204.local:/usr/obj/usr/src/sys/GENERIC  amd64
>>
>> If I should have posted to a different list please let me know. I have
>> also attached my xorg.conf.
>>
>> TIA
>>
>> Robert
 >
 > Five days and no responses, so maybe more information. On this computer
 > I have on board GeForce 6100.
 >
 > vgapci0 at pci0:0:5:0:	class=0x030000 card=0x81bf1043
 > chip=0x024210de rev=0xa2 hdr=0x00 vendor     = 'Nvidia Corp'
 >     device     = 'GeForce 6100'
 >     class      = display
 >     subclass   = VGA
 >
 > I have the same exact release and ports running on a different computer
 > equipped with a GeForce 6800 XT in an AGP slot without a problem. The
 > big difference is that other computer is running i386. It is using "nv"
 > driver without any problems.
 >
 > Can anyone point me in the right direction. Feel free to tell me where
 > to go. :-)
 >
 > Thanks
 > Robert
 >

This seems like a very strange problem.  Let's try focusing on XFCE first.

Are any processes conflicting with drawing something on the screen, from your 
description it seems like XFCE is a problem, but do other window managers do the 
same thing ?

If it's not wm specific then I'd try chasing down the developers of 
xf86-video-nv . Here is a starting point : 
http://www.t2-project.org/packages/xf86-video-nv.html

Does the driver support any sort of 'debug' mode that you could log to file ?

....

Taking a walk through xf86-video-nv, it looks like there are a few bitshift and 
& operators that use pointer and move things to and fro.  ( in 64-bit land that 
maybe these moves should be handled differently ? Or are these magic numbers? )

Take a look into the source, nv_cursor.c

Examining these lines :
            #if X_BYTE_ORDER == X_BIG_ENDIAN
             if ( m & 0x80000000)
                 *dst = ( b & 0x80000000) ? pNv->curFg : pNv->curBg;
             else
                 *dst = TRANSPARENT_PIXEL;

This case draws the pixel transparently if it fails the test -- which seems to 
coincide with what you're seeing.  This is just a wild guess, it could be used 
elsewhere though with the same affect.


But then again, since this is working at all, then it may point to
	1. the wm
	2. Xorg may have a problem reporting it to the wm

Hope it helps.  Report back if you have any progress.


Later,
Bryant


More information about the freebsd-questions mailing list