Fedora 10, Belkin KVM, USB Mouse/Keyboard, NVIDIA Card, OpenOffice

2009-02-10 Thread Kevin Johnson
Hello,

Here is the setup. I am running two different desktop computers, each with
their own monitor, but with only one keyboard / mouse. I am using a Belkin
KVM switch to control the keyboard / mouse function between the two. The
switch has USB inputs and USB outputs.

I am running Fedora10 (F1)0) on each desktop computer. Each has a different
NVIDIA Quadro card installed, and I am running NVIDIA drivers (different
version of each because the one card is not supported anymore).

Everything works fine, until I launch OpenOffice on either computer. At that
point, when I use the KVM to switch mouse / keyboard to the other desktop X
will crash. I have not been able to reproduce this with anything other than
the OpenOffice suite of applications.

It has something to do with the evdev module here is the backtrace in
the Xorg.0.log

(EE) Belkin Corporation Flip CC: Read error: No such device
(II) config/hal: removing device Belkin Corporation Flip CC
(II) Belkin Corporation Flip CC: Close
(II) UnloadModule: evdev
(EE) Dell Dell USB Keyboard: Read error: No such device
(II) config/hal: removing device Dell Dell USB Keyboard
(II) Dell Dell USB Keyboard: Close
(II) UnloadModule: evdev
(II) config/hal: Adding input device Belkin Corporation Flip KVM
(**) Belkin Corporation Flip KVM: always reports core events
(**) Belkin Corporation Flip KVM: Device: /dev/input/event3
(II) Belkin Corporation Flip KVM: Found 5 mouse buttons
(II) Belkin Corporation Flip KVM: Found x and y relative axes
(II) Belkin Corporation Flip KVM: Configuring as mouse
(**) Belkin Corporation Flip KVM: YAxisMapping: buttons 4 and 5
(**) Belkin Corporation Flip KVM: EmulateWheelButton: 4,
EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device Belkin Corporation Flip KVM
(type: MOUSE)
(II) config/hal: Adding input device Belkin Corporation Flip KVM
(**) Belkin Corporation Flip KVM: always reports core events
(**) Belkin Corporation Flip KVM: Device: /dev/input/event7
(II) Belkin Corporation Flip KVM: Found keys
(II) Belkin Corporation Flip KVM: Configuring as keyboard
(II) XINPUT: Adding extended input device Belkin Corporation Flip KVM
(type: KEYBOARD)
(**) Option xkb_rules evdev
(**) Belkin Corporation Flip KVM: xkb_rules: evdev
(**) Option xkb_model pc105+inet
(**) Belkin Corporation Flip KVM: xkb_model: pc105+inet
(**) Option xkb_layout us
(**) Belkin Corporation Flip KVM: xkb_layout: us

Backtrace:
0: /usr/bin/Xorg(xorg_backtrace+0x26) [0x4e7a26]
1: /usr/bin/Xorg(xf86SigHandler+0x39) [0x47a679]
2: /lib64/libc.so.6 [0x33dac32f90]
3: /usr/bin/Xorg(XkbStringText+0x1c) [0x56711c]
4: /usr/bin/Xorg(XkbWriteXKBGeometry+0x191) [0x5587d1]
5: /usr/bin/Xorg(XkbWriteXKBKeymapForNames+0x5bb) [0x557d1b]
6: /usr/bin/Xorg(XkbDDXLoadKeymapByNames+0x18a) [0x561cba]
7: /usr/bin/Xorg(ProcXkbGetKbdByName+0x3ab) [0x53fb2b]
8: /usr/bin/Xorg(Dispatch+0x364) [0x4468d4]
9: /usr/bin/Xorg(main+0x45d) [0x42cd1d]
10: /lib64/libc.so.6(__libc_start_main+0xe6) [0x33dac1e576]
11: /usr/bin/Xorg [0x42c0f9]

Fatal server error:
Caught signal 11.  Server aborting

(II) Power Button (FF): Close
(II) UnloadModule: evdev
(II) Power Button (CM): Close
(II) UnloadModule: evdev
(II) Macintosh mouse button emulation: Close
(II) UnloadModule: evdev
(II) USB Optical Mouse: Close
(II) UnloadModule: evdev
(II) Belkin Corporation Flip KVM: Close
(II) UnloadModule: evdev
(II) Belkin Corporation Flip KVM: Close
(II) UnloadModule: evdev



