Страница 1 из 1

XFdrake и отключенные bbswitch видеоадаптеры

Добавлено: 16 июл 2016, 13:56
trs
Если bbswitch отключает карту, то FXdrake не предлагает ни nouveau, ни nvidia, только vesa и i915 (и при их выборе bbswitch не удаляет, так что после перезагрузки картина повторялась).
Выполнил под рутом

Код: Выделить всё

# echo 'ON' > /proc/acpi/bbswitch
и запустил FXdrake в отельном терминале, драйвера появились в списке.
Возможно, FXdrake следовало бы проверять наличие /proc/acpi/bbswitch? Этот файл создаётся, если bbswitch находит дискретную карту:

Код: Выделить всё

    if (dis_dev == NULL) {
        pr_err("No discrete VGA device found\n");
        return -ENODEV;
    }

    if (!skip_optimus_dsm &&
            has_dsm_func(acpi_optimus_dsm_muid, 0x100, 0x1A)) {
        dsm_type = DSM_TYPE_OPTIMUS;
        pr_info("detected an Optimus _DSM function\n");
    } else if (has_dsm_func(acpi_nvidia_dsm_muid, 0x102, 0x3)) {
        dsm_type = DSM_TYPE_NVIDIA;
        pr_info("detected a nVidia _DSM function\n");
    } else {
       /* At least two Acer machines are known to use the intel ACPI handle
        * with the legacy nvidia DSM */
        dis_handle = igd_handle;
        if (dis_handle && has_dsm_func(acpi_nvidia_dsm_muid, 0x102, 0x3)) {
            dsm_type = DSM_TYPE_NVIDIA;
            pr_info("detected a nVidia _DSM function on the"
                " integrated video card\n");
        } else {
            pr_err("No suitable _DSM call found.\n");
            return -ENODEV;
        }
    }

    acpi_entry = proc_create("bbswitch", 0664, acpi_root_dir, &bbswitch_fops);
    if (acpi_entry == NULL) {
        pr_err("Couldn't create proc entry\n");
        return -ENOMEM;
    }