Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 74150 - Xorg doesn't start without a valid core pointer (mouse)
Summary: Xorg doesn't start without a valid core pointer (mouse)
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL: https://bugs.freedesktop.org/show_bug...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-12-11 17:50 UTC by Miroslaw Poray-Zbrozek
Modified: 2005-01-13 16:58 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Miroslaw Poray-Zbrozek 2004-12-11 17:50:39 UTC
nvidia-kernel-1.0.6629 module that used to working correctly does not work any more after switching to udev. Reemerging the module does not help. After installing udev and rebooting the system the module gets loaded OK. However after an attempt to start the X server the NVidia splash screen appears briefly and then both the moinitor and the keyboard freeze. The monitor displays a strange picture which is a mixture of the console splash screen and the NVidia splash image. It is  impossible to get back to a text console by pressing ctrl-alt-(1..6). The only solution is to hard reboot the system or possibly log in remotely from another machine if you have sshd started and kill the X server but I had no opportunity to try the latter.

Reproducible: Always
Steps to Reproduce:
1. recompile the kernel without devfs support
2. # emerge udev
3. # reboot
after reboot - reemerge the NVidia kernel module
4. # emerge nvidia-kernel
5. reboot again
after reboot:
6. check if the module is loaded
   # lsmod
     Module                  Size  Used by
     nvidia               4055356  22
     r8169                  21448  0
7. Attempt to start the X server:
   # startx

Actual Results:  
As mentioned before the keyboard and the monitor froze.

Expected Results:  
The X server should have started normally.

I also use a chrooted 32 bit installation. Ironically that does not seem to be
affected. After bind mounting /proc and /dev and chrooting into that
installation I was able to start the 32 bit X server without any problems.

After compiling back devfs support into the kernel, unmerging udev and
reemerging the NVidia module the 64 bit X server works again.
Comment 1 Daniel Drake (RETIRED) gentoo-dev 2004-12-11 18:23:32 UTC
http://www.gentoo.org/doc/en/migration-to-2.6.xml#doc_chap4_sect8

Does that help?
Comment 2 Andrew Bevitt 2004-12-12 01:56:34 UTC
Please also provide the following information (if the above is no assistance)

The driver section of your xorg.conf file.
Your video card.

Please also check the section in the README (/usr/share/doc/nvidia-kernel-1.0.6629/README.gz) file on NvAGP 
Comment 3 Miroslaw Poray-Zbrozek 2004-12-12 07:20:41 UTC
The driver section you asked about has been automaticly created by X -configure and looks like this:

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         "DigitalVibrance"               # <i>
        #Option         "NoFlip"                        # [<bool>]
        #Option         "Dac8Bit"                       # [<bool>]
        #Option         "NoLogo"                        # [<bool>]
        #Option         "UBB"                           # [<bool>]
        #Option         "Stereo"                        # <i>
        #Option         "SWcursor"                      # [<bool>]
        #Option         "HWcursor"                      # [<bool>]
        #Option         "VideoKey"                      # <i>
        #Option         "NvAGP"                         # <i>
        #Option         "IgnoreEDID"                    # [<bool>]
        #Option         "NoDDC"                         # [<bool>]
        #Option         "ConnectedMonitor"              # <str>
        #Option         "ConnectedMonitors"             # <str>
        #Option         "TVStandard"                    # <str>
        #Option         "TVOutFormat"                   # <str>
        #Option         "RenderAccel"                   # [<bool>]
        #Option         "CursorShadow"                  # [<bool>]
        #Option         "CursorShadowAlpha"             # <i>
        #Option         "CursorShadowXOffset"           # <i>
        #Option         "CursorShadowYOffset"           # <i>
        #Option         "UseEdidFreqs"                  # [<bool>]
        #Option         "FlatPanelProperties"           # <str>
        #Option         "TwinView"                      # [<bool>]
        #Option         "TwinViewOrientation"           # <str>
        #Option         "SecondMonitorHorizSync"        # <str>
        #Option         "SecondMonitorVertRefresh"      # <str>
        #Option         "MetaModes"                     # <str>
        #Option         "UseInt10Module"                # [<bool>]
        #Option         "NoTwinViewXineramaInfo"        # [<bool>]
        #Option         "NoRenderExtension"             # [<bool>]
        #Option         "Overlay"                       # [<bool>]
        #Option         "CIOverlay"                     # [<bool>]
        #Option         "ForceEmulatedOverlay"          # [<bool>]
        #Option         "TransparentIndex"              # <i>
        #Option         "OverlayDefaultVisual"          # [<bool>]
        #Option         "NvEmulate"                     # <i>
        #Option         "NoBandWidthTest"               # [<bool>]
        #Option         "CustomEDID-CRT-0"              # <str>
        #Option         "CustomEDID-CRT-1"              # <str>
        #Option         "CustomEDID-DFP-0"              # <str>
        #Option         "CustomEDID-DFP-1"              # <str>
        #Option         "CustomEDID-TV-0"               # <str>
        #Option         "CustomEDID-TV-1"               # <str>
        #Option         "TVOverScan"                    # <f>
        #Option         "IgnoreDisplayDevices"          # <str>
        #Option         "MultisampleCompatibility"      # [<bool>]
        #Option         "RegistryDwords"                # <str>
        #Option         "NoPowerConnectorCheck"         # [<bool>]
        #Option         "AllowDFPStereo"                # [<bool>]
        #Option         "XvMCUsesTextures"              # [<bool>]
        #Option         "HorizSync"                     # <str>
        #Option         "VertRefresh"                   # <str>
        Identifier      "Card0"
        Driver          "nvidia"
        VendorName      "nVidia Corporation"
        BoardName       "GeForce FX 5900XT"
        BusID           "PCI:1:0:0"
