~mmach/netext73/trunk

« back to all changes in this revision

Viewing changes to grafiki

  • Committer: NetBit73
  • Date: 2018-06-05 19:23:05 UTC
  • Revision ID: netbit73@gmail.com-20180605192305-iw1v2ccj7cktelbp
test 1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/bash
 
2
## Graficzny instalator kerneli e X t 7 3  - NeteXt'73
 
3
## przygotowanie kerneli e X t 7 3 - ext73@wp.pl
 
4
## przygotowanie skryptów optymalizacyjnych e X t 7 3
 
5
## autor skryptu NeteXt'73 - NetBit73 - netbit73@gmail.com
 
6
## Licencja: GPL v3: https://www.gnu.org/licenses/gpl.txt
 
7
#########################################################################################################################################################################
 
8
#procedury
 
9
 
 
10
source /opt/NeteXt73/procedury
 
11
 
 
12
instaluj_NV(){
 
13
        echo "nie" > /tmp/netext73/ok.txt
 
14
        naglowek > instaluj.sh
 
15
        nvidia_naglowek >> instaluj.sh
 
16
        #sprawdzanie czy jest nvidia_optimus
 
17
        if [ "$(lspci | grep -i VGA | grep -i Intel)" != "" ] && { [ "$(lspci | grep -i GeForce | grep -i NVIDIA)" != "" ] || [ "$(lspci | grep -i NVIDIA | grep -i Quadro)" != "" ]; };then
 
18
                nvidia_optimus >> instaluj.sh
 
19
        else
 
20
                nvidia >> instaluj.sh
 
21
        fi
 
22
        nvidia_stopka >> instaluj.sh
 
23
        instalacja2
 
24
        restart nv
 
25
}
 
26
 
 
27
 
 
28
#########################################################################################################################################################################
 
29
#instalator sterowników do grafik Nvidia
 
30
cd /tmp/netext73
 
31
 
 
32
usun(){
 
33
rm *.txt* -f; rm *.sh -f; rm *.html* -f
 
34
rm *.deb -f
 
35
rm nvidia-settings -f
 
36
}
 
37
 
 
38
usun
 
39
if [ "$1" = "nvidia" ]; then
 
40
        if [ "$(echo $WERSJA_UBUNTU | grep -i -x -E "bionic")" != "" ]; then
 
41
                dymek -i $warning1 "$TEXT_UWAGA" "$TEXT_BRAK_WSPARCIA"
 
42
        else
 
43
                katalog_pulpit="/home/$userek/$(grep XDG_DESKTOP_DIR /home/$userek/.config/user-dirs.dirs | cut -d '/' -f 2 | cut -d '"' -f 1)"
 
44
 
 
45
                #sprawdzanie Optimusa
 
46
                if [ "$(lspci | grep -i VGA | grep -i Intel)" != "" ] && { [ "$(lspci | grep -i GeForce | grep -i NVIDIA)" != "" ] || [ "$(lspci | grep -i NVIDIA | grep -i Quadro)" != "" ]; };then
 
47
                        if [ "$(ls $katalog_pulpit/ | grep \.desktop)" = "" ]; then
 
48
                                menu="--button="gtk-ok:0" --button="$TEXT_POWROT:1" --button="Nvidia-optimus-menu:2""
 
49
                        else
 
50
                                menu="--button="gtk-ok:0" --button="$TEXT_POWROT:1" --button="Nvidia-optimus-menu:2" --button="Nvidia-optimus-desktop:3""
 
51
                        fi
 
52
 
 
53
                else
 
54
                        menu="--button="gtk-ok:0" --button="$TEXT_POWROT:1""
 
55
                fi
 
56
 
 
57
                if [ -e /tmp/netext73/sumy/sumy_kontrolne.txt ]; then
 
58
                        grep nvidia /tmp/netext73/sumy/sumy_kontrolne.txt | grep -v nvidia-optimus | sed 's/.tar.xz//' | awk '{print $2}' | sort -r > 2a.txt
 
