Summary: | Nouveau fails with unreadable EDID | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | alci | ||||||||||||||||||||
Component: | Driver/nouveau | Assignee: | Nouveau Project <nouveau> | ||||||||||||||||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||||||||||||||||
Severity: | normal | ||||||||||||||||||||||
Priority: | medium | ||||||||||||||||||||||
Version: | unspecified | ||||||||||||||||||||||
Hardware: | x86-64 (AMD64) | ||||||||||||||||||||||
OS: | Linux (All) | ||||||||||||||||||||||
Whiteboard: | |||||||||||||||||||||||
i915 platform: | i915 features: | ||||||||||||||||||||||
Attachments: |
|
Description
alci
2010-09-08 04:55:45 UTC
Can you post your dmesg log from after loading the nouveau driver please? Nouveau should be able to find your EDID if you're using new enough code. Created attachment 38551 [details]
xorg log when using nouveau driver
Here is the output of xorg when using nouveau.
(by using nouveau in the device section of xorg.conf. If no xorg.conf, seems to fallback to fbdev).
Can I see your kernel log please (/var/log/messages or "dmesg" after a failed attempt at using nouveau). There is not much in /var/log/messages after a failed attempt... If I change xorg.conf from nv to nouveau, then logout from gnome, gdm will fail to start. At that time, I have nothing added in /var/log/messages. In /var/log/syslog, I get: Sep 9 18:52:27 franck-laptop gdm-binary[23109]: WARNING: GdmDisplay: display lasted 0,230001 seconds Sep 9 18:52:27 franck-laptop gdm-binary[23109]: WARNING: GdmLocalDisplayFactory: maximum number of X display failures reached: check X server log for errors In /var/log/Xorg.0.log, I get the same messages as in the attachment I made, ending with: [ 339.439] (EE) [drm] failed to open device [ 339.439] (EE) No devices detected. Is there any other log I can provide ? (In reply to comment #4) > [ 339.439] (EE) [drm] failed to open device > [ 339.439] (EE) No devices detected. I got that error too at first. The device it's looking for is crw-rw---- 1 root video 226, 0 2010-09-09 06:39 /dev/dri/card0 In my case that device wasn't created during boot until I added console framebuffer support in the kernel. CONFIG_FRAMEBUFFER_CONSOLE=y After I made that change, then I could see that the nouveau fb driver takes over the console during early bootup -- and that (somehow) prods udev into creating the missing device. There may be an alternative way to do the same thing but I don't know how to do it. (Hints welcomed.) (In reply to comment #5) > In my case that device wasn't created during boot until I added > console framebuffer support in the kernel. CONFIG_FRAMEBUFFER_CONSOLE=y Why would you *not* have fbcon=y? Without fbcon, you will not have a text console at all with Nouveau. > After I made that change, then I could see that the nouveau fb > driver takes over the console during early bootup -- and that > (somehow) prods udev into creating the missing device. That is a little odd trigger for it, but still just an unrelated theoretical issue of the case when someone wants to have graphics but not a console. To the original poster: You were asked to provide a complete kernel log from boot up to the original failure. Do not filter it, do not interpret it, do not compress it. Without the log you cannot be helped. It is almost as if you do not have KMS enabled (or Nouveau installed properly). The log will show the cause. When Nouveau loads, it will print many lines to the kernel log at kernel module init time, before X starts. (In reply to comment #6) > (In reply to comment #5) > > In my case that device wasn't created during boot until I added > > console framebuffer support in the kernel. CONFIG_FRAMEBUFFER_CONSOLE=y > > Why would you *not* have fbcon=y? Without fbcon, you will not have a text > console at all with Nouveau. Now I remember. My mistake was building fbcon as a module. When I changed it to built-in then everything started working correctly. Before I figured it all out, I loaded the fbcon module from a blank console screen before starting X -- thus getting the missing device error mentioned by the OP. If there's a way to shoot yourself in the foot -- I promise to find it :) (In reply to comment #4) > There is not much in /var/log/messages after a failed attempt... If I change > xorg.conf from nv to nouveau, then logout from gnome, gdm will fail to start. > > At that time, I have nothing added in /var/log/messages. > In /var/log/syslog, I get: > > Sep 9 18:52:27 franck-laptop gdm-binary[23109]: WARNING: GdmDisplay: display > lasted 0,230001 seconds > Sep 9 18:52:27 franck-laptop gdm-binary[23109]: WARNING: > GdmLocalDisplayFactory: maximum number of X display failures reached: check X > server log for errors > > In /var/log/Xorg.0.log, I get the same messages as in the attachment I made, > ending with: > > [ 339.439] (EE) [drm] failed to open device > [ 339.439] (EE) No devices detected. > > Is there any other log I can provide ? I need to see your dmesg output (or /var/log/messages) from nouveau trying to start *without* "nomodeset" (so, you'll get a blank screen because nouveau can't read your edid) in order to better diagnose the problem. "failed to open device" is probably because you were trying to use nouveau without kernel modesetting enabled. Ok, here I come with the requested log files. Sorry for being tough on this :-) 1) with no xorg.conf, let X11 auto-configure: dmesg-noxorg.txt Xorg.noxorg.log works but fallback to vesa (output is quite bad) 2) with a xorg.conf using nv driver dmesg-xorg-nv.txt Xorg.nv.log Works (but no 3D of course) 3) with a xorg.conf using nouveau driver dmesg-xorg-nouveau.txt Xorg.nouveau.log Fails, X won't start. Created attachment 38661 [details]
dmesg no xorg
Created attachment 38662 [details]
Xorg.0.log no xorg.conf
Created attachment 38663 [details]
dmesg nv
Created attachment 38664 [details]
xorg.0.log nv
Created attachment 38665 [details]
dmesg nouveau
Created attachment 38666 [details]
Xorg.0.log nouveau
In all 3 cases you had nvidia proprietary driver (both kernel and userspace). Uninstall it and try again. You should not see this in kernel log: "NVRM: loading NVIDIA UNIX x86_64 Kernel Module" and this in xorg.0.log: Module glx: vendor="NVIDIA Corporation" Ok, I have removed all previously installed proprietary NVidia drivers. I have removed any xorg.conf file from the way, and here are my dmesg and Xorg.0.log files. Display is black, no X, no console. Created attachment 38669 [details]
dmesg after removing nvidia install, no xorg.conf
Created attachment 38670 [details]
Xorg.0.log after removing nvidia install, no xorg.conf
OK, Your laptop is one of those weirdo Sony laptops that don't provide EDID in any normal way. This has been implemented in Nouveau upstream, but your distribution appears not to ship it. Thanks Ben. This seems like a good news to me! May I ask if there is an easy way to test latest nouveau driver, ala 'compat-wireless' ? (In reply to comment #21) > May I ask if there is an easy way to test latest nouveau driver, ala > 'compat-wireless' ? Yes, sort of, the out-of-tree build: http://nouveau.freedesktop.org/wiki/InstallDRM It may require you to upgrade your kernel, anyway. You can find that page via Nouveau wiki front page -> Installing (compiling and using Nouveau) -> Step 2, the kernel modules. (In reply to comment #20) > OK, Your laptop is one of those weirdo Sony laptops that don't provide EDID in > any normal way. This has been implemented in Nouveau upstream, but your > distribution appears not to ship it. Marking as FIXED. I just tried latest (alpha) ubuntu, that ships with nouveau driver git20110107(+b795ca6e). But I now get this error: [drm] nouveau Pointer to BIT loadval table invalid So unless this is some other unrelated error showing up, the fix does not seem to work (here). Last upgrade did fix the issue for me. As I was the initial reporter and the problem was supposed to be resolved, I close it again. Many thanks to all. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.