EndSection

as you can see all the NVidia options are commented out which means that the defaults should be used. If I undestand the NVidia documentation properly the driver will try to use the AGP GART from the kernel first then the one included with the NVidia driver and if neither works will default to PCI mode.

There is no option to enable or disable the native Athon64 AGP GART in my kernel config available when compiled for amd64. The menuconfig entry looks like this:
   --- /dev/agpgart (AGP support)

However if compiled for a 32 bit system the same menuconfig item makes selecting 
the agp gart to be compiled into the kernel or as a module possible.

I am not sure if that means that on a 64 bit system the native agp gart is used always or unavailable. However I am sure that one of the  AGP drivers (either NVidia or native) is being used. It is possible to force PCI mode by setting NvAGP to 0. The glxgears benchmark on my GeForce FX 5900XT card in 1600x1200@24 before was about 6500 after setting NvAGP to 0 dropped to about a half of that value. 

For an obvious reason I was unable to try the same with udev installed in 64 bit mode but as mentioned in the original report I was able to start a 32 bit chrooted X server without any problem. The glxgears benchmark was about 6500 again which indicates that agp gart works in that mode.

So it seems that the problem is somehow related to udev.
Comment 4 Daniel Drake (RETIRED) gentoo-dev 2004-12-13 07:50:14 UTC
Yes, did you check the URL I mentioned? Its quite a common problem : X dies because it can't find the mouse node referenced in the config
However the nvidia drivers are a bit buggy and often cause a hardlock in this situation (I suspect this is what is happening here)
Comment 5 Donnie Berkholz (RETIRED) gentoo-dev 2004-12-13 08:37:19 UTC
Maybe related to Daniel's comment:
https://bugs.freedesktop.org/show_bug.cgi?id=1241
Black screen if corepointer device not found
Comment 6 Miroslaw Poray-Zbrozek 2004-12-13 11:59:37 UTC
You are probably right. I have checked my xorg.conf files on both 64 and 32 bit installations. The 64 bit config points to /dev/mouse while it should be set to /dev/input/mice. The 32 bit configuration is correctly set to /dev/input/mice and that would explain why the 32 bit server worked OK while 64 bit one crashed. I did not think about that as my gpm is configured correctly to use /dev/input/mice so the mouse pointer was working on the console. Please take my apology for wasting your time. I will try to emerge udev again and let you know what happens.
Comment 7 Miroslaw Poray-Zbrozek 2004-12-13 13:45:59 UTC
I have reinstalled udev and I now I can confirm that the whole problem was related to a wrong mouse driver entry in the xorg.conf file. Before emerging udev I made a simple experiment - I pointed the mouse driver somewhere to the outer space and tried to start the X server. It resulted in a crash identical as in the original report. That means that udev is totally innocent in this case.

So this bug report should be turned into a feature request addressed to XOrg guys. They should consider changing that mercilessly unfriendly default crash-if-no-mouse-detected behavior. Even Windows can start without a poiting device connected so why X server should not?

Thank you again for a fast response and a right clue about what was really wrong.
Comment 8 Donnie Berkholz (RETIRED) gentoo-dev 2004-12-13 14:14:35 UTC
Sounds good.
Comment 9 Daniel Drake (RETIRED) gentoo-dev 2004-12-13 16:13:37 UTC
I think its already present, you just have to specify it:

Section "ServerFlags"
  Option       "AllowMouseOpenFail"
EndSection


I haven't tested this
Comment 10 Blu3 2005-01-13 16:58:56 UTC
Strange.  XF86 X11 exited gracefully if the mouse couldn't be opened and continues just fine with the allow-open-fail keyword just mentioned.  I haven't had the opportunity to test xorg X11 in this manner, I assumed it reacted the same.