MandrivaUsers.org : Radeon:External laptop monitor refresh rate - MandrivaUsers.org

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Radeon:External laptop monitor refresh rate Solving dual display problems with mergefb in xorg

#1 User is offline   jimdunn 

  • casual
  • Group: Members
  • Posts: 57
  • Joined: 05-December 03

Posted 10 October 2007 - 01:10 AM

I posted this over at the Mandriva forum, but I thought it was interesting enough to pop it on here too:

Here's a great tutorial on using the mergefb option in xorg to handle dual displays: http://ozlabs.org/~jk/docs/mergefb/

I have an external monitor hooked to my laptop via the VGA port, and I'd been struggling to get X to use anything other than a horrible 60 Hz to drive it.

Once I followed the steps on the linked page, it just worked fine at a "lovely" 85 Hz - no flicker - no more headaches !!!

Because I only wanted the same resolution on the lcd and the monitor, and I wasn't interested in scrolling around multiple desktops, I changed the config from the linked page a little bit - and here's what works like a charm for me now:

The particular trick is duplicating your Device section with the same BusID in both sections (you can get the ID from lspci), and setting up 2 monitor sections - 1 for lcd, 1 for monitor.

As you'll see, in MetaModes I've forced both displays to 1024x768 - but you don't have to do that (I played around with the dual desktop overlapping etc.., and it works really well - I just didn't use it in the end) - it was just the solution to my refresh rate problem.

Section "ServerFlags"
	  #DontZap # disable <Ctrl><Alt><BS> (server abort)
	  #DontZoom # disable <Ctrl><Alt><KP_+>/<KP_-> (resolution switching)
	  AllowMouseOpenFail # allows the server to start up even if the mouse does not work
  EndSection
  
  Section "Module"
	  Load "dbe" # Double-Buffering Extension
	  Load "v4l" # Video for Linux
	  Load "extmod"
	  Load "type1"
	  Load "freetype"
	  Load "glx" # 3D layer
	  Load "dri" # direct rendering
  EndSection
  
  Section "InputDevice"
	  Identifier "Keyboard1"
	  Driver "kbd"
	  Option "XkbModel" "logicd"
	  Option "XkbLayout" "us"
	  Option "XkbOptions" "compose:rwin"
  EndSection
  
  Section "InputDevice"
	  Identifier "Mouse1"
	  Driver "mouse"
	  Option "Protocol" "ExplorerPS/2"
	  Option "Device" "/dev/mouse"
  EndSection
  
  Section "Monitor"
	  Identifier "monitor1"
	  VendorName "Philips"
	  ModelName "Philips 107S(17inch/CM1300)"
	  HorizSync 30.0-69.0
	  VertRefresh 50.0-120.0
	  DisplaySize 269 201 # 96 DPI @ 1024x768
  EndSection
  
  Section "Monitor"
	  Identifier "laptop lcd"
	  Option		  "DPMS"
  EndSection
  
  Section "Device"
	  Identifier "device1"
	  VendorName "ATI Technologies Inc"
	  BoardName "ATI Radeon 9250 and earlier"
	  Driver "ati"
	  BusID  "PCI:01:05:0"
	  Option  "MergedFB" "true"
	  Option  "MetaModes" "1024x768-1024x768 1024x768-1024x768"
	  Option  "MergedDPI" "100 100"
	  Option "DPMS"
	  Option "BIOSHotkeys"
	  Option "XaaNoOffscreenPixmaps" "1"
  EndSection
  
  Section "Device"
	  Identifier "device2"
	  VendorName "ATI Technologies Inc"
	  BoardName "ATI Radeon 9250 and earlier"
	  Driver "ati"
	  BusID  "PCI:01:05:0"
	  Option "DPMS"
	  Option "BIOSHotkeys"
	  Option "XaaNoOffscreenPixmaps" "1"
	  Screen 1
  EndSection
  
  Section "Screen"
	  Identifier "screen1"
	  Device "device1"
	  Monitor "monitor1"
	  DefaultColorDepth 24 
	  Subsection "Display"
		  Depth 8
		  Modes "1024x768" "832x624" "800x600" "640x480" "480x360" "320x240"
	  EndSubsection
	  
	  Subsection "Display"
		  Depth 15
		  Modes "1024x768" "832x624" "800x600" "640x480" "480x360" "320x240"
	  EndSubsection
	  
	  Subsection "Display"
		  Depth 16
		  Modes "1024x768" "832x624" "800x600" "640x480" "480x360" "320x240"
	  EndSubsection
	  
	  Subsection "Display"
		  Depth 24
		  Modes "1024x768" "832x624" "800x600" "640x480" "480x360" "320x240"
	  EndSubsection
  EndSection
  
  Section "Screen"
	  Identifier "screen2"
	  Device "device2"
	  Monitor "laptop lcd"
	  DefaultColorDepth 24 
	  Subsection "Display"
		  Depth 8
		  Modes "1024x768" "832x624" "800x600" "640x480" "480x360" "320x240"
	  EndSubsection
	  
	  Subsection "Display"
		  Depth 15
		  Modes "1024x768" "832x624" "800x600" "640x480" "480x360" "320x240"
	  EndSubsection
	  
	  Subsection "Display"
		  Depth 16
		  Modes "1024x768" "832x624" "800x600" "640x480" "480x360" "320x240"
	  EndSubsection
	  
	  Subsection "Display"
		  Depth 24
		  Modes "1024x768" "832x624" "800x600" "640x480" "480x360" "320x240"
	  EndSubsection
  EndSection
  
  Section "ServerLayout"
	  Identifier "layout1"
	  InputDevice "Keyboard1" "CoreKeyboard"
	  InputDevice "Mouse1" "CorePointer"
	  Screen "screen1"
  EndSection

