Magellan Linux

Diff of /alx-src/branches/alxconf-060/functions/config_x11.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

alx-src/tags/alxconf_20060908_1/alxconfig-ng/functions/config_x11.sh revision 375, Mon Feb 20 14:49:31 2006 UTC alx-src/branches/alxconf_20060908/functions/config_x11.sh revision 1647 by niro, Thu Dec 30 13:43:24 2010 UTC
# Line 4  Line 4 
4  get_x11_settings()  get_x11_settings()
5  {  {
6   local x i all DB_X11SETTINGS   local x i all DB_X11SETTINGS
7     # autodetect
8   # autodetect or not ?   all=$(mysqldo "select module,
9   if [ $(mysqldo "select monitorid from cfg_graphic where serial='${ALX_SERIAL}'") -gt 0 ]   resolution,
10   then   depth,
11   # settings from db   refresh_rate
12     from cfg_graphic where serial='${ALX_SERIAL}'")
13   all=$(mysqldo "select cfg_graphic.module,  
14   cfg_graphic.resolution,   # split'em up and put 'em in an array
15   cfg_graphic.depth,   declare -i i=0
16   list_monitors.vendor,   for x in ${all}
17   list_monitors.model,   do
18   list_monitors.hsync,   DB_X11SETTINGS[${i}]="${x}"
19   list_monitors.vrefresh   ((i++))
20   from list_monitors   done
21   inner join cfg_graphic  
22   on cfg_graphic.monitorid=list_monitors.id   # and now put them in usable var names and export them systemwide
23   and cfg_graphic.serial='${ALX_SERIAL}';")   export ALX_MODULE="${DB_X11SETTINGS[0]:=NULL}"
24     export ALX_RESOLUTION="${DB_X11SETTINGS[1]:=NULL}"
25   # split'em up and put 'em in an array   export ALX_DEPTH="${DB_X11SETTINGS[2]:=NULL}"
26   declare -i i=0   export ALX_REFRESH_RATE="${DB_X11SETTINGS[3]:=NULL}"
  for x in ${all}  
  do  
  DB_X11SETTINGS[${i}]="${x}"  
  ((i++))  
  done  
   
  # and now put them in usable var names and export them systemwide  
  export ALX_MODULE="${DB_X11SETTINGS[0]:=NULL}"  
  export ALX_RESOLUTION="${DB_X11SETTINGS[1]:=NULL}"  
  export ALX_DEPTH="${DB_X11SETTINGS[2]:=NULL}"  
  export ALX_VENDOR="${DB_X11SETTINGS[3]:=NULL}"  
  export ALX_MODEL="${DB_X11SETTINGS[4]:=NULL}"  
  export ALX_HSYNC="${DB_X11SETTINGS[5]:=NULL}"  
  export ALX_VREF="${DB_X11SETTINGS[6]:=NULL}"  
  else  
  # autodetect  
  all=$(mysqldo "select module,  
  resolution,  
  depth  
  from cfg_graphic where serial='${ALX_SERIAL}'")  
   
  # split'em up and put 'em in an array  
  declare -i i=0  
  for x in ${all}  
  do  
  DB_X11SETTINGS[${i}]="${x}"  
  ((i++))  
  done  
   
  # and now put them in usable var names and export them systemwide  
  export ALX_MODULE="${DB_X11SETTINGS[0]:=NULL}"  
  export ALX_RESOLUTION="${DB_X11SETTINGS[1]:=NULL}"  
  export ALX_DEPTH="${DB_X11SETTINGS[2]:=NULL}"  
  export ALX_VENDOR="Autodetected"  
  export ALX_MODEL="Monitor"  
  export ALX_HSYNC="auto"  
  export ALX_VREF="auto"  
  fi  
27    
28   # which input devices are we using ?   # which input devices are we using ?
29   ALX_MOUSE=$(mysqldo "select mouse from cfg_input where serial='${ALX_SERIAL}'")   ALX_MOUSE=$(mysqldo "select mouse from cfg_input where serial='${ALX_SERIAL}'")
# Line 72  config_x11() Line 34  config_x11()
34  {  {
35   # get our settings from the db   # get our settings from the db
36   get_x11_settings   get_x11_settings
37    
38   local xserver   local xserver
39   local xfconfig   local xfconfig
40   local HAS_VNC   local HAS_VNC
41   local HAS_REALVNC   local HAS_REALVNC
42     local HAS_TIGERVNC
43    
44   # xfree or xorg ?   # xfree or xorg ?
45   xserver="$(readlink /usr/X11R6/bin/X)"   xserver="$(readlink /usr/X11R6/bin/X)"
46    
47   case ${xserver} in   case ${xserver} in
48   Xorg)   Xorg) xfconfig=/etc/X11/xorg.conf ;;
49   xfconfig=/etc/X11/xorg.conf   XFree86) xfconfig=/etc/X11/XF86Config ;;
50   ;;   *) echo "    Unkown xserver. aborting."; exit 1 ;;
  XFree86)  
  xfconfig=/etc/X11/XF86Config  
  ;;  
  *)  
  echo "    Unkown xserver. aborting."  
  exit 1  
  ;;  
