Один SSD, два компьютера (с разными видеокартами). Лучший подход для видео драйверов?

У меня есть один SSD с двойной загрузкой с Windows 7 / Ubuntu 11.10. Я переключаю этот диск ежедневно между двумя компьютерами. Одним из них является ноутбук с интегрированной графикой Intel . Другой - это настольный компьютер с видеокартой NVIDIA .

Я хочу, чтобы использовался правильный драйвер, и 3D-ускорение включалось автоматически, когда я загружался в Ubuntu на любом компьютере. Как этого добиться?

Когда я загружаю Ubuntu с моего ноутбука, большинство драйверов запускаются нормально, но видеодрайвер GM965 не загружается, поэтому 3D-ускорение остается выключенным. Журналы показывают, что драйвер NVIDIA выдавал ошибку о недоступности (похоже, что он форсирует драйвер NVIDIA).

Это нормально, что Ubuntu 11.10 & amp; В настоящее время Xorg не имеет такое же поведение, как Windows 7? Когда я загружаю Windows 7, правильный драйвер загружается с помощью идентификации PCI, а настройки разрешения загружаются через DDC с монитора. Я думаю, что Xorg может делать то же самое, что и при загрузке живого CD.

Для диагностики мне нужно знать, как настроить видеодрайвер в современных развертываниях Xorg, который устарел /etc/X11/xorg.conf

У кого-нибудь есть идеи, чтобы помочь мне? ] Заранее спасибо

2
задан 17 December 2011 в 02:32

3 ответа

Ответ Bodhi.zazens - это шаг в правильном направлении, но вы, возможно, не сможете использовать возможности GL вашей карты Intel (например, эффекты рабочего стола).

Более отлаженный скрипт, который использует идентификатор поставщика nVidia и исправляет пути библиотеки GL, показан ниже. Перед установкой этого скрипта вам необходимо сохранить конфигурацию nvidia xorg в /etc/X11/xorg.conf.nvidia. На компьютере nvidia выполните следующие команды:

sudo nvidia-xconfig
sudo mv /etc/X11/xorg.conf{,.nvidia}

Следующий скрипт должен быть сохранен как /etc/init/auto-gfx-card.conf. При копировании будьте осторожны, чтобы не поставить пробелы после завершающей обратной косой черты.

description "autoconfigure graphics card settings"
start on (filesystem and (starting lightdm or starting kdm or starting gdm))
script
    # If any nVidia device is found, assume it to be a graphics card
    if [ -n "$(lspci -d10de:)" ]; then
        for arch in x86_64-linux-gnu i386-linux-gnu; do
            # since nvidia drivers have a higher priority, it'll
            # automatically selected as the best available version
            update-alternatives --quiet --force --auto ${arch}_gl_conf || true
        done
        # create the symlink, overwriting existing links if necessary
        ln -sf /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
    else
        # restore Intel GL capabilities
        for arch in x86_64-linux-gnu i386-linux-gnu; do
            update-alternatives --quiet --force --set \
                ${arch}_gl_conf /usr/lib/$arch/mesa/ld.so.conf 2>/dev/null || true
        done
        # remove the symlink if any
        rm -f /etc/X11/xorg.conf
    fi
end script

Никаких дополнительных команд не требуется для активации этого задания Upstart.

0
ответ дан 17 December 2011 в 02:32

Это грязный хак, и, возможно, есть более чистый метод (то есть написание хорошего сценария инициализации upstart), но ...

Предполагая, что драйвер nvidia и карта Intel работают;)

Используйте скрипт из /etc/rc.local, чтобы использовать правильный xorg.conf. Для карты Intel не требуется xorg.conf, поэтому сохраните работающий nvidia xorg.conf по адресу say / etc/X11/xorg.conf.nvida

Во время работы машины nvidia

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.nvidia

Затем добавьте это в / etc / rc.local

# determine if we have a nvidia card, $VIDEO will be an empty sting with the intel card
VIDEO=$(lspci | grep nVidia)

# test if $VIDEO is empty, and move xorg.conf if needed
if [ -n "$VIDEO" ]
    then
        # if xorg.conf exists, remove it.
        [[ -e /etc/X11/xorg.conf ]] && rm -f /etc/X11.xorg.conf
    else
        # if xorg.conf does not exist copy it
        [[ -e /etc/X11/xorg.conf ]] || cp /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
 fi

 # restart lightdm, need to modify for kdm or gdm
 /etc/init.d/lightdm restart

В зависимости от того, насколько быстро работает rc.local, вы можете вообще пропустить перезапуск lightdm или, если он запускается слишком рано, вам может потребоваться добавить сон.

Если вам нужен xorg.conf для карты Intel, просто измените скрипт, чтобы установить правильный xorg.conf.

Единственная другая потенциальная проблема будет в том случае, если модуль ядра nvidia конфликтует с драйвером Intel (маловероятно), в этом случае нам потребуется занести в черный список драйверы, что можно сделать с помощью специального раздела в grub.

0
ответ дан 17 December 2011 в 02:32

Это, вероятно, плохая идея . Вы не можете использовать драйвер NVIDIA с интегрированной графикой Intel вашего ноутбука. Поскольку у вас есть необычная практика совместного использования одного SSD между двумя разными компьютерами, вам, вероятно, следует придерживаться «наименьшего общего знаменателя», который является драйвером видео по умолчанию.

Если вы все еще хотите установить и настроить ограниченные драйверы NVIDIA, сделайте это на рабочем столе, на котором установлена ​​совместимая видеокарта.

Щелкните значок шестеренки в правом верхнем углу экрана и выберите «Системные настройки ...», затем нажмите «Дополнительные драйверы». Это покажет вам любые доступные или включенные проприетарные драйверы от NVIDIA, например:

NVIDIA Drivers enabled

Чтобы получить доступ к настройкам карты после установки драйверов, введите «NVIDIA» в тире, вот так:

NVIDIA settings dash

Откроется экран настроек драйвера. Внесите любые необходимые изменения и нажмите «Файл конфигурации сохранения в X», как показано здесь:

NVIDIA X config

Подробнее о настройке X здесь есть Ubuntu X /. Страница конфигурации вики

Имейте в виду, что при этом вы можете столкнуться с проблемами на ноутбуке, у которого нет карты NVIDIA.

0
ответ дан 17 December 2011 в 02:32

Другие вопросы по тегам:

Похожие вопросы: