Mark Kettenis wrote:
The Xorg xserver runs a scary amount of code in a signal handler.
It's supposed to make your mouse cursor move more smoothly, but I
can't spot the difference when I disable that "feature".  Instead,
this "feature" breaks certain multi-card setups and god knows what.

So we're considering switching this off by default.  Before we do
that, we'd like to do some wider testing.  If you're regularly sitting
behind an OpenBSD machine running X, can you add the following lines
to /etc/X11/xorg.conf (or create one with these lines):

Section "ServerFlags"
        Option "UseSIGIO" "false"
EndSection

and restart X.  Let me know if you observe any significant changes in
behaviour.

Thanks,

Mark


Hi,

Thanks you very much for this message.

I use OpenBSD -stable with KDE. This setting has made a huge improvement to my quality of life :).

After using the mouse for a bit, the mouse cursor would change to a square block or some other shape for no apparent reason. If the mouse cursor looked too weird and unusable my only recourse was to reboot my workstation (even restarting KDE or changing to the built-in WM did not help). This behavior started after around OpenBSD 3.9 or 4.0 -- after changing from xf86 to xorg or whatever (sorry, I don't know what I am talking about). I assumed this was because of using four monitors and two cards and changed my configuration to using two monitors and one card. The behavior persisted but since everything else worked perfectly and there were no complaints of this type in misc@ I thought it may be the hardware.

Anyways, once I added the UseSIGIO option, I seem to have NO PROBLEMS with this configuration on my main system. I am using radeon instead of radeondrm since it seems to deal with the mouse problem better but will try this setting with radeondrm driver as well on this workstation.

I have made this change to four other systems (Dell 2950, Supermicro X8SIL, ASUS netbook, LG notebook -- two servers are running AMD64 running 4.7 -stable and notebook and netbook are running i386 -current). Will report back after using those the next few days.

On my main system I am using

$ sysctl kern.version
kern.version=OpenBSD 4.5-stable (GENERIC.MP.NPS) #1: Mon Jul 6 11:44:38 CDT 2009
r...@server11.sankars.local:/usr/src/sys/arch/i386/compile/GENERIC.MP.NPS

Here is my xorg.conf in case it is of any use.

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        ModulePath   "/usr/X11R6/lib/modules"
        FontPath     "/usr/X11R6/lib/X11/fonts/misc/"
        FontPath     "/usr/X11R6/lib/X11/fonts/TTF/"
        FontPath     "/usr/X11R6/lib/X11/fonts/OTF"
        FontPath     "/usr/X11R6/lib/X11/fonts/Type1/"
        FontPath     "/usr/X11R6/lib/X11/fonts/100dpi/"
        FontPath     "/usr/X11R6/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
        Load  "dbe"
        Load  "dri"
        Load  "extmod"
        Load  "glx"
        Load  "freetype"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "wsmouse"
        Option      "Device" "/dev/wsmouse"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
        #DisplaySize      530   300     # mm
        Identifier   "Monitor0"
        VendorName   "SAM"
        ModelName    "SyncMaster"
        HorizSync    30.0 - 81.0
        VertRefresh  56.0 - 75.0
        Option      "DPMS"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"                   # [<bool>]
        #Option     "SWcursor"                  # [<bool>]
        #Option     "Dac6Bit"                   # [<bool>]
        #Option     "Dac8Bit"                   # [<bool>]
        #Option     "BusType"                   # [<str>]
        #Option     "CPPIOMode"                 # [<bool>]
        #Option     "CPusecTimeout"             # <i>
        #Option     "AGPMode"                   # <i>
        #Option     "AGPFastWrite"              # [<bool>]
        #Option     "AGPSize"                   # <i>
        #Option     "GARTSize"                  # <i>
        #Option     "RingSize"                  # <i>
        #Option     "BufferSize"                # <i>
        #Option     "EnableDepthMoves"          # [<bool>]
        #Option     "EnablePageFlip"            # [<bool>]
        #Option     "NoBackBuffer"              # [<bool>]
        #Option     "DMAForXv"                  # [<bool>]
        #Option     "FBTexPercent"              # <i>
        #Option     "DepthBits"                 # <i>
        #Option     "PCIAPERSize"               # <i>
        #Option     "AccelDFS"                  # [<bool>]
        #Option     "DDCMode"                   # [<bool>]
        #Option     "IgnoreEDID"                # [<bool>]
        #Option     "DisplayPriority"           # [<str>]
        #Option     "PanelSize"                 # [<str>]
        #Option     "ForceMinDotClock"          # <freq>
        #Option     "ColorTiling"               # [<bool>]
        #Option     "VideoKey"                  # <i>
        #Option     "RageTheatreCrystal"        # <i>
        #Option     "RageTheatreTunerPort"      # <i>
        #Option     "RageTheatreCompositePort"  # <i>
        #Option     "RageTheatreSVideoPort"     # <i>
        #Option     "TunerType"                 # <i>
        #Option     "RageTheatreMicrocPath"     # <str>
        #Option     "RageTheatreMicrocType"     # <str>
        #Option     "ScalerWidth"               # <i>
        #Option     "RenderAccel"               # [<bool>]
        #Option     "SubPixelOrder"             # [<str>]
        #Option     "ShowCache"                 # [<bool>]
        #Option     "DynamicClocks"             # [<bool>]
        #Option     "VGAAccess"                 # [<bool>]
        #Option     "ReverseDDC"                # [<bool>]
        #Option     "LVDSProbePLL"              # [<bool>]
        #Option     "AccelMethod"               # <str>
        #Option     "DRI"                       # [<bool>]
        #Option     "ConnectorTable"            # <str>
        #Option     "DefaultConnectorTable"     # [<bool>]
        #Option     "DefaultTMDSPLL"            # [<bool>]
        #Option     "TVDACLoadDetect"           # [<bool>]
        #Option     "ForceTVOut"                # [<bool>]
        #Option     "TVStandard"                # <str>
        #Option     "IgnoreLidStatus"           # [<bool>]
        #Option     "DefaultTVDACAdj"           # [<bool>]
        #Option     "Int10"                     # [<bool>]
        Identifier  "Card0"
        Driver      "radeon"
        VendorName  "ATI"
        BoardName   "Radeon X1600"
        BusID       "PCI:3:0:0"
EndSection

Section "ServerFlags"
        Option "UseSIGIO" "false"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth    24

        SubSection "Display"
                Depth   24
Modes "1920x1080" "1680x1050" "1600x1200" "1280x1024" "1024x768"
                Virtual 3840 3840
        EndSubSection
EndSection


--
Vijay Sankar, M.Eng., P.Eng.
ForeTell Technologies Limited
59 Flamingo Avenue, Winnipeg, MB, Canada R3J 0X6
Phone: (204) 885-9535, E-Mail: vsan...@foretell.ca

Reply via email to