Как я изменяю идентификатор устройства PCI своей видеокарты в системе? (для установки драйвера Quadro на GeForce)

Это вполне немного похоже на выяснение, "почему OpenSUSE не устанавливает программного обеспечения для орбитальных вычислений механики по умолчанию?". Только для выбора некоторой другой категории программного обеспечения, в которой у большого количества пользователей не было бы потребности (и не знающий, делают ли они или не устанавливать никакое подобное программное обеспечение по умолчанию).

Каждое распределение будет иметь ряд пакетов по умолчанию, которые установлены, когда пользователь не делает определенного выбора. Для ориентированного на рабочий стол распределения, которое могло бы включать вещи как LibreOffice и Firefox, но никакое программное обеспечение для разработки как GCC, binutils, не делает и так далее. Для ориентированного на разработку распределения набор по умолчанию программного обеспечения, вероятно, будет отличаться. Распределение, приспособленное к серверам, будет иметь все же другие значения по умолчанию. И так далее.

Некоторые дистрибутивы будут иметь предпосылки, которые не делают другие. Например, Вам было бы трудно добираться до рабочей хинду установки, не имея тех точных установленных пакетов разработки, планируете ли Вы использовать ее для какого-либо вида разработки программного обеспечения. Установка Red Hat вряд ли установит пакеты, которые помогают Вам иметь дело с программным обеспечением, упакованным в архивах .deb, тогда как на Debian и производных необходимо стараться изо всех сил мочь иметь дело с архивами .rpm. И так далее.

К счастью, поскольку Вы нашли, это имеет тенденцию быть довольно легким добавить соответствующие пакеты к установке системы.

Полагая, что большая часть пользователей не сделает разработки в их системах, простота, с которой пакеты разработки могут быть добавлены и то, что SuSE в значительной степени всегда приспосабливался больше к рабочему столу, чем что-либо еще, вероятно, что специалисты по обслуживанию OpenSUSE просто решили, что те, кто хочет установленное программное обеспечение для разработки, могут просто установить его сами. Это не похоже на это, прибывает в дополнительные расходы, кроме дискового пространства, и возможно загрузите время, оба из которых были бы необходимы для всех, если бы это было в стандартной установке.

2
21.09.2014, 22:02
2 ответа

Вам нужно будет просмотреть сам драйвер. Если исходный код недоступен, возможно, вам повезет с исправлением с помощью шестнадцатеричного редактора

. Однако, если драйвер подписан каким-либо образом, это сделает подпись недействительной.

Вы также можете создать поддельное устройство и связать настоящее с драйвером-заглушкой, используя поддельное устройство для ретрансляции. Точно не могу сказать, насколько легко это будет, но для этого потребуются приличные навыки уровня ядра. Вам нужно будет реализовать виртуальное устройство pci в самом ядре.

Третий вариант действительно сложен: создать виртуальную машину, изменить ее, чтобы сообщить желаемый идентификатор PCI ID, и привязать устройство к виртуальной машине. Но это ограничивает удобство использования и снижает производительность виртуальной машины.

2
27.01.2020, 22:13

Для этого вы можете использовать команду setpci : http://linux.die.net/man/8/setpci

С помощью setpci --dumpregs вы можете узнать о общие аппаратные регистры, а затем используйте setpci для запроса адреса устройства (02: 00.0), например, с одним из этих регистров:

setpci -s 02:00.0 STATUS
0
27.01.2020, 22:13

Теги

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