This post has been edited by jimdunn: 10 October 2007 - 01:17 AM

0

#2 User is offline   coverup 

  • Mandriva Guru
  • Group: Members
  • Posts: 1,256
  • Joined: 08-January 03

Posted 10 October 2007 - 03:53 AM

Thanks for this tip.

You use 1024x768 on both screens... is this your LCD's native resolution? Is your external CRT capable of more than 1024x768? I would like to have native 1400x1050 on the LCD and native 1280x1024 on the external LCD (TMDS), is it possible at all?
0

#3 User is offline   jimdunn 

  • casual
  • Group: Members
  • Posts: 57
  • Joined: 05-December 03

Posted 10 October 2007 - 04:24 AM

View Postcoverup, on Oct 10 2007, 01:53 PM, said:

Thanks for this tip.
You use 1024x768 on both screens... is this your LCD's native resolution?

Yes it is

View Postcoverup, on Oct 10 2007, 01:53 PM, said:

Is your external CRT capable of more than 1024x768?

Yes, but I prefer it at 1024 x 768

View Postcoverup, on Oct 10 2007, 01:53 PM, said:

I would like to have native 1400x1050 on the LCD and native 1280x1024 on the external LCD (TMDS), is it possible at all?

I'm not sure - but if it is I'm afraid I can't tell you how :mellow:

Someone else might know if you can use this trick to get the 2 screens at different resolutions - I played around with my Xorg.conf just before posting this, but everything I tried left both screens the same size, sometimes with the mouse scrolling the screen around when the desktop was bigger than the monitor.

On the page I linked to he has 2 resolutions available and switches between them using xrandr depending on which screen he wants to look at.

He says:



Quote

Also, make sure that the larger of the monitors can display at the resolution of the smaller one, and that both have that resolution present in their Screen section -> Display subsection -> Modes parameter. With this setup, the overall X configuration will have two resolutions available, one matching each display. The xrandr program can be used to switch between these two resolutions while X is running. When running at the resolution of the larger monitor, the smaller monitor will scroll around the desktop with the mouse - however, since you're mirroring, you can hide this display from view.




He also goes on to talk about merging - using both screens as "viewports" to the same desktop, but that all sounded too complex for me.

I was just happy to get the refresh rate issue solved - it had really been annoying looking at a 60Hz CRT.
0

#4 User is offline   jimdunn 

  • casual
  • Group: Members
  • Posts: 57
  • Joined: 05-December 03

Posted 10 October 2007 - 04:45 AM

In fact, after a little thought I can't see how you could ever have 2 screens at different resolutions showing the same thing.

By definition, the higher resolution screen can fit more "stuff" on it than the smaller resolution screen can display (without scrolling).

Say you open a 1024 x 768 pic on a 1024 x 768 screen - it will fit.
But try and display it on 800 x 600 and it won't (without resizing)

So 2 screens at different resolutions can't be clones and fully visible.

Unless I'm having a mad moment :unsure:
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users