Also, here is my xorg.conf

[r...@cio11-6305z usr]# cat /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (buildmeis...@builder58)  Thu Jul 17
18:39:00 PDT 2008

# Xorg configuration created by system-config-display

Section ServerLayout
Identifier single head configuration
Screen  0  Screen0 0 0
#InputDeviceMouse0 CorePointer
#InputDeviceKeyboard0 CoreKeyboard
EndSection

#Section InputDevice
# generated from default
#Identifier Mouse0
#Driver mouse
#Option Protocol auto
#Option   Protocol ImPS/2
#Option Device /dev/input/mice
#Option Emulate3Buttons no
#Option ZAxisMapping 4 5
#EndSection

#Section InputDevice

# keyboard added by rhpxl
#Identifier Keyboard0
#Driver kbd
#Option XkbModel pc105
#Option XkbLayout us
#EndSection

Section Monitor
Identifier Monitor0
VendorName Unknown
ModelName  Unknown
HorizSync   30.0 - 110.0
VertRefresh 50.0 - 150.0
Option DPMS
EndSection

Section Device
Identifier Videocard0
Driver nvidia
EndSection

Section Screen
Identifier Screen0
Device Videocard0
MonitorMonitor0
DefaultDepth24
Option TwinView True
Option MetaModes nvidia-auto-select, nvidia-auto-select
SubSection Display
Viewport0 0
Depth   24
   

Re: [PATCH] glx: Replace broken GLX visual setup with a fixed all mode.

2009-02-10 Thread Kristian Høgsberg
On Sun, Feb 8, 2009 at 7:00 AM, Eric Anholt e...@anholt.net wrote:
 With trying to match depths so that you didn't end up with a depth 24
 fbconfig for the 32-bit composite visual, I broke the alpha bits on the depth
 24 X visual, which angered other applications.  But in fixing that, the
 pickFBconfigs code for minimal also could end up breaking GLX visuals if
 the same FBconfig was chosen for more than one X visual.
 We have no reason to not expose as many visuals as possible, but the old
 all mode didn't match any existing X visuals to GLX visuals, so normal
 GL apps didn't work at all.

 Instead, replace it with a simple combination of the two modes: Create GLX
 visuals by picking unique FBconfigs with as many features as possible for
 each X visual in order.  Then, for all remaining FBconfigs that are
 appropriate for display, add a corresponding X and GLX visual.

 This gets all applications (even ones that aren't smart enough to do 
 FBconfigs)
 get all the options to get the visual configuration they want.  The only
 potential downside is that the composite ARGB visual is unique and gets a
 nearly full-featured GLX visual (except that the root visual might have taken
 the tastiest FBconfig), which means that a dumb compositing manager could
 waste resources. Write compositing managers using FBconfigs instead, please.

That's probably fine.  The code in question was, erhm a little
un-inspired and I never liked the option.  Looks good to me.

cheers,
Kristian
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH 8/9] fb: move some code to mi

2009-02-10 Thread Magnus Kessler
On Thursday 05 February 2009, Maarten Maathuis wrote:
 ---
  exa/exa_accel.c |4 +-
  fb/fb.h |   37 --
  fb/fbcopy.c |  331
 +-- fb/fboverlay.c  |   
 2 +-
  fb/fboverlay.h  |2 +-
  fb/fbwindow.c   |2 +-
  mi/Makefile.am  |1 +
  mi/mi.h |   42 +++
  mi/micopy.c |  354
 +++ 9 files changed,
 406 insertions(+), 369 deletions(-)
  create mode 100644 mi/micopy.c


Removing fbDoCopy and fbCopyRegion from xserver (git commit 
2e76958d304a3c4080d62f32449724eeb9b95d93) breaks uxa acceleration in the 
intel driver. The server crashes as soon as uxa_copy_area or uxa_copy_window 
are called. At least the equivalent of the exa_accel patch needs to be 
applied to the intel driver to restore working uxa acceleration with git 
HEAD of xserver. However, since the intel driver presumably is supposed to 
work with older versions, too, some version checking might be required as 
well.

A simplistic patch just calling the new mi copy functions is attached.