59
                        if [ "$(dpkg -l | grep linux-image | grep ext73-56 | cut -d ' ' -f 1 | head -n 1)" != 'ii' ];then
 
60
                                lista=$(cat 2a.txt | grep -E 'v2|v3|v4|v5' | tr '\n' '!' | sed -e '$s/!$//g' )
 
61
                        else
 
62
                                lista=$(cat 2a.txt | grep -v -E 'v2|v3|v4|v5' | tr '\n' '!' | sed -e '$s/!$//g' )
 
63
                        fi
 
64
                        ster=$(yad --center --on-top --title="$nazwa_skryptu" --width=$((410*$skala)) --window-icon="/opt/NeteXt73/ikony/nvidia.png" --image="/opt/NeteXt73/ikony/nvidia.png" --text="$TEXT_STEROWNIKI2 <span color=\"$kolor_textu\"><b>Nvidia</b></span>" --form --field="$TEXT_STEROWNIK:CB" "$lista" $menu)
 
65
                        klawisz=$?; ster=$(echo $ster | cut -d "|" -f 1)
 
66
                        if [ "$ster" != "" ] && [ "$klawisz" = "0" ]; then
 
67
                                nvidiaoptimus=$(grep nvidia-optimus-ext /tmp/netext73/sumy/sumy_kontrolne.txt | awk '{print $2}' | sed 's/.tar.xz//g')
 
68
                                yad_wget $adres_sterownikow/$ster.tar.xz $adres_sterownikow/$nvidiaoptimus.tar.xz
 
69
                                if [ -e $ster.tar.xz ] && [ "$(grep $(md5sum $ster.tar.xz) $sumy_kontrolne)" != "" ] && [ -e $nvidiaoptimus.tar.xz ] && [ "$(grep $(md5sum $nvidiaoptimus.tar.xz) $sumy_kontrolne)" != "" ]; then
 
70
                                        rm -f index.html 2a.txt
 
71
                                        tar -Jxf $ster.tar.xz
 
72
                                        tar -Jxf $nvidiaoptimus.tar.xz -C /tmp/
 
73
                                        if [ -e $ster ]; then
 
74
                                                cd $ster
 
75
                                                export wersja_nvidia=$(echo $ster"_amd64" | sed 's/nvidia-//')
 
76
                                                instaluj_NV
 
77
                                        else
 
78
                                                dymek -i $warning1 "$TEXT_UWAGA" "$TEXT_ROZPAKOWANIE_ERROR"
 
79
                                        fi
 
80
                                else
 
81
                                        yad --center --error --title="$nazwa_skryptu"  --window-icon="/opt/NeteXt73/ikony/error.png" --image="/opt/NeteXt73/ikony/error.png" --button="gtk-ok:0" --title="$nazwa_skryptu"  --text="$TEXT_SUMA_KONTROLNA"
 
82
                                fi
 
83
                        elif [ "$klawisz" = "2" ] || [ "$klawisz" = "3" ]; then
 
84
                                petla="tak"
 
85
                                while [ $petla = "tak" ]; do
 
86
                                        rm primusrun*.txt -f
 
87
                                        if [ "$klawisz" = "2" ]; then
 
88
                                                  katalog="/usr/share/applications"
 
89
                                        elif [ "$klawisz" = "3" ]; then
 
90
                                                  katalog="$katalog_pulpit"
 
91
                                        fi
 
92
                                        IFS=$'\n'
 
93
                                        for i in $(ls $katalog/ | grep desktop); do
 
94
                                                nazwa=$(echo "$i" | sed 's/.desktop//')
 
95
                                                #taskset 0xFFFFFFFF primusrun
 
96
                                                #taskset 0xFFFFFFFF optirun -b primus
 
97
                                                if [ "$(grep 'taskset 0xFFFFFFFF primusrun' $katalog/$i)" = "" ]; then
 
98
                                                        echo "FALSE@"$nazwa"@-@on" >> primusrun1.txt 
 
99
                                                else
 