51   esac   esac
52    
53   # got we vnc support ?   # got we vnc support ?
# Line 109  config_x11() Line 65  config_x11()
65   HAS_REALVNC="no"   HAS_REALVNC="no"
66   fi   fi
67    
68     if [ -f /usr/X11R6/lib/xorg/modules/extensions/libvnc.so ]
69     then
70     HAS_TIGERVNC="yes"
71     else
72     HAS_TIGERVNC="no"
73     fi
74    
75   # show which server we use   # show which server we use
76   echo -en ${COLOREDSTAR}"Using '${xserver}' as x11-server "   echo -en ${COLOREDSTAR}"Using '${xserver}' as x11-server "
77    
# Line 119  config_x11() Line 82  config_x11()
82   elif [[ ${HAS_REALVNC} = yes ]]   elif [[ ${HAS_REALVNC} = yes ]]
83   then   then
84   echo "with realvnc enabled ..."   echo "with realvnc enabled ..."
85     elif [[ ${HAS_TIGERVNC} = yes ]]
86     then
87     echo "with tigervnc enabled ..."
88   else   else
89   echo "..."   echo "..."
90   fi   fi
91    
92   # create a new clear xfconfig file   # create a new clear xfconfig file
93   echo '# Generated with hwdetect, part of Magellan-Linux initscripts.' > ${xfconfig}   echo '# Generated with alxconfig-ng.' > ${xfconfig}
94   echo '' >> ${xfconfig}   echo '' >> ${xfconfig}
95    
96   # write modules   # write modules
# Line 134  config_x11() Line 100  config_x11()
100   echo '    SubSection  "extmod"' >> ${xfconfig}   echo '    SubSection  "extmod"' >> ${xfconfig}
101   echo '      Option    "omit xfree86-dga"' >> ${xfconfig}   echo '      Option    "omit xfree86-dga"' >> ${xfconfig}
102   echo '    EndSubSection' >> ${xfconfig}   echo '    EndSubSection' >> ${xfconfig}
  echo '    Load        "type1"' >> ${xfconfig}  
  echo '    Load        "speedo"' >> ${xfconfig}  
103   echo '    Load        "freetype"' >> ${xfconfig}   echo '    Load        "freetype"' >> ${xfconfig}
  echo '#    Load        "xtt"' >> ${xfconfig}  
104   echo '#    Load       "glx"' >> ${xfconfig}   echo '#    Load       "glx"' >> ${xfconfig}
105   echo '    Load       "dri"' >> ${xfconfig}   echo '    Load       "dri"' >> ${xfconfig}
106    
107   [[ ${HAS_VNC} = yes ]] && echo '    Load       "vnc"' >> ${xfconfig}   [[ ${HAS_VNC} = yes ]] && echo '    Load       "vnc"' >> ${xfconfig}
108   [[ ${HAS_REALVNC} = yes ]] && echo '    Load       "vnc"' >> ${xfconfig}   [[ ${HAS_REALVNC} = yes ]] && echo '    Load       "vnc"' >> ${xfconfig}
109     [[ ${HAS_TIGERVNC} = yes ]] && echo '    Load       "vnc"' >> ${xfconfig}
110    
111   echo 'EndSection' >> ${xfconfig}   echo 'EndSection' >> ${xfconfig}
112    
113   # fonts   # fonts
114   echo '' >> ${xfconfig}   echo '' >> ${xfconfig}
115   echo 'Section "Files"' >> ${xfconfig}   echo 'Section "Files"' >> ${xfconfig}
  echo '    RgbPath "/usr/X11R6/lib/X11/rgb"' >> ${xfconfig}  
