Magellan Linux

Diff of /mcore-src/trunk/mcore-tools/daemon/client/include/graphic.client.class

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

revision 1248 by niro, Wed Feb 2 20:20:24 2011 UTC revision 2018 by niro, Mon Aug 13 11:08:28 2012 UTC
# Line 1  Line 1 
1  # $Id$  # $Id$
2    
3  provide basic-video x0vnc  provide basic-video
4    
5    # todo monitor gfxcard
6    helper_graphic_add_configs()
7    {
8     local path="$1"
9     local conf
10    
11     # exit ERR if path does not exist
12     [[ ! -d ${path} ]] && return 1
13    
14     for conf in $(find "${path}" -mindepth 1 -maxdepth 1 -type f -name \*.conf | sort)
15     do
16     cat "${conf}" >> "${CONFIG}"
17     done
18    }
19    
20    # everything from xorg conf but inputdevices. they are handled properly trough udev!
21    helper_graphic_rebuild_xorg_conf_d()
22    {
23     local CONFIG
24     local conf
25    
26     # rebuild 25-gfxcard.conf
27     # always clear the config
28     CONFIG="${MROOT}/etc/X11/xorg.conf.d/25-device.conf"
29     clearconfig
30     # but only add lines if some values are found in config.d dir
31     if path_not_empty ${MROOT}/${MCORE_CONFIG_PATH}/xorg/device
32     then
33     addconfig 'Section "Device"'
34     helper_graphic_add_configs ${MROOT}/${MCORE_CONFIG_PATH}/xorg/device
35     addconfig 'EndSection'
36     fi
37    
38     # rebuild 25-module.conf
39     # always clear the config
40     CONFIG="${MROOT}/etc/X11/xorg.conf.d/25-module.conf"
41     clearconfig
42     # but only add lines if some values are found in config.d dir
43     if path_not_empty ${MROOT}/${MCORE_CONFIG_PATH}/xorg/module
44     then
45     addconfig 'Section "Module"'
46     helper_graphic_add_configs ${MROOT}/${MCORE_CONFIG_PATH}/xorg/module
47     addconfig 'EndSection'
48     fi
49    
50     # rebuild 25-screen.conf
51     # always clear the config
52     CONFIG="${MROOT}/etc/X11/xorg.conf.d/25-screen.conf"
53     clearconfig
54     # but only add lines if some values are found in config.d dir
55     if path_not_empty ${MROOT}/${MCORE_CONFIG_PATH}/xorg/screen
56     then
57     addconfig 'Section "Screen"'
58     addconfig ' Identifier "Screen0"'
59     addconfig ' Monitor "Monitor0"'
60     helper_graphic_add_configs ${MROOT}/${MCORE_CONFIG_PATH}/xorg/screen
61     addconfig 'EndSection'
62     fi
63    }
64    
65  help_graphic_resolution()  help_graphic_resolution()
66  {  {
# Line 14  help_graphic_refresh() Line 74  help_graphic_refresh()
74   mecho "  60, 100 - all values are Hz"   mecho "  60, 100 - all values are Hz"
75  }  }
76    
77    help_graphic_depth()
78    {
79     mecho "set graphic.depth [color-depth]"
80     mecho "  1, 4, 8, 15, 16, 24 - all values are bits"
81    }
82    
83    help_graphic_driver()
84    {
85     mecho "get graphic.driver [action]"
86     mecho " Shows current selected or system available graphic drivers."
87     mecho " Available actions:"
88     mecho "   system  - show available drivers on the system"
89     mecho "   current - shows the current selected driver used by Xorg"
90     mecho
91     mecho "set graphic.driver [driver]"
92     mecho " Selects the graphic card driver used by Xorg."
93    }
94    
95  # set_graphic_resolution ${value}  # set_graphic_resolution ${value}
96  set_graphic_resolution()  set_graphic_resolution()
97  {  {
98   local value="$1"   local resolution="$1"
99   [[ -z ${value} ]] && help_graphic_resolution && return 1   local CONFIG
100     local depth
101     [[ -z ${resolution} ]] && help_graphic_resolution && return 1
102    
103     CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/xorg/screen/20-resolution.conf"
104     clearconfig
105     # do it for all supported color depth
106     for depth in 1 4 8 15 16 24
107     do
108     addconfig ' SubSection "Display"'
109     addconfig " Depth ${depth}"
110     addconfig " Modes \"${resolution}\""
111     addconfig ' ViewPort 0 0'
112     addconfig ' EndSubSection'
113     done
114    
115   echo "${value}" > ${SETTINGSPATH}/xorg/resolution   if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
116     then
117     x11runas "xrandr --size ${resolution}"
118     fi
119    
120   if pidof X   helper_graphic_rebuild_xorg_conf_d
121    }
122    
123    # set_graphic_depth ${value}
124    set_graphic_depth()
125    {
126     local depth="$1"
127     local CONFIG
128     [[ -z ${depth} ]] && help_graphic_depth && return 1
129    
130     # do it only for supported color depths
131     case "${depth}" in
132     1|4|8|15|16|24)
133     CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/xorg/screen/10-depth.conf"
134     clearconfig
135     addconfig " DefaultDepth ${depth}"
136     ;;
137     *) help_graphic_depth && return 1 ;;
138     esac
139    
140     helper_graphic_rebuild_xorg_conf_d
141     if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
142   then   then
143   x11runas "DISPLAY=:0 xrandr --size ${value}"   mecho "X11 restart required!"
144   fi   fi
145  }  }
146    
# Line 32  set_graphic_resolution() Line 148  set_graphic_resolution()
148  set_graphic_refresh()  set_graphic_refresh()
149  {  {
150   local value="$1"   local value="$1"
151   [[ -z ${value} ]] && help_graphic_resolution && return 1   [[ -z ${value} ]] && help_graphic_refresh && return 1
152    
153   echo "${value}" > ${SETTINGSPATH}/xorg/refresh   #echo "${value}" > ${MROOT}/${MCORE_CONFIG_PATH}/xorg/refresh
154    
155   if pidof X   if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
156   then   then
157   x11runas "DISPLAY=:0 xrandr --refresh ${value}"   x11runas "xrandr --refresh ${value}"
158   fi   fi
 }  
159    
160  # helper_graphic_addconf $@   helper_graphic_rebuild_xorg_conf_d
 helper_graphic_addconf()  
 {  
  echo "$@" >> ${conf}  
161  }  }
162    
163  helper_graphic_rebuild_xorg_conf()  set_graphic_driver()
164  {  {
165   local conf="/etc/X11/xorg.conf"   local driver="$1"
166     local driverdir="/usr/lib/xorg/modules/drivers"
167     local CONFIG
168     [[ -z ${driver} ]] && help_graphic_driver && return 1
169    
170   # create empty conf   if [[ -f ${MROOT}/${driverdir}/${driver}_drv.so ]]
  :> ${conf}  
   
  if [ -f ${SETTINGSPATH}/xorg/gfxcard ]  
171   then   then
172   helper_graphic_addconf 'Section "Device"'   CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/xorg/device/25-device.conf"
173   helper_graphic_addconf "  Identifier   \"Builtin Default ${value} Device 0\""   clearconfig
174   helper_graphic_addconf "  Driver       \"${value}\""   addconfig " Identifier \"Card0\""
175   helper_graphic_addconf 'EndSection'   addconfig " Driver \"${driver}\""
176    
177     helper_graphic_rebuild_xorg_conf_d
178     if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
179     then
180     mecho "X11 restart required!"
181     fi
182     else
183     eecho "Driver '${driver}' does not exist on this system. Aborted!"
184   fi   fi
185  }  }
186    
187  # set_graphic_gfxcard ${value}  get_graphic_driver()
 set_graphic_gfxcard()  
188  {  {
189   local value="$1"   local action="$1"
190     local driverdir="/usr/lib/xorg/modules/drivers"
191   echo "${value}" > ${SETTINGSPATH}/xorg/gfxcard   local driver
192   helper_graphic_rebuild_xorg_conf   local config="${MCORE_CONFIG_PATH}/xorg/device/25-device.conf"
193     local i
194   if pidof X  
195   then   case "${action}" in
196   /etc/init.d/single-x11 restart   current)
197   fi   if [[ -f ${MROOT}/${config} ]]
198     then
199     driver=$(grep Driver "${MROOT}/${config}" | sed 's:.*Driver.*\"\(.*\)\":\1:')
200     rvecho "${driver}"
201     else
202     rvecho "none"
203     fi
204     ;;
205     system)
206     for i in $(find ${MROOT}/${driverdir} -mindepth 1 -maxdepth 1 -type f | sort)
207     do
208     driver="${driver} $(basename ${i} _drv.so)"
209     done
210     rvecho "${driver}"
211     ;;
212     *)
213     help_graphic_driver
214     return 1
215     ;;
216     esac
217  }  }

Legend:
Removed from v.1248  
changed lines
  Added in v.2018