GL driver setting aligned with other functions.

This commit is contained in:
spl 2016-05-25 14:22:16 +01:00
parent 5fece9527a
commit 19e663c009

View File

@ -284,7 +284,7 @@ do_overscan() {
return $RET return $RET
fi fi
if [ "$INTERACTIVE" = True ]; then if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "Display overscan compensation $STATUS" 20 60 1 whiptail --msgbox "Display overscan compensation is $STATUS" 20 60 1
fi fi
} }
@ -1051,33 +1051,11 @@ do_onewire() {
fi fi
} }
# $1 is 0 to disable driver, 1 to enable it get_gldriver() {
set_gldriver() { if grep -q -E "^dtoverlay=vc4-kms-v3d" $CONFIG; then
if [ "$1" -eq 0 ]; then # disable driver echo 0
sed $CONFIG -i -e "s/^dtoverlay=vc4-kms-v3d/#dtoverlay=vc4-kms-v3d/" else
rm /etc/xdg/autostart/xcompmgr.desktop echo 1
mv /usr/share/X11/xorg.conf.d/99-fbturbo.~ /usr/share/X11/xorg.conf.d/99-fbturbo.conf
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "Desktop GL driver is disabled" 20 60 1
fi
else # enable driver
sed $CONFIG -i -e "s/^#dtoverlay=vc4-kms-v3d/dtoverlay=vc4-kms-v3d/"
if ! grep -q -E "^dtoverlay=vc4-kms-v3d" $CONFIG; then
printf "dtoverlay=vc4-kms-v3d\n" >> $CONFIG
fi
cat <<EOF >/etc/xdg/autostart/xcompmgr.desktop
[Desktop Entry]
Type=Application
Name=xcompmgr
Comment=Start simple compositor
NoDisplay=true
Exec=xcompmgr -a
EOF
mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf /usr/share/X11/xorg.conf.d/99-fbturbo.~
sed $CONFIG -i -e "s/^gpu_mem/#gpu_mem/"
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "Desktop GL driver is enabled" 20 60 1
fi
fi fi
} }
@ -1098,18 +1076,48 @@ do_gldriver() {
whiptail --msgbox "xcompmgr not found - please install" 20 60 2 whiptail --msgbox "xcompmgr not found - please install" 20 60 2
return 1 return 1
fi fi
DEFAULT=--defaultno
CURRENT=0
if [ $(get_gldriver) -eq 0 ]; then
DEFAULT=
CURRENT=1
fi
if [ "$INTERACTIVE" = True ]; then if [ "$INTERACTIVE" = True ]; then
whiptail --yesno "Would you like the experimental GL driver for desktop to be enabled?" 20 60 2 \ whiptail --yesno "Would you like the experimental GL driver for desktop to be enabled?" $DEFAULT 20 60 2
--yes-button Disable --no-button Enable
RET=$? RET=$?
else else
RET=$1 RET=$1
fi fi
if [ $RET -eq 0 ] || [ $RET -eq 1 ]; then if [ $RET -eq $CURRENT ]; then
ASK_TO_REBOOT=1 ASK_TO_REBOOT=1
set_gldriver $RET; fi
if [ $RET -eq 0 ]; then # disable driver
sed $CONFIG -i -e "s/^#dtoverlay=vc4-kms-v3d/dtoverlay=vc4-kms-v3d/"
if ! grep -q -E "^dtoverlay=vc4-kms-v3d" $CONFIG; then
printf "dtoverlay=vc4-kms-v3d\n" >> $CONFIG
fi
cat << EOF > /etc/xdg/autostart/xcompmgr.desktop
[Desktop Entry]
Type=Application
Name=xcompmgr
Comment=Start simple compositor
NoDisplay=true
Exec=xcompmgr -a
EOF
mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf /usr/share/X11/xorg.conf.d/99-fbturbo.~
sed $CONFIG -i -e "s/^gpu_mem/#gpu_mem/"
STATUS=enabled
elif [ $RET -eq 1 ]; then #enable driver
sed $CONFIG -i -e "s/^dtoverlay=vc4-kms-v3d/#dtoverlay=vc4-kms-v3d/"
rm /etc/xdg/autostart/xcompmgr.desktop
mv /usr/share/X11/xorg.conf.d/99-fbturbo.~ /usr/share/X11/xorg.conf.d/99-fbturbo.conf
STATUS=disabled
else else
return 1 return $RET
fi
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "The desktop GL driver is $STATUS" 20 60 1
fi fi
} }
@ -1317,9 +1325,9 @@ do_advanced_menu() {
"A6 I2C" "Enable/Disable automatic loading of I2C kernel module" \ "A6 I2C" "Enable/Disable automatic loading of I2C kernel module" \
"A7 Serial" "Enable/Disable shell and kernel messages on the serial connection" \ "A7 Serial" "Enable/Disable shell and kernel messages on the serial connection" \
"A8 Audio" "Force audio out through HDMI or 3.5mm jack" \ "A8 Audio" "Force audio out through HDMI or 3.5mm jack" \
"A9 GL Driver" "Enable/Disable experimental desktop GL driver" \ "A9 1-Wire" "Enable/Disable one-wire interface" \
"AA 1-Wire" "Enable/Disable one-wire interface" \ "AA GPIO Server" "Enable/Disable remote access to GPIO pins" \
"AB GPIO Server" "Enable/Disable remote access to GPIO pins" \ "AB GL Driver" "Enable/Disable experimental desktop GL driver" \
"A0 Update" "Update this tool to the latest version" \ "A0 Update" "Update this tool to the latest version" \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
RET=$? RET=$?
@ -1335,9 +1343,9 @@ do_advanced_menu() {
A6\ *) do_i2c ;; A6\ *) do_i2c ;;
A7\ *) do_serial ;; A7\ *) do_serial ;;
A8\ *) do_audio ;; A8\ *) do_audio ;;
A9\ *) do_gldriver ;; A9\ *) do_onewire ;;
AA\ *) do_onewire ;; AA\ *) do_rgpio ;;
AB\ *) do_rgpio ;; AB\ *) do_gldriver ;;
A0\ *) do_update ;; A0\ *) do_update ;;
*) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;; *) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;;
esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1 esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1