diff --git a/uxa/uxa-accel.c b/uxa/uxa-accel.c
index f42e0e2..7053067 100644
--- a/uxa/uxa-accel.c
+++ b/uxa/uxa-accel.c
@@ -492,7 +492,7 @@ uxa_copy_area(DrawablePtr pSrcDrawable, DrawablePtr 
pDstDrawable, GCPtr pGC,
  srcx, srcy, width, height, dstx, dsty);
 }

-return  fbDoCopy (pSrcDrawable, pDstDrawable, pGC,
+return  miDoCopy (pSrcDrawable, pDstDrawable, pGC,
   srcx, srcy, width, height,
   dstx, dsty, uxa_copy_n_to_n, 0, NULL);
 }
@@ -840,7 +840,7 @@ uxa_copy_window(WindowPtr pWin, DDXPointRec ptOldOrg, 
RegionPtr prgnSrc)
  -pPixmap-screen_x, -pPixmap-screen_y);
 #endif

-fbCopyRegion (pPixmap-drawable, pPixmap-drawable,
+miCopyRegion (pPixmap-drawable, pPixmap-drawable,
  NULL,
  rgnDst, dx, dy, uxa_copy_n_to_n, 0, NULL);

Regards,

Magnus Kessler

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH 8/9] fb: move some code to mi

2009-02-10 Thread Maarten Maathuis
I'll wait a bit to see what the preferred solution is, but i see three
options atm.

- A wrapper function in fbcopy.c
- A define in fb.h, silently converting fbFoo into miFoo
- User side fixes

Maarten.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Fedora 10, Belkin KVM, USB Mouse/Keyboard, NVIDIA Card, OpenOffice

2009-02-10 Thread Dan Nicholson
On Tue, Feb 10, 2009 at 10:04 AM, Kevin Johnson kpj...@gmail.com wrote:
 Hello,

 Here is the setup. I am running two different desktop computers, each with
 their own monitor, but with only one keyboard / mouse. I am using a Belkin
 KVM switch to control the keyboard / mouse function between the two. The
 switch has USB inputs and USB outputs.

 I am running Fedora10 (F1)0) on each desktop computer. Each has a different
 NVIDIA Quadro card installed, and I am running NVIDIA drivers (different
 version of each because the one card is not supported anymore).

 Everything works fine, until I launch OpenOffice on either computer. At that
 point, when I use the KVM to switch mouse / keyboard to the other desktop X
 will crash. I have not been able to reproduce this with anything other than
 the OpenOffice suite of applications.

 It has something to do with the evdev module here is the backtrace in
 the Xorg.0.log

 (EE) Belkin Corporation Flip CC: Read error: No such device
 (II) config/hal: removing device Belkin Corporation Flip CC
 (II) Belkin Corporation Flip CC: Close
 (II) UnloadModule: evdev
 (EE) Dell Dell USB Keyboard: Read error: No such device
 (II) config/hal: removing device Dell Dell USB Keyboard
 (II) Dell Dell USB Keyboard: Close
 (II) UnloadModule: evdev
 (II) config/hal: Adding input device Belkin Corporation Flip KVM
 (**) Belkin Corporation Flip KVM: always reports core events
 (**) Belkin Corporation Flip KVM: Device: /dev/input/event3
 (II) Belkin Corporation Flip KVM: Found 5 mouse buttons
 (II) Belkin Corporation Flip KVM: Found x and y relative axes
 (II) Belkin Corporation Flip KVM: Configuring as mouse
 (**) Belkin Corporation Flip KVM: YAxisMapping: buttons 4 and 5
 (**) Belkin Corporation Flip KVM: EmulateWheelButton: 4,
 EmulateWheelInertia: 10, EmulateWheelTimeout: 200
 (II) XINPUT: Adding extended input device Belkin Corporation Flip KVM
 (type: MOUSE)
 (II) config/hal: Adding input device Belkin Corporation Flip KVM
 (**) Belkin Corporation Flip KVM: always reports core events
 (**) Belkin Corporation Flip KVM: Device: /dev/input/event7
 (II) Belkin Corporation Flip KVM: Found keys
 (II) Belkin Corporation Flip KVM: Configuring as keyboard
 (II) XINPUT: Adding extended input device Belkin Corporation Flip KVM
 (type: KEYBOARD)
 (**) Option xkb_rules evdev
 (**) Belkin Corporation Flip KVM: xkb_rules: evdev
 (**) Option xkb_model pc105+inet
 (**) Belkin Corporation Flip KVM: xkb_model: pc105+inet
 (**) Option xkb_layout us
 (**) Belkin Corporation Flip KVM: xkb_layout: us

 Backtrace:
 0: /usr/bin/Xorg(xorg_backtrace+0x26) [0x4e7a26]
 1: /usr/bin/Xorg(xf86SigHandler+0x39) [0x47a679]
 2: /lib64/libc.so.6 [0x33dac32f90]
 3: /usr/bin/Xorg(XkbStringText+0x1c) [0x56711c]
 4: /usr/bin/Xorg(XkbWriteXKBGeometry+0x191) [0x5587d1]
 5: /usr/bin/Xorg(XkbWriteXKBKeymapForNames+0x5bb) [0x557d1b]
 6: /usr/bin/Xorg(XkbDDXLoadKeymapByNames+0x18a) [0x561cba]
 7: /usr/bin/Xorg(ProcXkbGetKbdByName+0x3ab) [0x53fb2b]
 8: /usr/bin/Xorg(Dispatch+0x364) [0x4468d4]
 9: /usr/bin/Xorg(main+0x45d) [0x42cd1d]
 10: /lib64/libc.so.6(__libc_start_main+0xe6) [0x33dac1e576]
 11: /usr/bin/Xorg [0x42c0f9]

