Saturday, September 19, 2009

[Level 2] Xrandr on OpenSolaris in EeePC.

I install OpenSolaris on my EeePC, but I got a problem  about VGA output (for projector).
My OpenSolaris can only support 800x600 resolution, but I think it could be higher.
Then my colleague told me that I modify the file "/etc/X11/xorg.conf".

In normal case, the steps as the following:
1. check your device.
# xrandr
Screen 0: minimum 320 x 200, current 800 x 480, maximum 800 x 800
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected 800x480+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   800x480        60.0*+
   640x480        85.0     72.8     75.0     59.9 
   720x400        85.0 
   640x400        85.1 
   640x350        85.1 
TV disconnected (normal left inverted right x axis y axis)
#

2. connect your project then try again.
# xrandr
Screen 0: minimum 320 x 200, current 800 x 480, maximum 800 x 800
VGA connected (normal left inverted right x axis y axis)
   800x600        60.3 +   85.0     85.1     72.2     75.0     60.3     56.2 
   640x480        85.0     85.0     75.0     72.8     72.8     75.0     66.7     60.0     59.9 
   720x400        85.0     70.1 
   640x400        85.1 
   640x350        85.1 
LVDS connected 800x480+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   800x480        60.0*+
   640x480        85.0     72.8     75.0     59.9 
   720x400        85.0 
   640x400        85.1 
   640x350        85.1 
TV disconnected (normal left inverted right x axis y axis)

#

3. use xrandr to auto detection the suitable resolution.
# xrandr --auto
4. assign by manual.
# xrandr --output VGA --mode 800x600
5. close VGA output.
# xrandr --output VGA --off

But in my EeePC, the xrandr only can got 800x600 for VGA output.
It should be higher!
So I have to change xorg.conf. The step as following:
1. check xorg.conf is exist or not.
# ls /etc/X11/xorg.conf
2. If not, create one. (When you want to create a new one, you have down to Single-User-Mode first)
# init s
...

# Xorg -configure
...
Your xorg.conf file is /root/xorg.conf.new


To test the server, run 'X -config /root/xorg.conf.new'
#

3. move the xorg configuration file to /etc/X11
# mv /root/xorg.conf.new /etc/X11/xorg.conf
4. modify xorg.conf, add the red words into the file.
# vi /etc/X11/xorg.conf
...
Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        HorizSync       31.5 - 64.3
        VertRefresh     50.0 - 70.0
EndSection
...
Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Virtual         1280 1024
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

...
5. return to milestone all and check again
# exit
# xrandr
Screen 0: minimum 320 x 200, current 640 x 480, maximum 1280 x 1024
VGA connected 640x480+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   800x600        60.3 +   60.3     56.2 
   1280x1024      60.0 
   1280x960       60.0 
   1280x720       60.0 
   1024x768       70.1     60.0 
   640x480        66.7*    60.0     59.9 
   720x400        70.1 
LVDS connected 640x480+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   800x480        60.0 +
   640x480        85.0     72.8*    75.0     59.9 
   720x400        85.0 
   640x400        85.1 
   640x350        85.1 
TV disconnected (normal left inverted right x axis y axis)
#

6. Change VGA output with 10

# xrandr --output VGA --mode 1280x1024

OK! I can use 1280x1024 for VGA output now!

Wish this helps.

regards,
Stanley Huang