Minor fixes

pull/55/head
parent 1b8d1bcbbb
commit 26d7cf3afd

@ -90,6 +90,8 @@ uninstall:
@$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}" @$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}"
@$(RM) "${DESTDIR}${PREFIX}/share/applications/${PKGNAME}.desktop" @$(RM) "${DESTDIR}${PREFIX}/share/applications/${PKGNAME}.desktop"
@$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/com.ublinux.${PKGNAME}.svg" @$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/com.ublinux.${PKGNAME}.svg"
@$(RM) "${DESTDIR}/usr/share/${PKGNAME}/csv/resolutions.csv"
@$(RM) "${DESTDIR}/usr/share/${PKGNAME}/csv/video-drivers.csv"
@$(RM) "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy" @$(RM) "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
@$(RM) -rdf "${DESTDIR}${PREFIX}/share/${PKGNAME}" @$(RM) -rdf "${DESTDIR}${PREFIX}/share/${PKGNAME}"
@if [ -z ${DESTDIR} ]; then \ @if [ -z ${DESTDIR} ]; then \
@ -122,16 +124,16 @@ install: check uninstall
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/emblems/" "com.ublinux.${PKGNAME}.vmware-logo.svg" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/emblems/" "com.ublinux.${PKGNAME}.vmware-logo.svg"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.checked.svg" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.checked.svg"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.warning.svg" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.warning.svg"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/${PKGNAME}/csv/" "resolutions.csv" @install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv/" "resolutions.csv"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/${PKGNAME}/csv/" "video-drivers.csv" @install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv/" "video-drivers.csv"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop"
@install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}" @install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}"
@install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy" @install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
@sed -e '\|annotate key=|s|/usr/bin|${PREFIX}/bin|' -e '/action id=/s/\.run/${PKGIDENT}\.run/' -i ${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy @sed -e '\|annotate key=|s|/usr/bin|${PREFIX}/bin|' -e '/action id=/s/\.run/${PKGIDENT}\.run/' -i ${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy
@if [ -z ${DESTDIR} ]; then \ @if [ -z ${DESTDIR} ]; then \
[ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \ [ -d "${DESTDIR}/usr/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \
update-desktop-database --quiet &>/dev/null || true; \ update-desktop-database --quiet &>/dev/null || true; \
[ -d "${DESTDIR}${PREFIX}/share/applications" ] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \ [ -d "${DESTDIR}/usr/share/applications" ] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \
fi fi
@echo "Install: OK" @echo "Install: OK"

@ -240,8 +240,18 @@ void on_driver_selection_change(GtkWidget *self, widgets_dict *widgets){
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->driversTreeView)); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->driversTreeView));
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){ if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
int installed=0; int installed=0;
gtk_tree_model_get(gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->driversTreeView)),&iter,0,&installed,-1); char *module, *package;
if (installed==1){ gtk_tree_model_get(gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->driversTreeView)),&iter,0,&installed,1,&module,2,&package,-1);
char *target;
if (strcmp(module,""))
target = module;
else
target = package;
if (strcmp(target,"xf86-video-intel")||strcmp(target,"lib32-vulkan-intel")||strcmp(target,"mesa")){
gtk_widget_set_sensitive(widgets->driversInstallButton,0);
gtk_widget_set_sensitive(widgets->driversDeleteButton,0);
}
else if (installed==1){
gtk_widget_set_sensitive(widgets->driversInstallButton,0); gtk_widget_set_sensitive(widgets->driversInstallButton,0);
gtk_widget_set_sensitive(widgets->driversDeleteButton,1); gtk_widget_set_sensitive(widgets->driversDeleteButton,1);
} else { } else {
@ -1093,9 +1103,6 @@ void yon_proprietary_local_get(){
if (strcmp(drivers[dr_foun],ubm)==0){ if (strcmp(drivers[dr_foun],ubm)==0){
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[dr_foun],rtn[dr_desc]); yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[dr_foun],rtn[dr_desc]);
} }
// else if (strcmp(pack,"")!=0&&!(yon_dictionary_get(!videoconfig.proprietary||&videoconfig.proprietary,pack))){
// yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,pack,rtn[dr_desc]);
// }
} }
} }
@ -1115,25 +1122,54 @@ dictionary *yon_proprieary_get(){
int size=0; int size=0;
config_str drivers=NULL; config_str drivers=NULL;
config_str rtn=NULL; config_str rtn=NULL;
int adapter_size;
char flag=0;
config_str adapter = yon_config_load(get_adapter_info,&adapter_size);
for (int i=0;i<adapter_size;i++){
char *current_string =NULL;
if (strstr(adapter[i],"vendor=")){
if (strstr(adapter[i],"Intel"))
flag |= (1<<0);
else if (strstr(adapter[i],"AMD"))
flag |= (1<<1);
else if (strstr(adapter[i],"NVIDIA"))
flag |= (1<<2);
}
}
rtn = yon_config_load(get_proprietary_drivers_info_command,&size); rtn = yon_config_load(get_proprietary_drivers_info_command,&size);
if (videoconfig.proprietary){ if (videoconfig.proprietary){
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list); yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
videoconfig.proprietary=NULL; videoconfig.proprietary=NULL;
} }
drivers=yon_config_load(get_proprietary_drivers_command,&drivers_size); drivers=yon_config_load(get_proprietary_drivers_command,&drivers_size);
for (int dr_desc=0;dr_desc<size;dr_desc++){ for (int i=0;i<drivers_size;i++){
for (int dr_foun=0;dr_foun<drivers_size;dr_foun++){ if (drivers[i][strlen(drivers[i])-1]=='\n') drivers[i][strlen(drivers[i])-1] = '\0';
drivers[dr_foun]=yon_char_divide_search(drivers[dr_foun],"\n",-1); }
char *pack=yon_char_new(rtn[dr_desc]); for (int di=1;di<size;di++){
char *ubm=yon_char_divide_search(pack,";",-1); int current_size;
pack=yon_char_divide_search(pack,";",-1); config_str current = yon_char_parse(rtn[di],&current_size,";");
if (strcmp(drivers[dr_foun],ubm)==0){ if (current_size>2){
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[dr_foun],rtn[dr_desc]); if (strcmp(current[0],"")){
if (!!strstr(current[0],"nvidia")&&((flag >> 2) & 1)||!!strstr(current[0],"amdgpu")&&((flag >> 1) & 1)||(!strcmp(current[0],"xf86-video-intel")||!strcmp(current[0],"mesa"))&&((flag >> 1) & 1)||!!strstr(current[0],"lib32-vulkan-intel")&&((flag >> 0) & 1)){
int target = yon_char_parsed_check_exist(drivers,drivers_size,current[0]);
if (target>-1){
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[target],rtn[di]);
} else {
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,current[0],rtn[di]);
}
}
} else if (strcmp(current[1],"")){
if (!!strstr(current[1],"nvidia")&&((flag >> 2) & 1)||!!strstr(current[1],"amdgpu")&&((flag >> 1) & 1)||(!strcmp(current[1],"xf86-video-intel")||!strcmp(current[1],"mesa")||!!strstr(current[1],"lib32-vulkan-intel"))&&((flag >> 0) & 1)){
int target = yon_char_parsed_check_exist(drivers,drivers_size,current[1]);
if (target>-1){
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[target],rtn[di]);
} else {
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,current[1],rtn[di]);
}
} }
else if (strcmp(pack,"")!=0&&!yon_dictionary_get(&videoconfig.proprietary,pack)){
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,pack,rtn[dr_desc]);
} }
} }
yon_char_parsed_free(current,current_size);
} }
if (videoconfig.proprietary){ if (videoconfig.proprietary){
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list); yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
@ -1191,7 +1227,7 @@ void yon_gtk_list_store_fill_with_proprietaries(GtkListStore *list){
else{ else{
gtk_list_store_append(videoconfig.list2,&iter); gtk_list_store_append(videoconfig.list2,&iter);
gtk_list_store_set(videoconfig.list2,&iter,1,str[0],2,str[1],3,str[2],4,_(str[3]),5,_(str[4]),-1); gtk_list_store_set(videoconfig.list2,&iter,1,str[0],2,str[1],3,str[2],4,_(str[3]),5,_(str[4]),-1);
if (yon_char_parsed_check_exist(installed,inssize,str[1])!=-1){ if (yon_char_parsed_check_exist(installed,inssize,str[1])!=-1||!strcmp(str[1],"mesa")||!strcmp(str[1],"lib32-vulkan-intel")||!strcmp(str[1],"xf86-video-intel")){
gtk_list_store_set(videoconfig.list2,&iter,0,1,-1); gtk_list_store_set(videoconfig.list2,&iter,0,1,-1);
} }
} }
@ -1353,8 +1389,6 @@ void yon_monitor_config_update(monitorconfig* monitor, char *port, char *config_
monitor->enable=1; monitor->enable=1;
if (yon_char_parsed_check_exist(cnf,size,"disable")!=-1) if (yon_char_parsed_check_exist(cnf,size,"disable")!=-1)
monitor->enable=0; monitor->enable=0;
// if (yon_char_parsed_check_exist(cnf,size,"ignore")==1)
// monitor->enable=0;
if (yon_char_parsed_check_exist(cnf,size,"LeftOf:")!=-1) if (yon_char_parsed_check_exist(cnf,size,"LeftOf:")!=-1)
monitor->position=1; monitor->position=1;
if (yon_char_parsed_check_exist(cnf,size,"lo:")!=-1) if (yon_char_parsed_check_exist(cnf,size,"lo:")!=-1)

@ -46,7 +46,7 @@
#define get_resolutions_command "xrandr |grep -noP \"\\d+x+\\d+\"" #define get_resolutions_command "xrandr |grep -noP \"\\d+x+\\d+\""
#define get_resolution_ports_command "xrandr |grep -nwP \"connected\" |grep -oE \"[-0-9a-zA-Z:]{1,} connected\" |grep -oE \"[-0-9a-zA-Z:]{1,} \"" #define get_resolution_ports_command "xrandr |grep -nwP \"connected\" |grep -oE \"[-0-9a-zA-Z:]{1,} connected\" |grep -oE \"[-0-9a-zA-Z:]{1,} \""
#define get_proprietary_drivers_info_command "cut -d';' -f2- /usr/share/ubl-settings-video/csv/video-drivers.csv | grep -E \"-\"" #define get_proprietary_drivers_info_command "cut -d';' -f2- /usr/share/ubl-settings-video/csv/video-drivers.csv"
#define get_resolutions_supportable_command "cut -d, -f1- /usr/share/ubl-settings-video/csv/resolutions.csv |sed 's/,/ /g'" #define get_resolutions_supportable_command "cut -d, -f1- /usr/share/ubl-settings-video/csv/resolutions.csv |sed 's/,/ /g'"
@ -76,8 +76,8 @@
#define get_version_proprietary_command "grep \"VERSION_ID=\" /etc/os-release | cut -d= -f2" #define get_version_proprietary_command "grep \"VERSION_ID=\" /etc/os-release | cut -d= -f2"
#define get_proprietary_drivers_command " pacman -Ssy ubm-nvidia-.* |grep -oE \"[a-zA-Z-]{1,}-nvidia-[a-zA-Z0-9-]{1,}\"" #define get_proprietary_drivers_command "pacman -Ssyq 'ubm-nvidia-.*|amdgpu|^nvidia-[0-9]{1,}[a-zA-Z]{0,}-dkms'|grep -E 'nvidia|^vulkan-|^amdgpu-pro-libgl'"
#define get_proprietary_drivers_local_command " pacman -Qq |grep -E \"ubm-nvidia-\"" #define get_proprietary_drivers_local_command "pacman -Qq |grep -E 'nvidia|^vulkan-amdgpu|^amdgpu-pro-libgl'"
#define get_proprietary_installed_command yon_char_unite(" pacman -Ss nvidia-.* |grep -E ",INSTALLED_LOW_LABEL," |grep -oE \"ubm-nvidia-[0-9a-zA-Z]{1,}|nvidia-[0-9]{1,4}xx-dkms\"",NULL) #define get_proprietary_installed_command yon_char_unite(" pacman -Ss nvidia-.* |grep -E ",INSTALLED_LOW_LABEL," |grep -oE \"ubm-nvidia-[0-9a-zA-Z]{1,}|nvidia-[0-9]{1,4}xx-dkms\"",NULL)
// #define get_proprietary_drivers_command "LC_ALL=C pacman -Ss ubm-nvidia-.* |grep -oE \"[a-zA-Z-]{1,}nvidia-[a-zA-Z0-9-]{1,}|installed\"|sed ':a;N;$!ba;s/\\ninstalled/ installed/g'" // #define get_proprietary_drivers_command "LC_ALL=C pacman -Ss ubm-nvidia-.* |grep -oE \"[a-zA-Z-]{1,}nvidia-[a-zA-Z0-9-]{1,}|installed\"|sed ':a;N;$!ba;s/\\ninstalled/ installed/g'"

@ -711,17 +711,27 @@ char **yon_char_parsed_rip(char **char_string, int *size, int item_to_delete){
* элемент [param] * элемент [param]
*/ */
int yon_char_parsed_check_exist(char **parameters, int size, char *param){ int yon_char_parsed_check_exist(char **parameters, int size, char *param){
if (parameters){
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
if (parameters[i]){ if (parameters[i]){
if (strstr(parameters[i],param)) if (!strcmp(parameters[i],param))
return i; return i;
} else return -1; } else return -1;
} }
}
return -1; return -1;
} }
void yon_char_parsed_free(config_str source, int size){
if (source&&size>0){
for (int i=0;i<size;i++){
free(source[i]);
}
free(source);
}
}
/**yon_char_parsed_includes_char_parsed (config_str source, config_str to_check, int source_size, int check_size) /**yon_char_parsed_includes_char_parsed (config_str source, config_str to_check, int source_size, int check_size)
* [EN] * [EN]
* *

@ -175,6 +175,8 @@ char **yon_char_parsed_rip(char **char_string, int *size, int item_to_delete);
int yon_char_parsed_check_exist(char **parameters, int size, char *param); int yon_char_parsed_check_exist(char **parameters, int size, char *param);
void yon_char_parsed_free(config_str source, int size);
int yon_char_find_count(char *source, char *find); int yon_char_find_count(char *source, char *find);
int yon_char_parsed_includes_char_parsed (config_str source, config_str to_check, int source_size, int check_size); int yon_char_parsed_includes_char_parsed (config_str source, config_str to_check, int source_size, int check_size);

@ -7,3 +7,8 @@ OS_VERSION_ID;DRV_PAСKAGE_UBM;DRV_PAСKAGE;DRV_NAME;DRV_DESCRIPTION;DRV_SUPPORT
2204;;nvidia-470xx-dkms;nvidia-470;UBLinux package includes NVIDIA 470xx driver and utilities;Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX 2204;;nvidia-470xx-dkms;nvidia-470;UBLinux package includes NVIDIA 470xx driver and utilities;Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX
2204;ubm-nvidia-510;;nvidia-510;UBLinux module includes NVIDIA 510xx driver and utilities;Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX 2204;ubm-nvidia-510;;nvidia-510;UBLinux module includes NVIDIA 510xx driver and utilities;Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX
2204;;nvidia-510xx-dkms;nvidia-510;UBLinux package includes NVIDIA 510xx driver and utilities;Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX 2204;;nvidia-510xx-dkms;nvidia-510;UBLinux package includes NVIDIA 510xx driver and utilities;Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX
2204;;vulkan-amdgpu-pro;Vulkan AMD driver;UBLinux package includes AMD Vulkan driver and utilities;
2204;;amdgpu-pro-libgl;OpenGL AMD driver;UBLinux package includes AMD OpenGL driver and utilities;
2204;;mesa;Mesa package;Mesa package which includes the modern Gallium3D drivers for Gen 3 hardware and later;UBLinux package includes Intel driver and utilities;
2204;;xf86-video-intel;Intel drivers;UBLinux package includes Intel driver and utilities;
2204;;lib32-vulkan-intel;Vulkan Intel drivers;UBLinux package includes Vulkan Intel driver and utilities;
Can't render this file because it has a wrong number of fields in line 12.
Loading…
Cancel
Save