Might be helpful to get a full backtrace. Start up the server as
normal, attach gdb to the Xorg pid, then trigger the crash and type bt
in gdb. I would guess there's bad things going on in XKB, but
XkbStringText shouldn't be crashing.

--
Dan
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Fedora 10, Belkin KVM, USB Mouse/Keyboard, NVIDIA Card, OpenOffice

2009-02-10 Thread Peter Hutterer
On Tue, Feb 10, 2009 at 01:04:06PM -0500, Kevin Johnson wrote:
 Here is the setup. I am running two different desktop computers, each with
 their own monitor, but with only one keyboard / mouse. I am using a Belkin
 KVM switch to control the keyboard / mouse function between the two. The
 switch has USB inputs and USB outputs.
 
 I am running Fedora10 (F1)0) on each desktop computer. Each has a different
 NVIDIA Quadro card installed, and I am running NVIDIA drivers (different
 version of each because the one card is not supported anymore).
 
 Everything works fine, until I launch OpenOffice on either computer. At that
 point, when I use the KVM to switch mouse / keyboard to the other desktop X
 will crash. I have not been able to reproduce this with anything other than
 the OpenOffice suite of applications.
 
 It has something to do with the evdev module here is the backtrace in
 the Xorg.0.log


The matching bug in the Red Hat bugzilla is
https://bugzilla.redhat.com/show_bug.cgi?id=469572

It's caused by (I think) a dangling pointer in the xkb geometry code, but I
have not been able to reproduce and/or track it down yet.

Cheers,
  Peter
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [RFC] XI2 draft protocol specification (v 0.1)

2009-02-10 Thread Peter Hutterer
Thanks for the comments. All your suggestions have been added, but I'll
refrain from commenting on them much (the spec has to work on it's own
eventually).

Please see the diff below your comments. Is that clearer now?

