3 # Copyright (c) 2006, 2009, Oracle and/or its affiliates. All rights reserved.
5 # Permission is hereby granted, free of charge, to any person obtaining a
6 # copy of this software and associated documentation files (the "Software"),
7 # to deal in the Software without restriction, including without limitation
8 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 # and/or sell copies of the Software, and to permit persons to whom the
10 # Software is furnished to do so, subject to the following conditions:
12 # The above copyright notice and this permission notice (including the next
13 # paragraph) shall be included in all copies or substantial portions of the
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 # DEALINGS IN THE SOFTWARE.
26 .
/lib
/svc
/share
/smf_include.sh
28 USAGE
="Usage: $0 <method>"
30 PATH
=/usr
/bin
:/usr
/sbin
33 OGL_SELECT_DIR
=/lib
/opengl
/ogl_select
39 # Users must not modify this script to change them - change via SMF properties
47 if [[ $# -lt 1 ]] ; then
49 exit $SMF_EXIT_ERR_FATAL
55 # Continue with rest of script
62 print
"Invalid method $METHOD"
63 exit $SMF_EXIT_ERR_FATAL
67 if [[ "$1" != "" ]] ; then
69 exit $SMF_EXIT_ERR_FATAL
74 # The "" instance is to get the properties from the base service
75 # without any instance specifier
76 svcprop
-q -p $1 application
/opengl
/ogl-select
77 if [[ $?
-eq 0 ]] ; then
78 PROPVAL
=$
(svcprop
-p $1 application
/opengl
/ogl-select
)
79 if [[ "$PROPVAL" == "\"\"" ]] ; then
89 while read DRIVERTMP VENDORTMP
; do
91 '#'* |
'') # Ignore comments or empty lines
94 if [[ "$DRIVERTMP" = "$DRIVER" && "$VENDORTMP" != '' ]]; then
100 # Get the driver attached to the console
101 DRIVER
="$(/usr/bin/constype)"
103 REGISTRY
=/tmp
/ogl_select$$
104 if [[ -e ${REGISTRY} ]]; then
109 for x
in ${OGL_SELECT_DIR}/*_vendor_select
111 if [[ -x "$x" ]]; then
112 ($x identify
>> ${REGISTRY})
116 if [[ -f ${REGISTRY} ]]; then
117 readregistry
< ${REGISTRY}
120 # Check for user override of vendor
121 getprop options
/vendor
122 if [[ "$PROPVAL" != "" && "$PROPVAL" != "notset" ]] ; then
126 # Force the vendor name to lower case
127 VENDOR
=$
(print
${VENDOR} |
/usr
/bin
/tr "[A-Z]" "[a-z]")
129 # Build vendor script name
130 SELECT_SCRIPT
="${OGL_SELECT_DIR}/${VENDOR}_vendor_select"
131 if [[ ! -x "${SELECT_SCRIPT}" ]]; then
132 print
$0 "Can't execute vendor select script:" $SELECT_SCRIPT
133 exit $SMF_EXIT_ERR_FATAL