Minor fixes

pull/55/head
parent 1b8d1bcbbb
commit 26d7cf3afd

@ -90,6 +90,8 @@ uninstall:
@$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}"
@$(RM) "${DESTDIR}${PREFIX}/share/applications/${PKGNAME}.desktop"
@$(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) -rdf "${DESTDIR}${PREFIX}/share/${PKGNAME}"
@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/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/${PKGNAME}/csv/" "resolutions.csv"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/${PKGNAME}/csv/" "video-drivers.csv"
@install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv/" "resolutions.csv"
@install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv/" "video-drivers.csv"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop"
@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"
@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 \
[ -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; \
[ -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
@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));
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
int installed=0;
gtk_tree_model_get(gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->driversTreeView)),&iter,0,&installed,-1);
if (installed==1){
char *module, *package;
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->driversDeleteButton,1);
} else {
@ -1093,9 +1103,6 @@ void yon_proprietary_local_get(){
if (strcmp(drivers[dr_foun],ubm)==0){
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;
config_str drivers=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);
if (videoconfig.proprietary){
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
videoconfig.proprietary=NULL;
}
drivers=yon_config_load(get_proprietary_drivers_command,&drivers_size);
for (int dr_desc=0;dr_desc<size;dr_desc++){
for (int dr_foun=0;dr_foun<drivers_size;dr_foun++){
drivers[dr_foun]=yon_char_divide_search(drivers[dr_foun],"\n",-1);
char *pack=yon_char_new(rtn[dr_desc]);
char *ubm=yon_char_divide_search(pack,";",-1);
pack=yon_char_divide_search(pack,";",-1);
if (strcmp(drivers[dr_foun],ubm)==0){
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,pack)){
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,pack,rtn[dr_desc]);
for (int i=0;i<drivers_size;i++){
if (drivers[i][strlen(drivers[i])-1]=='\n') drivers[i][strlen(drivers[i])-1] = '\0';
}
for (int di=1;di<size;di++){
int current_size;
config_str current = yon_char_parse(rtn[di],&current_size,";");
if (current_size>2){
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]);
}
}
}
}
yon_char_parsed_free(current,current_size);
}
if (videoconfig.proprietary){
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
@ -1191,7 +1227,7 @@ void yon_gtk_list_store_fill_with_proprietaries(GtkListStore *list){
else{
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);
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);
}
}
@ -1353,8 +1389,6 @@ void yon_monitor_config_update(monitorconfig* monitor, char *port, char *config_
monitor->enable=1;
if (yon_char_parsed_check_exist(cnf,size,"disable")!=-1)
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)
monitor->position=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_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'"
@ -76,8 +76,8 @@
#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_local_command " pacman -Qq |grep -E \"ubm-nvidia-\""
#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 '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_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]
*/
int yon_char_parsed_check_exist(char **parameters, int size, char *param){
for (int i=0;i<size;i++){
if (parameters[i]){
if (strstr(parameters[i],param))
return i;
} else return -1;
if (parameters){
for (int i=0;i<size;i++){
if (parameters[i]){
if (!strcmp(parameters[i],param))
return i;
} else 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)
* [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);
void yon_char_parsed_free(config_str source, int size);
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);

@ -6,4 +6,9 @@ OS_VERSION_ID;DRV_PAСKAGE_UBM;DRV_PAСKAGE;DRV_NAME;DRV_DESCRIPTION;DRV_SUPPORT
2204;ubm-nvidia-470;;nvidia-470;UBLinux module 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;;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