PDA

View Full Version : [ubuntu] Nvidia Twinview second monitor running at 640x480



shtaffa
January 28th, 2010, 02:47 PM
First off, I have two identical Acer 20" DFP 4:3 displays. Their native resolution is 1400x1050. They are both connected to a GeForce 7600GT.

After installing the Nvidia drivers I only had one display working with a resolution of 640x480. After getting some help from others in the forums, I now have one display that is running at 1400x1050 and one that is running at 640x480.

If I open the nvidia settings, I am unable to change the resolution of the 640x480 display to anything higher. It is also being recognized as "DFP-0" while the one that is working properly is being recognized as "Acer AL2017 A". I have included a screenshot of the nvidia settings program.

Here is a copy of my xorg.conf:


# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (buildd@palmer) Sun Feb 1 20:21:04 UTC 2009

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

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

Section "ServerFlags"
Option "Xinerama" "0"
EndSection

Section "InputDevice"

# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "Monitor"

# HorizSync source: xconfig, VertRefresh source: xconfig
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DFP-0"
HorizSync 28.0 - 55.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7600 GT"
EndSection

Section "Screen"

# Removed Option "metamodes" "DFP-0: 1400x1050_60 +0+0, DFP-1: 1400x1050_60 +1400+0"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "DFP-1"
Option "metamodes" "DFP-0: 640x480_60 +0+0, DFP-1: 1400x1050_60 +640+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection


The commented line regarding the removed metamodes option is a line that I manually edited hoping to set the 640x480 monitor to 1400x1050. After doing that and rebooting the system, the monitor that was formerly running at 640x480 was completely disabled. I was able to go back in to the nvidia settings and change it from a resolution of "none" to 640x480 again. It was once again up and running, but obviously still at 640x480.

Anyone have any idea how I can either get the system to recognize my second monitor properly or at least get it to work at 1400x1050?

Thank you.

gradinaruvasile
January 28th, 2010, 02:56 PM
Stop GDM (or reboot in recovery mode). remove xorg.conf (or rename it) and run

sudo nvidia-xconfig

Make sure both monitors are connected at boot.

Then try to configure in graphical mode.

shtaffa
January 28th, 2010, 03:09 PM
I stopped gdm, renamed xorg.conf and ran nvidia x-config.

Now when I log in I have only one monitor working and it is running at 640x480. Twinview is no longer an available option in the Nvidia settings program.

EDIT: I should also note that the disabled monitor is not even set up in the Nvidia settings program. Only the one monitor is available for configuration and the maximum resolution possible is 640x480.

gradinaruvasile
January 28th, 2010, 03:18 PM
Did you run it with sudo? IT MUST be run it with sudo, it needs the rights to actually write the file in that location.

sudo nvidia-xconfig

Because if not, you dont run the nvidia (proprietary) driver now, only the default nv opensource driver (and that doesnt support acceleration).
Run the command with sudo and see if you actually have /etc/X11/xorg.conf.

If none the above work, remove xorg.conf, reinstall the driver.
Also, a reboot is required to correctly detect the monitors.

shtaffa
January 28th, 2010, 04:29 PM
I did run the command as root. It did create a new copy of xorg.conf. It did not resolve the problem.

I uninstalled and reinstalled the nvidia driver and it didn't help either.

I then took the extreme step of reinstalling the entire operating system. I had installed the driver from the Nvidia web page at one point and I just didn't want the doubt that it may be interfering with my setup. After reinstallation, I once again had one display with a resolution 640x480. I opened the nvidia settings dialog and saw that it has once again recognized one of my monitors as DFP-0 and the other as the Acer model that it is. I was able to enable twinview. I set the resolution of the Acer monitor to 1400x1050 but I'm still unable to set the resolution of the one recognized as DFP-0 to anything higher than 640x480.

There has to be something that is preventing my monitor from being recognized properly. I ran a search for files containing "Acer" yesterday to see what file contains the monitor configuration but I was unable to find it. I was hoping to modify the file and duplicate the settings for the Acer to the DFP-0 screen.

