Inspiron 1505 + External Monitor = X can't find laptop monitor!

Folks, I’ve been fussing with this issue off and on for several months now, and may require psychiatric assistance if I don’t get an answer soon.

I have an old Dell Inspiron 1505 running openSUSE for several years. It has an NVIDIA GeFORCE Go 7300 card on it. I attached an external Dell 1901 monitor to the laptop, and configured the card to display both the laptop screen and the external screen (what they call TwinView). All was happy for several months, including a clean install of openSUSE 12.1. After an update (for at least the KDM display manager, possibly X.org and/or the NVIDIA driver) some time ago, the machine boots up using the laptop screen, but X can never find the laptop!

Startup looks like this:

  1. GRUB appears on the laptop

  2. When loading oS, process begins on the laptop, but KDM (silently) moves to the 2nd monitor.

  3. If the 2nd monitor is disconnected, a shell login prompt appears. Logging in as Root and running startx, startkde or gnome generates an error. Reconnecting monitor, boots normally (but no laptop screen displays).

  4. When I shutdown the system, once the desktop disappears, the laptop screen again comes to life, displaying the Linux kernel version before shutting down.

I looked at the Xorg log file, the file notes that it’s reading Xorg.conf TwinView, but only sees the Dell display.

It appears that I have both the proprietary NVIDIA driver (GFX-G02) and the Nouveau driver installed now. A couple weeks ago, I uninstalled the NVIDIA-GFX02-KMP-Default package. YaST replaced it with the equivalent -Desktop package. When I rebooted the system, I couldn’t boot to any desktop. Reinstalling the Default package returned everything to status quo.

FWIW, this laptop also boots to Windows XP, and has no trouble displaying both screens.

All ideas from the hive mind cheerfully accepted, short of going back to openSUSE 11.3.

I don’t have nvidia hardware on a laptop with an external monitor. So my comments need to be taken in that rather restricted context.

How did you do this ? Do you have a custom xorg.conf file ? Do you have custom edits in the /etc/X11/xorg.conf.d/ directory files ?

Could it be the laptop X display is running on a different terminal session? Did you try switching to a different terminal session to see if it is there ? ie <CTRL><ALT><F1>, or <CTRL><ALT><F2> … up to <CTRL><ALT><F7> ?

Can you post that log file on SUSE Paste and share the URL so others can examine the file contents ?

That is strange. We need to know what driver is in use. We need to know what driver has been blacklisted (if any). We need to know if KMS is enabled or disabled.

I’m also curious, when you had the proprietary driver running, did you run nvidia-settings to tune for both monitors ?

This is likely solvable. If not essential to use openSUSE-11.3, its probably better to use 11.4 or 12.1 due to support being superior (including security updates).

Saved xorg.conf file from NVIDIA-Settings. Don’t think I edited xorg.conf.d, but I will double-check.

CTRL-ALT-F1 through CTRL-ALT-F6 shows a text login screen on the laptop. Trying to login and ‘startx’ reports that X is running on Display 0. CTRL-ALT-F7 returns to external monitor (as expected).

SUSE Paste

Not sure how to determine the driver in use. I have heard about blacklisting Nouveau when the NVIDIA driver is running, but don’t know how to do that. I have run nvidia-settings numerous times, and it never sees the laptop monitor.

Hope this additional info helps! Mike

Copy the contents of /var/log/Xorg.0.log to the directory SUSE Paste and post here the susepaste URL/address where that content is located. The /var/log/Xorg.0.log file should let us know what driver is in use.

I assume there is nothing in the BIOS set to cause this behaviour ? Can you confirm that ?

It’s definitely the NVIDIA driver: SUSE Paste

I’m pretty confident there’s no change in the BIOS; as previously noted, this laptop dual-boots to Windows XP and works as expected.

Thanks. Please, I know this is perfectly obvious to you, but i am not smart enough to determine what xorg.conf (if any) nor custom entry in /etc/X11/xorg.conf.d/ directory you had in place when obtained that xorg.conf file. Can you tell me ? It might be useful information.

I do note these entries which support your initial assessment:


 91483.147] (--) PCI:*(0:1:0:0) 10de:01d7:1028:2003 rev 161, Mem @ 0xed000000/16777216, 0xd0000000/268435456, 0xee000000/16777216, **BIOS @ 0x????????/131072**
......
 91486.903] (EE) NVIDIA(0): Failed to get supported display device(s)
 91487.007] (II) NVIDIA(GPU-0): Display (DELL 1901FP (CRT-0)) does not support NVIDIA 3D
 91487.007] (II) NVIDIA(GPU-0):     Vision stereo.
 91487.007] (WW) NVIDIA(GPU-0): Failed to query OR info 0x24
.......
 91487.010] (--) NVIDIA(0): Connected display device(s) on GeForce Go 7300 at PCI:1:0:0
 91487.010] (--) NVIDIA(0):     DELL 1901FP (CRT-0)
 91487.010] (--) NVIDIA(0): DELL 1901FP (CRT-0): 400.0 MHz maximum pixel clock
 91487.010] (**) NVIDIA(0): TwinView enabled
 91487.010] (II) NVIDIA(0): Display Device found referenced in MetaMode: CRT-0
 91487.010] (WW) NVIDIA(0): TwinView requested, but only 1 display devices found.
