Checks for installed drivers

pull/55/head
parent 733467d57a
commit 933831649b

@ -196,6 +196,7 @@ void on_driver_install(GtkWidget *self,widgets_dict *widgets){
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,2,&name,-1);
yon_terminal_start(widgets,yon_char_append(install_proprietary_command,name));
gtk_list_store_set(videoconfig.list,&iter,0,1,-1);
} else {
yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
}
@ -271,6 +272,7 @@ void on_driver_delete(GtkWidget *self,widgets_dict *widgets){
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,2,&name,-1);
yon_terminal_start(widgets,yon_char_append(delete_proprietary_command,name));
gtk_list_store_set(videoconfig.list,&iter,0,0,-1);
} else {
yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
}
@ -1094,14 +1096,21 @@ void yon_proprietary_local_get(){
config_str rtn=NULL;
rtn = yon_config_load(get_proprietary_drivers_info_command,&size);
config_str drivers=yon_config_load(get_proprietary_installed_command,&drivers_size);
for (int dr_desc=0;dr_desc<drivers_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]);
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 dr_desc=1;dr_desc<size;dr_desc++){
int current_size;
config_str current = yon_char_parse(rtn[dr_desc],&current_size,";");
if (strcmp(current[0],"")){
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[dr_desc]);
}
} else if (strcmp(current[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[dr_desc]);
}
}
}

@ -77,9 +77,9 @@
#define get_version_proprietary_command "grep \"VERSION_ID=\" /etc/os-release | cut -d= -f2"
#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_command "pacman -Ssyq 'ubm-nvidia-.*|amdgpu|^nvidia-[0-9]{1,}[a-zA-Z]{0,}-dkms|^mesa$|^xf86-video-intel$|^lib32-vulkan-intel$'"
#define get_proprietary_drivers_local_command "pacman -Qq |grep -E 'nvidia|^vulkan-amdgpu|^amdgpu-pro-libgl'"
#define get_proprietary_installed_command "pacman -Qs 'ubm-nvidia-.*|amdgpu|^nvidia-[0-9]{1,}[a-zA-Z]{0,}-dkms'"
#define get_proprietary_installed_command "pacman -Qsq 'ubm-nvidia-.*|amdgpu|^nvidia-[0-9]{1,}[a-zA-Z]{0,}-dkms|^mesa$|^xf86-video-intel$|^lib32-vulkan-intel$'"
// #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_adapter_info "lshw -c display -quiet |grep -oE \"vendor:[0-9a-zA-Z ]{1,}|description:[0-9a-zA-Z ]{1,}|product:[]0-9a-zA-Z [-]{1,}\"|sed 's/: /=/g';lspci | grep -E ' VGA | Display ' | cut -d\" \" -f 1 | xargs -i lspci -v -s {} |grep -oE \"Kernel[:a-zA-Z0-9: ,_]{1,}\"|sed 's/: /=/g'|sed 's/ /-/g'"

Loading…
Cancel
Save