100
                                                        echo "FALSE@"$nazwa"@on@-" >> primusrun1.txt 
 
101
                                                fi
 
102
                                        done
 
103
                                                cat primusrun1.txt | tr '\n' '@' > primusrun.txt
 
104
                                                IFS='@'
 
105
                                                primus=$(yad --center --height=$((680*$skala)) --width=$((680*$skala)) --window-icon="/opt/NeteXt73/ikony/uslugi.png" --image="/opt/NeteXt73/ikony/uslugi.png" --button="gtk-ok:0" --button="$TEXT_POWROT:1" --title="$nazwa_skryptu" --text="<span color=\"$kolor_textu\"><b>Nvidia Optimus | Intel</b></span>\n" --column="$TEXT_ZAZNACZ" --column="$TEXT_MENU_USLUGI39"  --column="NVidia" --column="Intel" --item-separator='@' --checklist --list $(cat primusrun.txt))
 
106
                                                if [ $? = "0" ]; then
 
107
                                                        if [ "$primus" != "" ]; then
 
108
                                                                rm -f index.html 2a.txt
 
109
                                                                echo $primus | sed 's/|/\n/g' | sed '/^on/ d' | sed '/^off/ d' | sed '/^-/ d' | sed '/^.*TRUE/ d' > zaznaczone.txt
 
110
                                                                naglowek > instaluj.sh
 
111
                                                                IFS=$'\n'
 
112
                                                                for i in $(cat zaznaczone.txt); do
 
113
                                                                echo $i
 
114
                                                                        if [ "$(grep 'taskset 0xFFFFFFFF primusrun' "$katalog/$i.desktop")" = "" ]; then
 
115
                                                                                echo "sudo sed -i \"s/Exec=taskset.*primusrun /Exec=/g\" \"$katalog/$i.desktop\"" >> instaluj.sh
 
116
                                                                                echo "sudo sed -i \"s/Exec=taskset.*primus /Exec=/g\" \"$katalog/$i.desktop\"" >> instaluj.sh
 
117
                                                                                echo "sudo sed -i \"s/Exec=/Exec=taskset 0xFFFFFFFF primusrun /g\" \"$katalog/$i.desktop\"" >> instaluj.sh
 
118
                                                                                if [ "$klawisz" = "3" ] && [ $USER = "root" ]; then
 
119
                                                                                        echo "sudo chown $userek:$userek  \"$katalog/$i.desktop\"" >> instaluj.sh
 
120
                                                                                fi
 
121
                                                                        else
 
122
                                                                                echo "sudo sed -i \"s/Exec=taskset.*primus /Exec=/g\" \"$katalog/$i.desktop\"" >> instaluj.sh
 
123
                                                                                echo "sudo sed -i \"s/Exec=taskset.*primusrun /Exec=/g\" \"$katalog/$i.desktop\"" >> instaluj.sh
 
124
                                                                                if [ "$klawisz" = "3" ] && [ $USER = "root" ]; then
 
125
                                                                                        echo "sudo chown $userek:$userek  \"$katalog/$i.desktop\"" >> instaluj.sh
 
126
                                                                                fi
 
127
                                                                        fi
 
128
                                                                done
 
129
                                                                instalacja2
 
130
                                                                IFS=$' \t\n'
 
131
                                                        fi
 
132
                                                fi
 
133
                                                rm *.txt -f
 
134
                                                if [ -z "$primus" ]; then
 
135
                                                        opusc_mala_petle
 
136
                                                fi
 
137
                                done
 
138
                        fi
 
139
                fi
 
140
        fi
 
141
elif [ "$1" = "mesa3d" ]; then
 
142
        if [ "$(echo $WERSJA_UBUNTU | grep -i -x -E "$wspierane_wersje")" = "" ]; then
 
143
                dymek -i $warning1 "$TEXT_UWAGA" "$TEXT_STEROWNIKI3"
 
144
        else
 
145
                if [ "$(echo $WERSJA_UBUNTU | grep -i -x -E "$wspierane_wersje")" != "" ]; then
 