116    
117   case ${xserver} in   case ${xserver} in
118   Xorg)   Xorg)
119   echo '    FontPath   "/usr/share/fonts/local/"' >> ${xfconfig}   # only add existing font pathes
120   echo '    FontPath   "/usr/share/fonts/misc/"' >> ${xfconfig}   [[ -f /usr/share/fonts/local/fonts.dir ]] && echo '    FontPath   "/usr/share/fonts/local/"' >> ${xfconfig}
121   echo '    FontPath   "/usr/share/fonts/75dpi/:unscaled"' >> ${xfconfig}   [[ -f /usr/share/fonts/misc/fonts.dir ]] && echo '    FontPath   "/usr/share/fonts/misc/"' >> ${xfconfig}
122   echo '    FontPath   "/usr/share/fonts/100dpi/:unscaled"' >> ${xfconfig}   [[ -f /usr/share/fonts/75dpi/fonts.dir ]] && echo '    FontPath   "/usr/share/fonts/75dpi/:unscaled"' >> ${xfconfig}
123   echo '    #prevents slow startup when disabled -> speedo, type1' >> ${xfconfig}   [[ -f /usr/share/fonts/100dpi/fonts.dir ]] && echo '    FontPath   "/usr/share/fonts/100dpi/:unscaled"' >> ${xfconfig}
124   echo '    #FontPath   "/usr/share/fonts/Speedo/"' >> ${xfconfig}   [[ -f /usr/share/fonts/TrueType/fonts.dir ]] && echo '    FontPath   "/usr/share/fonts/TrueType/"' >> ${xfconfig}
125   echo '    #FontPath   "/usr/share/fonts/Type1/"' >> ${xfconfig}   [[ -f /usr/share/fonts/freefont/fonts.dir ]] && echo '    FontPath   "/usr/share/fonts/freefont/"' >> ${xfconfig}
126   echo '    FontPath   "/usr/share/fonts/TrueType/"' >> ${xfconfig}   [[ -f /usr/share/fonts/75dpi/fonts.dir ]] && echo '    FontPath   "/usr/share/fonts/75dpi/"' >> ${xfconfig}
127   echo '    FontPath   "/usr/share/fonts/freefont/"' >> ${xfconfig}   [[ -f /usr/share/fonts/100dpi/fonts.dir ]] && echo '    FontPath   "/usr/share/fonts/100dpi/"' >> ${xfconfig}
  echo '    FontPath   "/usr/share/fonts/75dpi/"' >> ${xfconfig}  
  echo '    FontPath   "/usr/share/fonts/100dpi/"' >> ${xfconfig}  
128   ;;   ;;
129   XFree86)   XFree86)
130   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/local/"' >> ${xfconfig}   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/local/"' >> ${xfconfig}
131   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/misc/"' >> ${xfconfig}   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/misc/"' >> ${xfconfig}
132   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"' >> ${xfconfig}   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"' >> ${xfconfig}
133   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"' >> ${xfconfig}   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"' >> ${xfconfig}
  echo '    #prevents slow startup when disabled -> speedo, type1' >> ${xfconfig}  
  echo '    #FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"' >> ${xfconfig}  
  echo '    #FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"' >> ${xfconfig}  
134   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/TrueType/"' >> ${xfconfig}   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/TrueType/"' >> ${xfconfig}
135   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/freefont/"' >> ${xfconfig}   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/freefont/"' >> ${xfconfig}
136   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"' >> ${xfconfig}   echo '    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"' >> ${xfconfig}
# Line 180  config_x11() Line 138  config_x11()
138   ;;   ;;
139   esac   esac
140    
  echo '#    ModulePath "/usr/X11R6/lib/modules"' >> ${xfconfig}  
141   echo 'EndSection' >> ${xfconfig}   echo 'EndSection' >> ${xfconfig}
142    
143   # server flags   # server flags
# Line 197  config_x11() Line 154  config_x11()
154   echo '    Identifier "Keyboard1"' >> ${xfconfig}   echo '    Identifier "Keyboard1"' >> ${xfconfig}
155    
156   case ${xserver} in   case ${xserver} in
157   Xorg)   Xorg) echo '    Driver "kbd"' >> ${xfconfig} ;;
158   echo '    Driver "kbd"' >> ${xfconfig}   XFree86) echo '    Driver "Keyboard"' >> ${xfconfig} ;;
  ;;  
  XFree86)  
  echo '    Driver "Keyboard"' >> ${xfconfig}  
  ;;  
159   esac   esac
160    
161   echo '    Option "AutoRepeat" "500 30"' >> ${xfconfig}   echo '    Option "AutoRepeat" "500 30"' >> ${xfconfig}
162   echo '#    Option "Xleds"      "1 2 3"' >> ${xfconfig}   echo '#    Option "Xleds"      "1 2 3"' >> ${xfconfig}
163    
164   case ${xserver} in   case ${xserver} in
165   Xorg)   Xorg) echo '    Option "XkbRules" "xorg"' >> ${xfconfig} ;;
166   echo '    Option "XkbRules" "xorg"' >> ${xfconfig}   XFree86) echo '    Option "XkbRules" "xfree86"' >> ${xfconfig} ;;
  ;;  
  XFree86)  
  echo '    Option "XkbRules" "xfree86"' >> ${xfconfig}  
  ;;  
