Getting display driver / dual-monitor working right on Ubuntu 7.10

From WhyNotWiki

Jump to: navigation, search

Contents

[edit] After a restart, display is messed up

I restarted my computer. When it come back up, the screen was in a very low-resolution (800x600) mode.

I went into the screen settings and discovered that it was using generic VESA driver.

I tried changing it to radeon, but when I tested it, it looked kind of funny. The dialog box was kind of fuzzy and had somewhat random red smudges around it.

I tried changing it to ati, but when I tested it, it looked kind of funny. Oh well, I decided to try it anyway.

That seemed to work, but the screen stayed at the same resolution. So I changed the Display from Plug and Play to Monitor 1280x1024 and then tried to up the resolution. That didn't quite do the trick.

Then I changed it to something else and it said that all users had to log out for the changes to take effect.

So I logged out... Beautiful! It displayed the login screen at a high resolution.

However, when I logged in, it had problems. It showed all the menus and the desktop, but only briefly, and then it exited back to the login screen. Same problem I had before, when I tried the installer (before I tried the ~"safe graphics mode" of the installer). So apparently it doesn't like this display mode, whichever it is.

[edit] Restarting in recovery mode

So I restarted and selected recovery mode from the boot menu.

This landed me at a terminal screen, logged in as root.

It looked like it had tried to start X but had had some errors -- but I couldn't determine exactly which errors.

I tried doing startx and it said "This session is running as a priveleged user. Running a session as a privileged user should be avoided for security reasons. If possible, you should log in as a normal user." I pressed Quit.

So I tried doing su tyler and then startx. Then it said I didn't have sufficient access.

So I did sudo startx. Then it said I was running as a privileged user again. I pressed Continue this time. It started to load the normal GNOME desktop manager -- I could see the top menu and bottom menu -- but it was only taking up the upper-left corner of the screen. The rest of the screen was that ugly black and gray diagonal crosshatch pattern. Then the GNOME stuff went away and the whole screen was just the black and gray. There was still a white cursor on the screen but I couldn't move it with the mouse.

Ctrl-Alt-Backspace did nothing. So did Ctrl-Alt-Fn. So did Ctrl-Alt-Delete. All right, Mr. Linux, a hard reboot it is then.

[edit] Restarting in normal mode

This time, when the login screen it was only in the upper-left corner of the screen, and the rest of the screen was the tan/light-brown color.

When I logged in, it went to the whole screen being the tan color -- nothing else. I could move the cursor around, and then suddenly, I no longer could. The screen flickered off and I was back at the login screen in the upper-left corner.

I pressed Ctrl-Alt-F1 and then tried another Ctrl-Alt-Fn, but it froze up. I could no longer move the mouse pointer.

[edit] Restarting in recovery mode

Following some tips from http://ubuntuforums.org/archive/index.php/t-403801.html, I changed my xorg.conf: I changed from Driver "ati" to Driver "vesa".

[edit] Restarting in normal mode

Well, that did the trick. I may not have hardware acceleration right, now but at least I can start X again, and my screen is running at a beautiful 1600x1200x71Hz on my CRT.

I can't seem to get output on my LCD though now. Hmm.

[edit] Another try with the ati driver

I changed it to use the ati driver again and changed the monitor/display to 1280x1024. Again it told me that all users needed to log off. So I logged off. Again when I tried logging in, it wouldn't stay logged in and ended up kicking me back to the login screen.

This time I went to Change Session and selected "Failsafe GNOME login". That got me in just fine... (but I don't want to have to always use that option!) It's still using ati driver and displaying at 1280x1024. On CRT only.

Let's play around with xrandr...

$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 1280 x 1024
VGA-0 connected 1280x1024+0+0 (normal left inverted right) 360mm x 270mm
   1280x1024@60   60.0* 
   1280x960@60    60.0  
   1024x768@60    60.0  
   800x600@60     60.3  
   800x600@56     56.2  
   640x480@60     60.0  
   640x480        60.0  
LVDS connected 1280x1024+0+0 (normal left inverted right) 0mm x 0mm
   1280x1024      59.9* 
   1280x960       59.9  
   1280x800       60.0  
   1280x768       60.0  
   1024x768       60.0     59.9  
   800x600        60.3     59.9  
   640x480        59.9     59.4  
None disconnected (normal left inverted right)
S-video disconnected (normal left inverted right)

At least it shows that 2 monitors are connected...

Can I get dual-screen working now?

$ xrandr --output LVDS --left-of VGA-0
xrandr: screen cannot be larger than 1280x1024 (desired size 2560x1024)

Nope.


[edit] Things to try still

http://www.thinkwiki.org/wiki/Installing_Ubuntu_6.06.1_on_a_ThinkPad_R60e

$  xrandr --output LVDS --mode 1024x768 --pos 0x400

moves laptop screen to top of window, so both share same top line

$  xrandr  --output VGA --mode 1600x1200 --pos 0x768
  xrandr: screen cannot be larger than 1600x1600 (desired size 1600x1968)

edit xorg.conf and ensure we have Virtual 2048 2048. Try again and it works: we have a laptop screen in a virtual position at the top of a 2048x2048 frame with the VGA monitor below.

http://www.thinkwiki.org/wiki/Xorg_RandR_1.2

(Similar problem, but no helpful hints -- http://www.nabble.com/In-Fresh-install-of-7.10,-can't-get-working:-1)-dual-monitor-setup-and-2)-high-resolution-t4663802.html)

http://burtonini.com/blog/computers/randr-2007-02-06-17-50. Retrieved on 2007-05-11 11:18.

Section "Monitor"
        Identifier "Dell TFT"
        # This is a standard modeline for 1680x1050 at 60Hz
        Modeline "1680x1050" 149.00  1680 1760 1944 2280  1050 1050 1052 1089
EndSection
        
Section "Screen"
        Identifier      "Screen"
        Device          "Intel"
        Monitor         "Monitor"
        # This says that when using a monitor on the output called VGA, use the
        # settings in the monitor "Dell TFT"
        Option "monitor-VGA" "Dell TFT"
        DefaultDepth    24
        SubSection "Display"
                Depth 24
                # This tells the screen to allocate a frame buffer up to
                # 1680x1050.
                Virtual 1680 1050
        EndSubSection
EndSection

With this, everything just works. If I xrandr with various displays plugged in I can see what they support and can switch modes. To make everything nice and easy I wrote a small script that I bound to an unused function key:

if xrandr -q | grep -q  "VGA connected"; then
  xrandr --output LVDS --off --output VGA --mode 1680x1050
else
  xrandr --output VGA --off --output LVDS --mode 1024x768
fi

(thanks to Eric for pointing out that I don't need to use the hex values). Simple! As you can see the new xrandr is very powerful. If you want to do

Personal tools