146
                        lista="$TEXT_MESA_STABLE!$TEXT_MESA_TESTING!$TEXT_MESA_REMOVE"
 
147
                elif [ "$(echo $WERSJA_UBUNTU | grep -i -x -E "$wspierane_wersje")" != "" ]; then
 
148
                        lista="$TEXT_MESA_TESTING!$TEXT_MESA_REMOVE"
 
149
                fi
 
150
                if [ "$(glxinfo | grep "OpenGL version" | grep 'Mesa')" != '' ]; then
 
151
                        TEXT_MESA=$(glxinfo | grep "OpenGL version" | grep "Mesa")
 
152
                else
 
153
                        TEXT_MESA=$TEXT_BRAK
 
154
                fi
 
155
                ster=$(yad --center --on-top --title="$nazwa_skryptu" --width=$((310*$skala)) --window-icon="/opt/NeteXt73/ikony/mesa3d.png" --image="/opt/NeteXt73/ikony/mesa3d.png" --text="$TEXT_STEROWNIKI2 <span color=\"$kolor_textu\"><b>Mesa3D</b></span>\n\nInstalled: $TEXT_MESA" --form --field="$TEXT_STEROWNIK:CB" "$lista" --button="gtk-ok:0" --button="$TEXT_POWROT:1")
 
156
                klawisz=$?; ster=$(echo $ster | cut -d "|" -f 1)
 
157
                if [ "$ster" != "" ] && [ "$klawisz" = "0" ]; then
 
158
                        naglowek > instaluj.sh
 
159
                        if [ "$ster" = "$TEXT_MESA_STABLE" ]; then
 
160
                                echo "sudo ppa-purge ppa:oibaf/graphics-drivers"  >> instaluj.sh
 
161
                                echo "sudo ppa-purge ppa:joe-yasi/xorg-xenial"  >> instaluj.sh
 
162
                                echo "sudo add-apt-repository ppa:paulo-miguel-dias/pkppa -y" >> instaluj.sh
 
163
                                echo "sudo apt update" >> instaluj.sh
 
164
                                echo "sudo apt install vainfo libvulkan1 libvulkan1:i386 vulkan-utils mesa-vulkan-drivers -y" >> instaluj.sh
 
165
                                echo "sudo apt dist-upgrade -y" >> instaluj.sh
 
166
                        elif [ "$ster" = "$TEXT_MESA_TESTING" ]; then
 
167
                                echo "sudo ppa-purge ppa:joe-yasi/xorg-xenial"  >> instaluj.sh
 
168
                                echo "sudo ppa-purge ppa:paulo-miguel-dias/pkppa"  >> instaluj.sh
 
169
                                echo "sudo ppa-purge ppa:oibaf/graphics-drivers"  >> instaluj.sh
 
170
                                echo "sudo add-apt-repository ppa:paulo-miguel-dias/mesa -y" >> instaluj.sh
 
171
                                echo "sudo apt update" >> instaluj.sh
 
172
                                echo "sudo apt install vainfo libvulkan1 libvulkan1:i386 vulkan-utils mesa-vulkan-drivers -y" >> instaluj.sh
 
173
                                echo "sudo apt dist-upgrade -y" >> instaluj.sh
 
174
                        elif [ "$ster" = "$TEXT_MESA_REMOVE" ]; then
 
175
                                echo "sudo ppa-purge ppa:joe-yasi/xorg-xenial"  >> instaluj.sh
 
176
                                echo "sudo ppa-purge ppa:paulo-miguel-dias/pkppa"  >> instaluj.sh
 
177
                                echo "sudo ppa-purge ppa:oibaf/graphics-drivers"  >> instaluj.sh
 
178
                                echo "sudo ppa-purge ppa:paulo-miguel-dias/mesa"  >> instaluj.sh
 
179
                        fi
 
180
                        instalacja
 
181
                        restart mesa
 
182
                fi
 
183
        fi
 
184
fi
 
185
usun