Starting to get a little frustrated. This is my work PC. I run Ubuntu exclusively at home and I want to do the same at work. I'm the system admin and I want to make Ubuntu work on my work domain. It's a stepping stone to convert the whole office over. I hope to do this next year. However, if I can't get my second monitor to work, I'll be forced to switch back to WXP. I really don't want to have to do that.

gradinaruvasile
January 28th, 2010, 05:26 PM
Did you try the drivers from nvidia's site? I always use those, they seem to work better than the default ones. I used multiple displays on Geforce 7600gs, quadro nvs 285, nvdia igp 8200 without problems.

Grenage
January 28th, 2010, 05:36 PM
Ah the wondrous twinview + EDID issue, have you tried adding a modeline?


Section "Monitor"
# HorizSync source: xconfig, VertRefresh source: xconfig
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DFP-0"
HorizSync 28.0 - 55.0
VertRefresh 43.0 - 72.0
Modeline "1400x1050_60.00" 121.75 1400 1488 1632 1864 1050 1053 1057 1089 -hsync +vsync
Option "DPMS"
EndSection

shtaffa
January 28th, 2010, 07:14 PM
Did you try the drivers from nvidia's site? I always use those, they seem to work better than the default ones. I used multiple displays on Geforce 7600gs, quadro nvs 285, nvdia igp 8200 without problems.

I removed the proprietary drivers and installed version 190 from nvidia web page. Still had the same problem.


Ah the wondrous twinview + EDID issue, have you tried adding a modeline?

Aha! Kind of. I took the modeline that you posted and added it to my xorg.conf. I still have a 640x480 screen on DFP-0, but it is different. Weird different. The bottom of the image from that screen is actually on the top of the monitor.

I did some quick googling of xorg.conf and modeline. I found that there is a log file that should contain all of the information that I need to create a modeline setting for my monitor. The information that I needed was not in the file. However this tasty little bit of information was:

Unable to get display device DFP-0's EDID; cannot compute DPI

I think you're on the money as to what my problem is.

I then found that there is a program named gtf that allows you to input your resolution and refresh rate and it generates a modeline for you. Running "gtf 1400 1050 60" generated "Modeline "1400x1050_60.00" 122.61 1400 1488 1640 1880 1050 1051 1054 1087 -HSync +Vsync". I commented out your line, added that one, saved and rebooted, I still had a 640x480 display that was all weird.

I looked at the specs that were listed for the Acer monitor in the Nvidia settings program and it listed the refresh rate as 59.98. I know we're splitting hairs here but running "gtf 1400 1050 59.98" generated "Modeline "1400x1050_59.98" 122.57 1400 1488 1640 1880 1050 1051 1054 1087 -HSync +Vsync". Slightly different numbers, so I thought I'd put them in xorg.conf, do another save and reboot. My screen was still weird.

After putting each of these 3 modelines in my xorg.conf, the Nvidia settings program allowed me to change my monitor to more unique resolutions. However, none of them were higher than 640x480.

I think that you may be on to something here. Unfortunately, I don't know what the solution is to get it working properly.

shtaffa
January 28th, 2010, 07:53 PM
HOLY BUCKETS!!!! IT'S WORKING!!!!!

It was definitely an EDID issue.

I googled twinview EDID and found someone who suggested setting a custom EDID in xorg.conf. I went into the Nvidia settings program, saved the EDID for the monitor that was working to a file and then pointed xorg.conf to the file for the monitor that was not working.

Thanks for everyone's help.

This is truly what makes Ubuntu and other open source operating systems great. A community of like-minded people that are willing to help each other out!

Thanks again!

Grenage
January 29th, 2010, 09:53 AM
Great news :)

I recently had this problem; any one of three monitors would be fine but when two were being used there would be massive overscan. Thankfully I didn't have to go as far as a new EDID file, but that was the next stage.

Not that it makes much difference, but it's worth using cvt over gft - cvt uses the VESA standard, so it's slightly more accurate,