mambabase: update nvidia-autoselect-driver and disable extra instalation checkbox if not found

This commit is contained in:
Silvan Calarco 2024-06-08 17:00:40 +02:00
parent 9d10f5b4d2
commit 5d69c45a7e
3 changed files with 197 additions and 14 deletions

View File

@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright (c) 2019-2022 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Copyright (c) 2019-2024 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Release under the terms of the GPL version 3 license
from PyQt6 import QtGui, QtCore, QtWidgets, uic
@ -311,6 +311,15 @@ class SelectExtraPage(QtWidgets.QWizardPage):
def __init__(self, parent=None):
super(SelectExtraPage, self).__init__(parent)
uic.loadUi(DATADIR + "SelectExtraPage.ui", self)
result = subprocess.run([
'/usr/share/mambabase/nvidia-autoselect-driver',
'-t'],
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if result.returncode != 0:
self.inst_nvidia.setEnabled(False)
self.setCommitPage(True)
self.show()

View File

@ -130,7 +130,7 @@
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This program will complete the installation by adding the minimum recommended set of packages to the system. Additionally it will let you install, upon selection, macro-group of packages and proprietary software components.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;TIP&lt;/span&gt;: you may run this program at any time from the &lt;span style=&quot; font-style:italic;&quot;&gt;openmamba control center&lt;/span&gt; on the tray icon bar.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="vanished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Questa applicazione completerà l&apos;installazione aggiungendo al sistema un set minimo di pacchetti raccomandati. In aggiunta permette di installare, se selezionati, gruppi di pacchetti e componenti proprietari aggiuntivi.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;TIP&lt;/span&gt;: puoi eseguire questa applicazione in qualunque momento dal &lt;span style=&quot; font-style:italic;&quot;&gt;centro di controllo di openmamba&lt;/span&gt; sulla barra delle icone.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
<translation type="vanished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Questa applicazione completerà l&apos;installazione aggiungendo al sistema un set minimo di pacchetti raccomandati. In aggiunta permette di installare, se selezionati, gruppi di pacchetti e componenti proprietari aggiuntivi.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;SUGGERIMENTO&lt;/span&gt;: puoi eseguire questa applicazione in qualunque momento dal &lt;span style=&quot; font-style:italic;&quot;&gt;centro di controllo di openmamba&lt;/span&gt; sulla barra delle icone.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="WelcomePage.ui" line="93"/>
@ -141,7 +141,7 @@
<message>
<location filename="WelcomePage.ui" line="131"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This program will complete the installation by adding the minimum recommended set of packages to the system. Additionally it will let you install, upon selection, macro-group of packages and proprietary software components.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;TIP&lt;/span&gt;: you may run this program at any time from the &lt;span style=&quot; font-style:italic;&quot;&gt;{} control center&lt;/span&gt; on the tray icon bar.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Questa applicazione completerà l&apos;installazione aggiungendo al sistema un set minimo di pacchetti raccomandati. In aggiunta permette di installare, se selezionati, gruppi di pacchetti e componenti proprietari aggiuntivi.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;TIP&lt;/span&gt;: puoi eseguire questa applicazione in qualunque momento dal &lt;span style=&quot; font-style:italic;&quot;&gt;centro di controllo di {}&lt;/span&gt; sulla barra delle icone.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Questa applicazione completerà l&apos;installazione aggiungendo al sistema un set minimo di pacchetti raccomandati. In aggiunta permette di installare, se selezionati, gruppi di pacchetti e componenti proprietari aggiuntivi.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;SUGGERIMENTO&lt;/span&gt;: puoi eseguire questa applicazione in qualunque momento dal &lt;span style=&quot; font-style:italic;&quot;&gt;centro di controllo di {}&lt;/span&gt; sulla barra delle icone.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
</context>
</TS>

View File

@ -2,12 +2,19 @@
#
# nVidia legacy test script
#
# Copyright (c) 2007-2015 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Copyright (c) 2007-2024 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Released under the GNU GPL v.3 license
#
# Reference:
# https://download.nvidia.com/XFree86/Linux-x86_64/555.52.04/README/supportedchips.html
#
# Parsed with:
# cat /tmp/nvidia.txt| while read -d ' ' line; do [[ $line =~ ^[0-9A-F]{4}$ ]] && echo -n "$line|"; done
[ "$1" = "-i" ] && DO_INSTALL=1
[ "$1" = "-t" ] && DO_TEST=1
PCIID=`/usr/sbin/lspci -n | grep " 0300: 10de:" | awk '{ print $3 }'`
[ "$PCIID" ] || {
@ -18,6 +25,171 @@ PCIID=`/usr/sbin/lspci -n | grep " 0300: 10de:" | awk '{ print $3 }'`
DEVID=`echo ${PCIID/*:/} | tr '[:lower:]' '[:upper:]'`
case $DEVID in
0FC6|0FC8|0FC9|0FCD|0FCE|0FD1|0FD2|0FD2|1028|0595|\
0FD2|1028|05B2|0FD3|0FD4|0FD5|0FD8|0FD9|0FDF|0FE0|\
0FE1|0FE2|0FE3|745A|0FE3|103C|2B16|745A|0FE3|17AA|\
3675|0FE4|0FE9|0FEA|710A|0FEC|0FED|0FEE|0FF6|0FF8|\
0FF9|0FFA|0FFB|0FFC|0FFD|0FFE|0FFF|1001|1004|1005|\
1007|1008|100A|100C|1021|1022|1023|1024|1026|1027|\
1028|1029|102A|102D|103A|103C|1180|1183|1184|1185|\
1185|10DE|106F|1187|1188|1189|1189|10DE|1074|118A|\
118E|118F|1193|1194|1195|1198|1199|1199|1458|D001|\
119A|119D|119E|119F|11A0|11A1|11A2|11A3|11A7|11B4|\
11B6|11B7|11B8|11BA|11BC|11BD|11BE|11C0|11C2|11C3|\
11C4|11C5|11C6|11C8|11CB|11E0|11E1|11E2|11E3|760A|\
11E3|17AA|3683|11FA|11FC|1280|1281|1282|1284|1286|\
1287|1288|1289|128B|1290|730A|1290|103C|2AFA|1291|\
1292|740A|1292|17AA|3675|740A|1292|17AA|367C|740A|\
1292|17AA|3684|1293|1295|710A|1295|103C|2B0D|710A|\
1295|103C|2B0F|810A|1295|103C|2B20|810A|1295|103C|\
2B21|805A|1295|17AA|367A|710A|1295|17AA|367C|1296|\
1298|1299|920A|1299|17AA|30BB|920A|1299|17AA|30DA|\
920A|1299|17AA|30DC|920A|1299|17AA|30DD|920A|1299|\
17AA|30DF|920A|1299|17AA|3117|920A|1299|17AA|361B|\
920A|1299|17AA|362D|920A|1299|17AA|362E|920A|1299|\
17AA|3630|920A|1299|17AA|3637|920A|1299|17AA|369B|\
920A|1299|17AA|36A7|920A|1299|17AA|36AF|920A|1299|\
17AA|36F0|1299|1B0A|01C6|129A|12B9|12BA) ALT_SUFFIX='470' ;;
06C0|06C4|06CA|06CD|06D1|06D1|10DE|0771|06D1|10DE|\
0772|06D2|06D2|10DE|088F|6000|06D8|5000|06D9|06DA|\
6000|06DC|4000|06DD|06DE|06DE|10DE|0773|06DE|10DE|\
082F|06DE|10DE|0840|06DE|10DE|0842|06DE|10DE|0846|\
06DE|10DE|0866|06DE|10DE|0907|06DE|10DE|091E|06DF|\
0DC0|0DC4|0DC5|0DC6|0DCD|0DCE|0DD1|0DD2|0DD3|0DD6|\
2000|0DD8|0DD8|10DE|0914|0DDA|0DE0|0DE1|0DE2|0DE3|\
0DE4|0DE5|0DE7|0DE8|0DE9|0DE9|1025|0692|0DE9|1025|\
0725|0DE9|1025|0728|0DE9|1025|072B|0DE9|1025|072E|\
0DE9|1025|0753|0DE9|1025|0754|0DE9|17AA|3977|0DE9|\
1B0A|2210|0DEA|0DEA|17AA|365A|0DEA|17AA|365B|0DEA|\
17AA|365E|0DEA|17AA|3660|0DEA|17AA|366C|0DEB|0DEC|\
0DED|0DEE|0DEF|0DF0|0DF1|0DF2|0DF3|0DF4|0DF4|152D|\
0952|0DF4|152D|0953|0DF5|0DF6|0DF7|0DF8|0DF9|0DFA|\
0DFC|0E22|0E23|0E24|0E30|0E31|0E3A|0E3B|0F00|0F01|\
0F02|0F03|1040|1042|1048|1049|104A|104B|104B|1043|\
844C|104B|1043|846B|104B|1462|B590|104B|174B|0625|\
104B|174B|A625|104C|1050|1051|1052|1054|1055|1056|\
1057|1058|1058|103C|2AF1|800A|1058|17AA|3682|705A|\
1058|17AA|3692|800A|1058|17AA|3695|800A|1058|17AA|\
36A8|800A|1058|17AA|36AC|800A|1058|17AA|36AD|800A|\
1058|705A|3682|1059|105A|105B|705A|105B|103C|2AFB|\
800A|105B|17AA|30B1|705A|105B|17AA|30F3|800A|105B|\
17AA|36A1|107C|107D|1080|1081|1082|1084|1086|1087|\
1088|1089|108B|1091|1091|10DE|088E|1091|10DE|0891|\
1091|10DE|0974|1091|10DE|098D|1094|1096|1096|10DE|\
0911|109A|7000|109B|1140|1019|0799|1140|1019|999F|\
1140|1025|0600|1140|1025|0606|1140|1025|064A|1140|\
1025|064C|1140|1025|067A|1140|1025|0680|1140|1025|\
0686|1140|1025|0689|1140|1025|068B|1140|1025|068D|\
1140|1025|068E|1140|1025|0691|1140|1025|0692|1140|\
1025|0694|1140|1025|0702|1140|1025|0719|1140|1025|\
0725|1140|1025|0728|1140|1025|072B|1140|1025|072E|\
1140|1025|0732|1140|1025|0763|1140|1025|0773|1140|\
1025|0774|1140|1025|0776|1140|1025|077A|1140|1025|\
077B|1140|1025|077C|1140|1025|077D|1140|1025|077E|\
1140|1025|077F|1140|1025|0781|1140|1025|0798|1140|\
1025|0799|1140|1025|079B|1140|1025|079C|1140|1025|\
0807|1140|1025|0821|1140|1025|0823|1140|1025|0830|\
1140|1025|0833|1140|1025|0837|1140|1025|083E|1140|\
1025|0841|1140|1025|0853|1140|1025|0854|1140|1025|\
0855|1140|1025|0856|1140|1025|0857|1140|1025|0858|\
1140|1025|0863|1140|1025|0868|1140|1025|0869|1140|\
1025|0873|1140|1025|0878|1140|1025|087B|1140|1025|\
087F|1140|1025|0881|1140|1025|0885|1140|1025|088A|\
1140|1025|089B|1140|1025|0921|1140|1025|092E|1140|\
1025|092F|1140|1025|0932|1140|1025|093A|1140|1025|\
093C|1140|1025|093F|1140|1025|0941|1140|1025|0945|\
1140|1025|0954|1140|1025|0965|1140|1028|054D|1140|\
1028|054E|1140|1028|0554|1140|1028|0557|1140|1028|\
0562|1140|1028|0565|1140|1028|0568|1140|1028|0590|\
1140|1028|0592|1140|1028|0594|1140|1028|0595|1140|\
1028|05A2|1140|1028|05B1|1140|1028|05B3|1140|1028|\
05DA|1140|1028|05DE|1140|1028|05E0|1140|1028|05E8|\
1140|1028|05F4|1140|1028|060F|1140|1028|062F|1140|\
1028|064E|1140|1028|0652|1140|1028|0653|1140|1028|\
0655|1140|1028|065E|1140|1028|0662|1140|1028|068D|\
1140|1028|06AD|1140|1028|06AE|1140|1028|06AF|1140|\
1028|06B0|1140|1028|06C0|1140|1028|06C1|1140|103C|\
18EF|1140|103C|18F9|1140|103C|18FB|1140|103C|18FD|\
1140|103C|18FF|1140|103C|218A|1140|103C|21BB|1140|\
103C|21BC|1140|103C|220E|1140|103C|2210|1140|103C|\
2212|1140|103C|2214|1140|103C|2218|1140|103C|225B|\
1140|103C|225D|1140|103C|226D|1140|103C|226F|1140|\
103C|22D2|1140|103C|22D9|1140|103C|2335|1140|103C|\
2337|720A|1140|103C|2AEF|710A|1140|103C|2AF9|1140|\
1043|10DD|1140|1043|10ED|1140|1043|11FD|1140|1043|\
124D|1140|1043|126D|1140|1043|131D|1140|1043|13FD|\
1140|1043|14C7|1140|1043|1507|1140|1043|15AD|1140|\
1043|15ED|1140|1043|160D|1140|1043|163D|1140|1043|\
165D|1140|1043|166D|1140|1043|16CD|1140|1043|16DD|\
1140|1043|170D|1140|1043|176D|1140|1043|178D|1140|\
1043|179D|1140|1043|2132|1140|1043|2136|1140|1043|\
21BA|1140|1043|21FA|1140|1043|220A|1140|1043|221A|\
1140|1043|223A|1140|1043|224A|1140|1043|227A|1140|\
1043|228A|1140|1043|22FA|1140|1043|232A|1140|1043|\
233A|1140|1043|235A|1140|1043|236A|1140|1043|238A|\
1140|1043|8595|1140|1043|85EA|1140|1043|85EB|1140|\
1043|85EC|1140|1043|85EE|1140|1043|85F3|1140|1043|\
860E|1140|1043|861A|1140|1043|861B|1140|1043|8628|\
1140|1043|8643|1140|1043|864C|1140|1043|8652|1140|\
1043|8660|1140|1043|8661|1140|105B|0DAC|1140|105B|\
0DAD|1140|105B|0EF3|1140|10CF|17F5|1140|1179|FA01|\
1140|1179|FA02|1140|1179|FA03|1140|1179|FA05|1140|\
1179|FA11|1140|1179|FA13|1140|1179|FA18|1140|1179|\
FA19|1140|1179|FA21|1140|1179|FA23|1140|1179|FA2A|\
1140|1179|FA32|1140|1179|FA33|1140|1179|FA36|1140|\
1179|FA38|1140|1179|FA42|1140|1179|FA43|1140|1179|\
FA45|1140|1179|FA47|1140|1179|FA49|1140|1179|FA58|\
1140|1179|FA59|1140|1179|FA88|1140|1179|FA89|1140|\
144D|B092|1140|144D|C0D5|1140|144D|C0D7|1140|144D|\
C0E2|1140|144D|C0E3|1140|144D|C0E4|1140|144D|C10D|\
1140|144D|C652|1140|144D|C709|1140|144D|C711|1140|\
144D|C736|1140|144D|C737|1140|144D|C745|1140|144D|\
C750|1140|1462|10B8|1140|1462|10E9|1140|1462|1116|\
1140|1462|AA33|1140|1462|AAA2|1140|1462|AAA3|1140|\
1462|ACB2|1140|1462|ACC1|1140|1462|AE61|1140|1462|\
AE65|1140|1462|AE6A|1140|1462|AE71|1140|14C0|0083|\
1140|152D|0926|1140|152D|0982|1140|152D|0983|1140|\
152D|1005|1140|152D|1012|1140|152D|1019|1140|152D|\
1030|1140|152D|1055|1140|152D|1067|1140|152D|1092|\
1140|17AA|2200|1140|17AA|2213|1140|17AA|2220|720A|\
1140|17AA|309C|820A|1140|17AA|30B4|720A|1140|17AA|\
30B7|820A|1140|17AA|30E4|820A|1140|17AA|361B|820A|\
1140|17AA|361C|820A|1140|17AA|361D|1140|17AA|3656|\
1140|17AA|365A|1140|17AA|365E|820A|1140|17AA|3661|\
1140|17AA|366C|1140|17AA|3685|1140|17AA|3686|705A|\
1140|17AA|3687|820A|1140|17AA|3696|820A|1140|17AA|\
369B|820A|1140|17AA|369C|820A|1140|17AA|369D|820A|\
1140|17AA|369E|820A|1140|17AA|36A6|820A|1140|17AA|\
36A7|820A|1140|17AA|36A9|820A|1140|17AA|36AF|820A|\
1140|17AA|36B0|820A|1140|17AA|36B6|1140|17AA|3800|\
1140|17AA|3801|1140|17AA|3802|1140|17AA|3803|1140|\
17AA|3804|1140|17AA|3806|1140|17AA|3808|1140|17AA|\
380D|1140|17AA|380E|1140|17AA|380F|1140|17AA|3811|\
1140|17AA|3812|1140|17AA|3813|1140|17AA|3816|1140|\
17AA|3817|1140|17AA|3818|1140|17AA|381A|1140|17AA|\
381C|1140|17AA|381D|1140|17AA|3901|1140|17AA|3902|\
1140|17AA|3903|1140|17AA|3904|1140|17AA|3905|1140|\
17AA|3907|1140|17AA|3910|1140|17AA|3912|1140|17AA|\
3913|1140|17AA|3915|1140|17AA|3983|1140|17AA|5001|\
1140|17AA|5003|1140|17AA|5005|1140|17AA|500D|1140|\
17AA|5014|1140|17AA|5017|1140|17AA|5019|1140|17AA|\
501A|1140|17AA|501F|1140|17AA|5025|1140|17AA|5027|\
1140|17AA|502A|1140|17AA|502B|1140|17AA|502D|1140|\
17AA|502E|1140|17AA|502F|1140|17AA|5030|1140|17AA|\
5031|1140|17AA|5032|1140|17AA|5033|1140|17AA|503E|\
1140|17AA|503F|1140|17AA|5040|1140|1854|0177|1140|\
1854|0180|1140|1854|0190|1140|1854|0192|1140|1854|\
0224|1140|1B0A|01C0|1140|1B0A|20DD|1140|1B0A|20DF|\
1140|1B0A|210E|1140|1B0A|2202|1140|1B0A|90D7|1140|\
1B0A|90DD|1140|1B50|5530|1140|1B6C|5031|1140|1BAB|\
0106|1140|1D05|1013|1200|1201|1203|1205|1206|1207|\
1208|1210|1211|1212|1213|1241|1243|1244|1245|1246|\
1247|1247|1043|212A|1247|1043|212B|1247|1043|212C|\
1248|1249|124B|124D|124D|1462|10CC|1251) ALT_SUFFIX='390' ;;
0FEF|0FF2|11BF) ALT_SUFFIX='367' ;;
0191|0193|0194|0197|019D|019E|0400|0401|0402|0403|\
0404|0405|0406|0407|0408|0409|040A|040B|040C|040D|\
040E|040F|0410|0420|0421|0422|0423|0424|0425|0426|\
@ -42,7 +214,7 @@ case $DEVID in
0A67|0A68|0A69|0A6A|0A6C|0A6E|0A6F|0A70|0A71|0A72|\
0A73|0A74|0A75|0A76|0A78|0A7A|0A7C|0CA0|0CA2|0CA3|\
0CA4|0CA5|0CA7|0CA8|0CA9|0CAC|0CAF|0CB0|0CB1|0CBC|\
10C0|10C3|10C5|10D8) ALT_SUFFIX='340' ;;
10C0|10C3|10C5|10D8) ALT_SUFFIX='340' ;;
0040|0041|0042|0043|0044|0045|0046|0047|0048|004E|\
0090|0091|0092|0093|0095|0098|0099|009D|00C0|00C1|\
@ -57,35 +229,37 @@ case $DEVID in
029F|02E0|02E1|02E2|02E3|02E4|038B|0390|0391|0392|\
0393|0394|0395|0397|0398|0399|039C|039E|03D0|03D1|\
03D2|03D5|03D6|0531|0533|053A|053B|053E|07E0|07E1|\
07E2|07E3|07E5) ALT_SUFFIX='304' ;;
07E2|07E3|07E5) ALT_SUFFIX='304' ;;
00FA|00FB|00FC|00FD|00FE|0301|0302|0308|0309|0311|\
0312|0314|031A|031B|031C|0320|0321|0322|0323|0324|\
0325|0326|0327|0328|032A|032B|032C|032D|0330|0331|\
0332|0333|0334|0338|033F|0341|0342|0343|0344|0347|\
0348|034C|034E) ALT_SUFFIX='173' ;;
0348|034C|034E) ALT_SUFFIX='173' ;;
0110|0111|0112|0113|0170|0171|0172|0173|0174|0175|\
0176|0177|0178|0179|017A|017C|017D|0181|0182|0183|\
0185|0188|018A|018B|018C|01A0|01F0|0200|0201|0202|\
0203|0250|0251|0253|0258|0259|025B|0280|0281|0282|\
0286|0288|0289|028C) ALT_SUFFIX='96' ;;
0286|0288|0289|028C) ALT_SUFFIX='96' ;;
0020|0028|0029|002C|002D|00A0|0100|0101|0103|0150|\
0151|0152|0153) ALT_SUFFIX='71' ;;
0151|0152|0153) ALT_SUFFIX='71' ;;
*) ALT_SUFFIX='' ;;
*) ALT_SUFFIX='' ;;
esac
case $ALT_SUFFIX in
340) REC_DRIVER='xorg-drv-video-nvidia_340' ;;
304) REC_DRIVER='xorg-drv-video-nvidia_304' ;;
173|96|71) REC_DRIVER='nouveau' ;;
470) REC_DRIVER='xorg-drv-video-nvidia_470' ;;
390) REC_DRIVER='xorg-drv-video-nvidia_390' ;;
340|304|173|96|71) REC_DRIVER='xf86-video-modesetting' ;;
*) REC_DRIVER='xorg-drv-video-nvidia' ;;
esac
echo "NVIDIA recommended driver is $REC_DRIVER" >&2
if [ "$DO_INSTALL" = "1" ]; then
if [ "$DO_TEST" = "1" -a "$REC_DRIVER" != "xf86-video-modesetting" ]; then
exit 1
elif [ "$DO_INSTALL" = "1" ]; then
rpm -q $REC_DRIVER || pkcon install -y $REC_DRIVER
fi