.....
91487.010] (WW) NVIDIA(0): Invalid display device in Mode Description
 91487.010] (WW) NVIDIA(0):     "DFP:nvidia-auto-select+0+0"
 91487.010] (WW) NVIDIA(0): Not using mode description "DFP:nvidia-auto-select+0+0";
 91487.010] (WW) NVIDIA(0):     unable to map to display device
 91487.011] (II) NVIDIA(0): Validated modes:
.....
 91487.162] (II) Loading extension NV-CONTROL
 91487.163] (WW) NVIDIA(0): Option "TwinViewXineramaInfoOrder" requested "DFP-0", but no
 91487.163] (WW) NVIDIA(0):     such display device could be found, or all display devices
 91487.163] (WW) NVIDIA(0):     by that name are currently unavailable.
 91487.163] (WW) NVIDIA(0): Option "TwinViewXineramaInfoOrder" requested "DFP", but no
 91487.163] (WW) NVIDIA(0):     such display device could be found, or all display devices
 91487.163] (WW) NVIDIA(0):     by that name are currently unavailable.
 91487.163] (WW) NVIDIA(0): Option "TwinViewXineramaInfoOrder" requested "TV", but no such
 91487.163] (WW) NVIDIA(0):     display device could be found, or all display devices by
 91487.163] (WW) NVIDIA(0):     that name are currently unavailable.
......

Do you have any specific resolution specified anywhere which could be causing this ?

Note in the above the " BIOS @ 0x???/ "

I understand your logic. I also know from experience that when it comes to sound, Windows often completely ignores what is set in the BIOS. Is that the same for graphics ? I don’t know. So could you please check and confirm there is nothing in the BIOS set that could be causing this.

Also, I assume you provided an xorg.conf with external monitor device connected (as that is what the xorg.0.log file suggests).

Can you boot your laptop with NO external monitor (with no xorg.conf nor other custom settings) and obtain a copy of the xorg.0.log file and post it here. I want to see how it identifies the internal monitor in that case. Also run nvidia-settings in that case, and see how it identifies the internal monitor.

This is all obtaining information so as to understand this better (and hopefully point to a solution). At the moment I have no insight into what could be causing this. And again, I do NOT have nVidia laptop hardware, so it might be useful for someone who has such nvidia hardware functioning in a laptop with an external monitor to chime in here.

Apologies. When I first connected the external monitor some time ago (using openSUSE 11.4), I used nvidia-settings to create the xorg.conf file. Prior to connecting the external monitor, there was no xorg.conf. Later, I did a clean install of openSUSE 12.1, and copied the xorg.conf from the old install (external backup drive) back to the new install. At that point, everything was working. While troubleshooting this current issue, I confirmed that nothing had changed in the “active” xorg.conf compared to the backup file.

I will re-check /etc/X11/xorg.conf.d for additional information.

I don’t think so, but will look into that as well.

My task list now looks like this:

  1. Check the BIOS.
  2. Boot without the external monitor and save another log file.
  3. Check xorg.conf.d for custom entries
  4. Track a resolution setting somewhere.

I will try to get to this tonight, but it may not be until tomorrow. I very much appreciate the help. Perhaps someone willl chime in in the interim.

Item 2 that I would like to see is:

  1. Boot your laptop with NO external monitor (AND with no xorg.conf nor other custom settings in xorg.conf.d) [which may mean ‘3’ should be done before ‘2’].

Well, that means an extra reboot, but I can live with that! :silly:

So after a while of fighting a strained back, among other maladies real and electronic, I return to this issue.

  1. I checked the BIOS for this Dell machine, and found nothing odd or unusual.
  2. After booting normally, I checked xorg.conf.d and also found no custom entries.
  3. I disconnected the external monitor (but failed to move xorg.conf) and attempted to boot to openSUSE 12.1 again. This operation failed, as expected, with no screens seen. The Xorg.0.log file is located here: SUSE Paste. There doesn’t seem to be any BIOS issues in this file.
  4. I have not seen any special resolution settings.

The next step, I suppose, is to make the xorg.conf file invisible and see if she’ll see the laptop screen without the external monitor. I post this now to tell (the collective) you I’m still troubleshooting, and in hopes that maybe you’ll see something useful in this Xorg log.

Thanks again!

To those who may have been following this thread (or may find it in the future): We have a solution! Though not a manual fix. In short, the problem (most likely) was with the NVIDIA driver. This theory is supported by the simple fact that a new driver appeared in my Zypper updates on Sunday. I installed the driver, and noted that Zypper’s log complained about not finding xorg.conf (which I had indeed renamed to no apparent benefit around the time of my last message).

Once Zypper had completed its work (updating to KDE 4.8.2, incidentally), I rebooted. To my moderate amazement, openSUSE booted to the laptop monitor–and never switched over to the external monitor! I ran nvidia-settings and YES! both monitors were visible in the UI, but the external monitor wasn’t active. I activated the second monitor, set up TwinView, and it works!

I saved the nvidia configuration for future use, but I am happily back in business. Many thanks, oldcpu, for taking the time to think this out.