167   esac   esac
168    
169   echo '    Option "XkbModel" "pc105"' >> ${xfconfig}   echo '    Option "XkbModel" "pc105"' >> ${xfconfig}
# Line 258  config_x11() Line 207  config_x11()
207   fi   fi
208    
209   # monitor   # monitor
210   if [ -x "/sbin/ddcxinfo-knoppix" ] &&   echo '' >> ${xfconfig}
211     [[ ${ALX_HSYNC} = auto ]] ||   echo 'Section "Monitor"' >> ${xfconfig}
212     [[ ${ALX_VREF} = auto ]]   echo '    Identifier  "Monitor0"' >> ${xfconfig}
213     echo '    Option      "DPMS"' >> ${xfconfig}
214    
215     # add hsync, vrefresh
216     if [[ -x /sbin/ddcxinfo-knoppix ]]
217   then   then
  ddcxinfo-knoppix -monitor >> ${xfconfig}  
  else  
218   echo '' >> ${xfconfig}   echo '' >> ${xfconfig}
219   echo "# Monitor: ${ALX_VENDOR} ${ALX_MODEL}" >> ${xfconfig}   echo "    HorizSync $(ddcxinfo-knoppix -hsync)"  >> ${xfconfig}
220   echo 'Section "Monitor"' >> ${xfconfig}   echo "    VertRefresh $(ddcxinfo-knoppix -vsync)"  >> ${xfconfig}
  echo '    Identifier  "Monitor0"' >> ${xfconfig}  
  echo "    HorizSync   ${ALX_HSYNC}" >> ${xfconfig}  
  echo "    VertRefresh ${ALX_VREF}" >> ${xfconfig}  
  echo '    Option      "DPMS"' >> ${xfconfig}  
  echo 'EndSection' >> ${xfconfig}  
221   fi   fi
222    
223     # add cvt modelines
224     echo '' >> ${xfconfig}
225     local cvt="/usr/X11R6/bin/cvt"
226     local modeline
227     modeline=$("${cvt}" "${ALX_RESOLUTION%x*}" "${ALX_RESOLUTION#*x}" "${ALX_REFRESH_RATE}" | sed -e 's:^:\t:g' -e 's:_.*\":\":')
228     echo "${modeline}" >> ${xfconfig}
229     # add ddcxinfo-knoppix modelines (fallback)
230     if [[ -x /sbin/ddcxinfo-knoppix ]]
231     then
232     echo '' >> ${xfconfig}
233     ddcxinfo-knoppix -modelines >> ${xfconfig}
234     fi
235     echo 'EndSection' >> ${xfconfig}
236    
237   # vga   # vga
238   echo '' >> ${xfconfig}   echo '' >> ${xfconfig}
239   echo 'Section "Device"' >> ${xfconfig}   echo 'Section "Device"' >> ${xfconfig}
240   echo '    Identifier  "vga0"' >> ${xfconfig}   echo '    Identifier  "vga0"' >> ${xfconfig}
241     # check for openchrome and use it if available
242     if [[ ${ALX_MODULE} = via ]] && [ -f /usr/X11R6/lib/xorg/modules/drivers/openchrome_drv.so ]
243     then
244     ALX_MODULE="openchrome"
245     fi
246   echo "    Driver      \"${ALX_MODULE}\"" >> ${xfconfig}   echo "    Driver      \"${ALX_MODULE}\"" >> ${xfconfig}
247    
248   # vnc server options   # vnc server options
# Line 316  config_x11() Line 281  config_x11()
281   echo '        ViewPort    0 0' >> ${xfconfig}   echo '        ViewPort    0 0' >> ${xfconfig}
282   echo '    EndSubsection' >> ${xfconfig}   echo '    EndSubsection' >> ${xfconfig}
283    
284   if [[ ${HAS_REALVNC} = yes ]]   if [[ ${HAS_REALVNC} = yes ]] || [[ ${HAS_TIGERVNC} = yes ]]
285   then   then
286   echo '    Option "SecurityTypes" "VncAuth"' >> ${xfconfig}   echo '    Option "SecurityTypes" "VncAuth"' >> ${xfconfig}
287   echo '    Option "UserPasswdVerifier" "VncAuth"' >> ${xfconfig}   echo '    Option "UserPasswdVerifier" "VncAuth"' >> ${xfconfig}
# Line 341  config_x11() Line 306  config_x11()
306    
307   echo 'EndSection' >> ${xfconfig}   echo 'EndSection' >> ${xfconfig}
308    
309   # dri (here disabled, use default of xserver)   # dri
310   echo '' >> ${xfconfig}   echo '' >> ${xfconfig}
311   echo '# Section "DRI"' >> ${xfconfig}   echo 'Section "DRI"' >> ${xfconfig}
312   echo '#    Mode 0666' >> ${xfconfig}   echo '    Mode 0666' >> ${xfconfig}
313   echo '# EndSection' >> ${xfconfig}   echo 'EndSection' >> ${xfconfig}
314  }  }
315    

Legend:
Removed from v.375  
changed lines
  Added in v.1647