On Mon, Feb 09, 2009 at 03:57:48PM +0100, Simon Thum wrote:
 Peter Hutterer wrote:
  FP1616
  Fixed point decimal in 16.16 format as 32 bit integer. The client is
  required to convert to 16.16 decimal format.
 Maybe it's just me, but I don't really get what 16.16 decimal format
 means.
 
  ┌───
  XIChangeDeviceHierarchy
  num_changes: CARD8
  changes: LISTofHIERARCHYCHANGES
  └───
  
  HIERARCHYCHANGE { CREATEMASTER, REMOVEMASTER, CHANGEATTACHMENT }
  
  HIERARCHYCHANGETYPE { CreateMaster, RemoveMaster, ChangeAttachment }
  
  CHANGEMODE { Float, Attach }
 I'd split HIERARCHYCHANGE into four: CM, RM, DetachSlave, AttachSlave -
 thereby getting rid of CHANGEMODE.
 
  The server processes the changes one by one and applies changes
  immediately. If an error occurs, processing stops at the current change
  and the error is returned to the client.
 The point it stopped might be interesting to the client (only if it's
 easy to report)
 
  ┌───
  XISetClientPointer
  win: Window
  ▶
  set: BOOL
  deviceid:DEVICEID
  └───
  
  Query the ClientPointer for the client owning 'win'.
 I guess XI*G*etClientPointer is meant.
 
 
 
  ┌───
  RawEvent
  EVENTHEADER
  eventtype: RAWTYPE
  detail:CARD32
  buttons_len:   CARD16
  valuators_len: CARD16
  buttons:   SETofBUTTONMASK
  valuators: SETofVALUATORMASK
  valuators_unaccel: SETofVALUATORMASK
  axisvalues:LISTofFP3232
  axisvalues_unaccel:LISTofFP3232
  └───
  
  RAWTYPE { Motion, KeyPress, KeyRelease, ButtonPress, ButtonRelease }
  
  A RawDevice event provides the information provided by the driver to the
  client. RawDevice events are only generated for slave devices.
  Unaccelerated and accelerated valuator data is provided if applicable.
 Of course acceleration is, right now, the only thing that could happen
 to valuators after the driver is finished, but I'd avoid a direct
 reference to it in the spec. (un-)transformed or adjusted seems a better
 choice to me. Or 'raw'.
 
  valuators
  Bitmask of valuators provided in 'axisvalues'.
  valuators_unaccel
  Bitmask of valuators provided in 'axisvalues_unaccel'.
 It might make sense to say something about their correlation, i.e. will
 both be reported when available? The description: 'Unaccelerated and
 accelerated valuator data is provided if applicable.' may mean: 'If an
 axis is accelerated/translated, the server may/must omit the
 untranslated value'.
 IOW, what exactly is 'applicable'?

diff --git a/XI2proto.txt b/XI2proto.txt
index 6bbb89d..cd64b61 100644
--- a/XI2proto.txt
+++ b/XI2proto.txt
@@ -130,8 +130,9 @@ EVENTMASK
 A SETofEVENTMASK is a binary OR of zero or more EVENTMASK.
 
 FP1616
-Fixed point decimal in 16.16 format as 32 bit integer. The client is
-required to convert to 16.16 decimal format.
+Fixed point decimal in 16.16 format as 32 bit integer in the form of
+(value * 10e15). The client is required to convert to 16.16 decimal
+format.
 
 FP3232
 Fixed point decimal in 32.32 format as one INT32 and one CARD32.
@@ -450,9 +451,10 @@ XI2. Clients should ignore this data.
 changes: LISTofHIERARCHYCHANGES
 └───
 
-HIERARCHYCHANGE { CREATEMASTER, REMOVEMASTER, CHANGEATTACHMENT }
+HIERARCHYCHANGE { CREATEMASTER, REMOVEMASTER, ATTACHSLAVE, DETACHSLAVE }
 
-HIERARCHYCHANGETYPE { CreateMaster, RemoveMaster, ChangeAttachment }
+HIERARCHYCHANGETYPE { CreateMaster, RemoveMaster, SlaveAttached,
+  SlaveDetached }
 
 CHANGEMODE { Float, Attach }
 
@@ -470,11 +472,14 @@ XI2. Clients should ignore this data.
return_pointer:  DEVICEID
return_keyboard: DEVICEID }
 
-CHANGEATTACHMENT { type:HIERARCHYCHANGETYPE
-   length:  CARD16
-   deviceid:DEVICEID
-   change_mode: CHANGEMODE
-   master:  DEVICEID }
+ATTACHSLAVE   { type:HIERARCHYCHANGETYPE
+length:  CARD16
+deviceid:DEVICEID
+master:  DEVICEID }
+
+DETACHSLAVE { type:   HIERARCHYCHANGETYPE
+  length: CARD16
+  deviceid:   DEVICEID }
 
 XIChangeDeviceHierarchy allows a client 

Re: [PATCH 8/9] fb: move some code to mi

2009-02-10 Thread Michel Dänzer
On Wed, 2009-02-11 at 00:06 +0100, Maarten Maathuis wrote:
 I'll wait a bit to see what the preferred solution is, but i see three
 options atm.
 
 - A wrapper function in fbcopy.c
 - A define in fb.h, silently converting fbFoo into miFoo
 - User side fixes

The first one would be the only ABI preserving solution. The wrappers
could be removed next time we need to break ABI for other reasons.


-- 
Earthling Michel Dänzer   |http://www.vmware.com
Libre software enthusiast |  Debian, X and DRI developer
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg