Difference between revisions of "Xserver Issues"

From Blue-IT.org Wiki

 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
== Compiz login/out and password dialog effect ==
 +
'''(This is for Ubuntu Lucid)'''
 +
 +
in login window match type:
 +
(iclass=^xsplash)
 +
 +
in logout window match type:
 +
 +
For an english environment:
 +
class=Gnome-session & (title=Log Out of the Session | title=Shut Down the Computer) & type=DIALOG
 +
 +
class=Gnome-session & (title=Log Out of the Session | title=Shut Down the Computer) & type=DIALOG | class=Polkit-gnome-authentication-agent-1 & (title=Legitimate)
 +
 +
 +
and the german environment:
 +
class=Gnome-session & (title=Sitzung abmelden | title=Rechner ausschalten) & type=DIALOG
 +
 +
(class=Gnome-session & (title=Sitzung abmelden | title=Rechner ausschalten) & type=DIALOG ) | class=Polkit-gnome-authentication-agent-1 & (title=Legitimieren)
 +
 +
 +
i hope that helps [http://ubuntuforums.org/showthread.php?t=779151&highlight=login%2Flogout]
 +
 +
==Ubuntu==
 +
The ubuntu(debian)-way of configuring the xserver is to open a terminal and do
 +
dpkg-reconfigure xserver-xorg
 +
 +
This gives you a runnable but not anyway optimal configuration.
 +
 +
===Other useful information===
 +
Usefull informations you'll find in the (german) wiki pages [http://wiki.ubuntuusers.de/XServer_grafisch_einrichten here].
 +
 +
===xorg-edit===
 +
But fortunately we are living in open source land and there is now a nice program to configure the xserver. It's called xorg-edit and can be visited [http://forum.ubuntuusers.de/go.php?wikipage=xorg-edit here] or direct downloaded at [http://sourceforge.net/project/downloading.php?group at sourceforge].
 +
 +
It automatically ''checks the syntax'' and gives the abitlity to write ''xml files'' for special configurations.
 +
 +
This program however is only intended to be an editor for the xorg.conf file.
 +
'''IT WON'T HELP YOU if you don't exactly know what to do and have profound knowledge about the xservers configuration file.'''
 +
 +
==SuSE==
 +
YaST and SaX2 are your best friends!
 +
 +
For older versions of SuSE it might be necessary to install manually the nvidia/ati driver and start ''sax2'' with the following (for nvidia):
 +
init 3
 +
sax2 -m 0=nvidia
 +
 
==Start a program in fullscreen X session==
 
==Start a program in fullscreen X session==
 
If you like to start a single program, e.g. ''mythfrontend'' on another screen - e.g. a TV or a second monitor, simple use the next line:
 
If you like to start a single program, e.g. ''mythfrontend'' on another screen - e.g. a TV or a second monitor, simple use the next line:
Line 20: Line 66:
 
==Modline generator==
 
==Modline generator==
 
[http://gtf.sourceforge.net/ GTF] is a modline generator.
 
[http://gtf.sourceforge.net/ GTF] is a modline generator.
  linux:> gtf
+
  linux: > gtf
 
  usage: gtf x y refresh [-v|--verbose] [-f|--fbmode] [-x|--xorgmode]
 
  usage: gtf x y refresh [-v|--verbose] [-f|--fbmode] [-x|--xorgmode]
 
+
 
             x : the desired horizontal resolution (required)
 
             x : the desired horizontal resolution (required)
 
             y : the desired vertical resolution (required)
 
             y : the desired vertical resolution (required)
Line 30: Line 76:
 
  -x|--xorgmode : output an Xorg-style mode description (this is the default
 
  -x|--xorgmode : output an Xorg-style mode description (this is the default
 
                 if no mode description is requested)
 
                 if no mode description is requested)
 +
 +
This gives me e.g.
 +
linux: > gtf 768 576 50 -x
 +
 +
  # 768x576 @ 50.00 Hz (GTF) hsync: 29.65 kHz; pclk: 28.46 MHz
 +
  Modeline "768x576_50.00"  28.46  768 784 864 960  576 577 580 593  -HSync +Vsync
 +
 +
for a modline used with a HTPC (Home theatre PC) for a PAL-M TV out resolution.
 +
 +
Remember to use it you have to add the following in the ''Monitor' section of yur xorg.conf:
 +
Section "Monitor"
 +
  UseModes    "MyModes"
 +
  [...]
 +
End Section
 +
 +
If not already there you have to create a ''Modes'' section:
 +
Section "Modes"
 +
  Identifier  "MyModes"
 +
  Modeline      "768x576_50.00"  28.46  768 784 864 960  576 577 580 593  -HSync +Vsync
 +
  [...]
 +
End Section
 +
 +
And according to the fact, that the default depth will be 16 in our example here you schould add the new created mode '''in front of''' the other modes.
 +
Section "Screen"
 +
    Identifier      "Default Screen"
 +
    [...]
 +
    DefaultDepth    16
 +
    SubSection "Display"
 +
        Depth          16
 +
        Modes          "768x576_50.00" "1024x768" "800x600" "640x480"
 +
    EndSubSection
 +
EndSection:
 +
 +
 +
== Xrandr ==
 +
=== Nvidia Card and Xrandr ===
 +
For getting an nvidia setting with twinview working we have to change the xorg.conf like this:
 +
Section "Screen"
 +
    Identifier    "Screen0"
 +
    Device        "Device0"
 +
    Monitor        "Monitor0"
 +
    DefaultDepth    24
 +
    Option        "TwinViewXineramaInfoOrder" "DFP-0"
 +
    Option        "TwinView" "1"
 +
    '''Option        "metamodes" "DFP: nvidia-auto-select +0+0; DFP: 1680x1050 +0+0, CRT: nvidia-auto-select +1680+0;"'''
 +
    SubSection    "Display"
 +
        Depth      24
 +
    EndSubSection
 +
EndSection
 +
 +
With:
 +
xrandr -s 0
 +
we activate the first setting:
 +
DFP: nvidia-auto-select +0+0;
 +
 +
With
 +
xrandr -s 1
 +
we activate the second (multimonitor) setting:
 +
DFP: 1680x1050 +0+0, CRT: nvidia-auto-select +1680+0;
 +
 +
In the second example, an LCD Display with 1680x1050 on the left side (first entry) is attached to an CRT on the right side. The display of the CRT therefore has to be moved to the left (+1680+0) so that it fits next to the LCD. The settings of the CRT (width and height) is set via nvidia-auto-select.
 +
 +
The whole xorg.conf is here:
 +
Section "ServerLayout"
 +
    Identifier    "Layout0"
 +
    Screen      0  "Screen0" 0 0
 +
    InputDevice    "Keyboard0" "CoreKeyboard"
 +
    InputDevice    "Mouse0" "CorePointer"
 +
    Option        "Xinerama" "0"
 +
EndSection
 +
 +
Section "Module"
 +
    Load          "glx"
 +
EndSection
 +
 +
Section "ServerFlags"
 +
    Option        "Xinerama" "1"
 +
EndSection
 +
 +
Section "InputDevice"
 +
    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"
 +
    Identifier    "Monitor0"
 +
    VendorName    "Unknown"
 +
    ModelName      "VSN V7 P17S"
 +
    HorizSync      31.0 - 80.0
 +
    VertRefresh    56.0 - 75.0
 +
    Option        "DPMS"
 +
EndSection
 +
 +
Section "Monitor"
 +
    Identifier    "Monitor1"
 +
    VendorName    "Unknown"
 +
    ModelName      "CRT-0"
 +
    HorizSync      29.0 - 121.0
 +
    VertRefresh    43.0 - 160.0
 +
EndSection
 +
 +
Section "Device"
 +
    Identifier    "Device0"
 +
    Driver        "nvidia"
 +
    VendorName    "NVIDIA Corporation"
 +
    BoardName      "Quadro NVS 140M"
 +
    Option        "NvAgp" "1"
 +
    Option        "NoLogo" "True"
 +
EndSection
 +
 +
Section "Device"
 +
    Identifier    "Device1"
 +
    Driver        "nvidia"
 +
    VendorName    "NVIDIA Corporation"
 +
    BoardName      "Quadro NVS 140M"
 +
    Option        "NvAgp" "1"
 +
    Option        "NoLogo" "True"
 +
    BusID          "PCI:1:0:0"
 +
    Screen          1
 +
EndSection
 +
 +
Section "Screen"
 +
    Identifier    "Screen0"
 +
    Device        "Device0"
 +
    Monitor        "Monitor0"
 +
    DefaultDepth    24
 +
    Option        "TwinViewXineramaInfoOrder" "DFP-0"
 +
    Option        "TwinView" "1"
 +
    Option        "metamodes" "DFP: nvidia-auto-select +0+0; DFP: 1680x1050 +0+0, CRT: nvidia-auto-select +1680+0;"
 +
    SubSection    "Display"
 +
        Depth      24
 +
    EndSubSection
 +
EndSection
 +
 +
Section "Screen"
 +
    Identifier    "Screen1"
 +
    Device        "Device1"
 +
    Monitor        "Monitor1"
 +
    DefaultDepth    24
 +
    Option        "TwinView" "0"
 +
    Option        "metamodes" "CRT: 1280x1024 +0+0;"
 +
    SubSection    "Display"
 +
        Depth      24
 +
    EndSubSection
 +
EndSection
 +
 +
Section "Extensions"
 +
    Option        "Composite" "On"
 +
EndSection
 +
 +
Source: [http://morgancollett.wordpress.com/2008/11/25/nvidia-twinview-and-xrandr]
 +
 +
=== Autoconfiguration ===
 +
Xrandr gives the following info for single LCD on my laptop:
 +
> xrandr
 +
Screen 0: minimum 1680 x 1050, '''current 1680 x 1050''', maximum 2960 x 1050
 +
default connected 1680x1050+0+0 0mm x 0mm
 +
  1680x1050      50.0*
 +
  2960x1050      51.0    50.0
 +
 +
and for dual screen:
 +
Screen 0: minimum 1680 x 1050, '''current 2960 x 1050''', maximum 2960 x 1050
 +
default connected 2960x1050+0+0 0mm x 0mm
 +
  1680x1050      50.0 
 +
  2960x1050      51.0*    50.0
 +
 +
The skript ''toggle_xrandr'' has to be changed the line "current 1680 x 1050" to your specific single LCD configuration.
 +
#!/bin/bash
 +
 +
xrandr | grep "Screen 0" | grep "current 1680 x 1050";
 +
 +
if [ $? -eq 1 ]; then
 +
xrandr -s 0;
 +
else
 +
xrandr -s 1;
 +
fi;
 +
 +
If you have real xrand informations you can use the following script:
 +
EXTERNAL_OUTPUT=”Screen 1″
 +
INTERNAL_OUTPUT=”Screen 0″
 +
 +
xrandr |grep $EXTERNAL_OUTPUT | grep ” connected ”
 +
 +
if [ $? -eq 0 ]; then
 +
    xrandr -s 0
 +
else
 +
    xrandr -s 1
 +
fi
 +
 +
At the end and so configured you can edit your keybindings for toggle your display settings!
 +
 +
[[Category:Ubuntu]]
 +
[[Category:Debian]]
 +
[[Category:Opensuse]]

Latest revision as of 20:18, 8 January 2012

Compiz login/out and password dialog effect

(This is for Ubuntu Lucid)

in login window match type:

(iclass=^xsplash)

in logout window match type:

For an english environment:

class=Gnome-session & (title=Log Out of the Session | title=Shut Down the Computer) & type=DIALOG
class=Gnome-session & (title=Log Out of the Session | title=Shut Down the Computer) & type=DIALOG | class=Polkit-gnome-authentication-agent-1 & (title=Legitimate)


and the german environment:

class=Gnome-session & (title=Sitzung abmelden | title=Rechner ausschalten) & type=DIALOG
(class=Gnome-session & (title=Sitzung abmelden | title=Rechner ausschalten) & type=DIALOG ) | class=Polkit-gnome-authentication-agent-1 & (title=Legitimieren)


i hope that helps [1]

Ubuntu

The ubuntu(debian)-way of configuring the xserver is to open a terminal and do

dpkg-reconfigure xserver-xorg

This gives you a runnable but not anyway optimal configuration.

Other useful information

Usefull informations you'll find in the (german) wiki pages here.

xorg-edit

But fortunately we are living in open source land and there is now a nice program to configure the xserver. It's called xorg-edit and can be visited here or direct downloaded at at sourceforge.

It automatically checks the syntax and gives the abitlity to write xml files for special configurations.

This program however is only intended to be an editor for the xorg.conf file. IT WON'T HELP YOU if you don't exactly know what to do and have profound knowledge about the xservers configuration file.

SuSE

YaST and SaX2 are your best friends!

For older versions of SuSE it might be necessary to install manually the nvidia/ati driver and start sax2 with the following (for nvidia):

init 3
sax2 -m 0=nvidia

Start a program in fullscreen X session

If you like to start a single program, e.g. mythfrontend on another screen - e.g. a TV or a second monitor, simple use the next line:

xinit /bin/sh -c "DISPLAY=:1 mythfrontend" -- /usr/bin/X :1 -ac

And from HowTo Setup MythTV

[...] I have this first script run at boot up time:

#!/bin/bash
cd /root
HOME='/root'
export HOME
xinit /root/xinitmyth -- :0 &

and the startup file /root/xinitmyth

xsetroot -solid gray &
mythfrontend

[...]

Modline generator

GTF is a modline generator.

linux: > gtf
usage: gtf x y refresh [-v|--verbose] [-f|--fbmode] [-x|--xorgmode]

           x : the desired horizontal resolution (required)
           y : the desired vertical resolution (required)
     refresh : the desired refresh rate (required)
-v|--verbose : enable verbose printouts (traces each step of the computation)
 -f|--fbmode : output an fbset(8)-style mode description
-x|--xorgmode : output an Xorg-style mode description (this is the default
               if no mode description is requested)

This gives me e.g.

linux: > gtf 768 576 50 -x

 # 768x576 @ 50.00 Hz (GTF) hsync: 29.65 kHz; pclk: 28.46 MHz
 Modeline "768x576_50.00"  28.46  768 784 864 960  576 577 580 593  -HSync +Vsync

for a modline used with a HTPC (Home theatre PC) for a PAL-M TV out resolution.

Remember to use it you have to add the following in the Monitor' section of yur xorg.conf:

Section "Monitor"
  UseModes     "MyModes"
  [...]
End Section

If not already there you have to create a Modes section:

Section "Modes"
 Identifier   "MyModes"
 Modeline      "768x576_50.00"  28.46  768 784 864 960  576 577 580 593  -HSync +Vsync
 [...]
End Section

And according to the fact, that the default depth will be 16 in our example here you schould add the new created mode in front of the other modes.

Section "Screen"
   Identifier      "Default Screen"
   [...]
   DefaultDepth    16
   SubSection "Display"
        Depth           16
        Modes           "768x576_50.00" "1024x768" "800x600" "640x480"
   EndSubSection
EndSection:


Xrandr

Nvidia Card and Xrandr

For getting an nvidia setting with twinview working we have to change the xorg.conf like this:

Section "Screen"
   Identifier     "Screen0"
   Device         "Device0"
   Monitor        "Monitor0"
   DefaultDepth    24
   Option         "TwinViewXineramaInfoOrder" "DFP-0"
   Option         "TwinView" "1"
   Option         "metamodes" "DFP: nvidia-auto-select +0+0; DFP: 1680x1050 +0+0, CRT: nvidia-auto-select +1680+0;"
   SubSection     "Display"
       Depth       24
   EndSubSection
EndSection

With:

xrandr -s 0

we activate the first setting:

DFP: nvidia-auto-select +0+0;

With

xrandr -s 1

we activate the second (multimonitor) setting:

DFP: 1680x1050 +0+0, CRT: nvidia-auto-select +1680+0;

In the second example, an LCD Display with 1680x1050 on the left side (first entry) is attached to an CRT on the right side. The display of the CRT therefore has to be moved to the left (+1680+0) so that it fits next to the LCD. The settings of the CRT (width and height) is set via nvidia-auto-select.

The whole xorg.conf is here:

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

Section "Module"
    Load           "glx"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "1"
EndSection

Section "InputDevice"
    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"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "VSN V7 P17S"
    HorizSync       31.0 - 80.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "CRT-0"
    HorizSync       29.0 - 121.0
    VertRefresh     43.0 - 160.0
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro NVS 140M"
    Option         "NvAgp" "1"
    Option         "NoLogo" "True"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro NVS 140M"
    Option         "NvAgp" "1"
    Option         "NoLogo" "True"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinViewXineramaInfoOrder" "DFP-0"
    Option         "TwinView" "1"
    Option         "metamodes" "DFP: nvidia-auto-select +0+0; DFP: 1680x1050 +0+0, CRT: nvidia-auto-select +1680+0;"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "CRT: 1280x1024 +0+0;"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "On"
EndSection

Source: [2]

Autoconfiguration

Xrandr gives the following info for single LCD on my laptop:

> xrandr
Screen 0: minimum 1680 x 1050, current 1680 x 1050, maximum 2960 x 1050 
default connected 1680x1050+0+0 0mm x 0mm
  1680x1050      50.0* 
  2960x1050      51.0     50.0 

and for dual screen:

Screen 0: minimum 1680 x 1050, current 2960 x 1050, maximum 2960 x 1050 
default connected 2960x1050+0+0 0mm x 0mm
  1680x1050      50.0  
  2960x1050      51.0*    50.0 

The skript toggle_xrandr has to be changed the line "current 1680 x 1050" to your specific single LCD configuration.

#!/bin/bash

xrandr | grep "Screen 0" | grep "current 1680 x 1050"; 

if [ $? -eq 1 ]; then 
	xrandr -s 0; 
else 
	xrandr -s 1; 
fi;

If you have real xrand informations you can use the following script:

EXTERNAL_OUTPUT=”Screen 1″
INTERNAL_OUTPUT=”Screen 0″

xrandr |grep $EXTERNAL_OUTPUT | grep ” connected ”

if [ $? -eq 0 ]; then
    xrandr -s 0
else
    xrandr -s 1
fi

At the end and so configured you can edit your keybindings for toggle your display settings!