LINUX.ORG.RU

Открытый драйвер ati + закрытый fglrx в одной системе


0

1

На ноутбуке стоит gentoo. Из красивостей - plymouth, который красиво выглядит только на открытом драйвере (KMS, же). Руками задать родное разрешение для дисплея (1366х768) нельзя. В принципе, для повседневной работы открытый ati устраивает на 100%. Играю сейчас только в WoW, хотелось бы перенести игру в gentoo. Соответственно нужен fglrx.

Сама суть вопроса проста до ужаса. Как реализовать такую схему: * при загрузке ядра подгружается открытый драйвер, стартует plymouth; * после plymouth, перед dm вырубить открытый драйвер, подгрузить fglrx; * собственно dm, логин и переход на рабочий стол (сейчас openbox); * при выключении обратная схема (rmmod fglrx && modprobe radeon -> plymouth);

Достаточно ли для этого только rmmod radeon && modprobe fglrx? На какой стадии это лучше всего прописать?

Или есть другие варианты?

★★★★

Вопрос, конечно, интересный. В свое время стояли открытые драйвера ati, radeonhd и закрытый fglrx. Менял драйвера соответствующей прописью необходимого в Xorg.conf. Было достаточно. Как вариант - можно создать отдельного юзера с дровами и шплюшками и под ним играться.

cyberstorm
()

насколько я понял, KMS и fglrx не совместимы, то есть на ядре с KMS fglrx не заведётся.

Jam_myaso
()
Ответ на: комментарий от cyberstorm

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

Novell-ch ★★★★★
()
Ответ на: комментарий от Novell-ch

> вещества?
Не, криокамера@нищебродство. Прошу пардону у благородных донов. Дело было давно, когда не было KMS и ati x1600pro ещё поддерживалась.
https://wiki.archlinux.org/index.php/Fglrx#catalyst-generator_-_a_tool_for_ge... - вот это не поможет? Сам не читал, если что.

cyberstorm
()
Ответ на: комментарий от Novell-ch

Насчет libgl да, но в Gentoo библиотека libGL.so для открытых драйверов, реализуемая mesa и проприетарная библиотека libGL.so из состава ati-drivers лежат в разных местах, а в случае необходимости использования какой-либо из них создается ссылка с /usr/lib/libGL.so на /usr/lib/opengl/xorg-x11/libGL.so для открытых драйверов, или /usr/lib/opengl/ati/libGL.so для закрытых драйверов, так что ваше утверждение не верно.

А вот насчет KMS, вроде да, fglrx может работать и собираться под ядро, собранное без поддержки kms.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

суть в том, что несмотря на использование преимущественно графического режима загрузки, мне иногда нужна голая консоль. если бы fglrx имел KMS - вопросов бы не было.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от Behem0th

попробую. но мне кажется, что не прокатит.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от ekzotech

Ну во первых для того чтобы корректно выставить разрешение в консоли kms не нужен, вы пробовали передавать в качестве параметра ядру vga=ask
полсе этого при старте ядра у вас высветится таблица с перечнем поддерживаемых прошивкой вашей видеокарты видео режимов, найдите там интересующий вас 1366x768, введите его номер, он там представлен в 16 ричном виде, поэтому передавайте что-то вроде vga=0x362, дописав соответственно к нему «0x», если хотите можете перевести в 10 -тичную систему и писать просто числом, если все же там нет подходящего вам режива попробуйте передать ядру такой параметр video=vesafb:1366x768-32,ywrap,nomtrr ядро соответственно должно быть собрано с поддержкой vesafb.
Да лучше выбирать 32 битный видеорежим из таблицы.

Но для тестов вам наверно лучше собрать новое ядро без поддержки kms, как найдете подходящий видеорежим, пропишите его в параметры ядра и можете смело ставить fglrx для вашей видеокарты, а свободный драйвер удалить.

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

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Все бы хорошо, но проприетарные дрова не поддерживают такое разрешение для фреймбуфера. Тоже как-то сталкивался с этим

mastermind
()
Ответ на: комментарий от kostik87

В том то и дело, что максимальный режим при vesafb у меня получается 1024х768, что сильно искажает картинку. Этот вариант я пробовал еще в самом начале.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от mastermind

При чем здесь проприетарные драйвера для X сервера (xorg-server) и frame-buffer консоли, вы либо что то путаете, либо не понимаете.

kostik87 ★★★★★
()
Ответ на: комментарий от mastermind

> Все бы хорошо, но проприетарные дрова не поддерживают такое разрешение для фреймбуфера. Тоже как-то сталкивался с этим

Вот я об этом и говорю. Кажется через hwinfo проверял. Нету там 1366х768.

Поэтому единственный вариант открытый драйвер + KMS для консоли и fglrx для игр.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от ekzotech

Т.е. вы делали vga=ask и там максимальное разрешение было только 1024x768 ?

Попробуйте задать видео режим вторым способом, который я указал.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

>полсе этого при старте ядра у вас высветится таблица с перечнем поддерживаемых прошивкой вашей видеокарты видео режимов, найдите там интересующий вас 1366x768

Ну вопервых это далеко не на всех буках, чего же говорить о биосах десктопных карт.

TheMixa ★★★
()

>Достаточно ли для этого только rmmod radeon

Недостаточно. Нужно выгружать еще и drm, drm_kms_helper, ttm. После этого нужно грузить модуль fglrx, подсовывать предварительно созданный через aticonfig xorg.conf для catalyst (для xf86-video-ati он не нужен) и только тогда стартовать иксы. И то не факт, что заведется.

madgnu ★★★★★
()

забивай на fglrx

лучше пытайся вов на открытом драйвере запустить

//тред не читал

MaZy ★★★★★
()
Ответ на: комментарий от madgnu

> Недостаточно. Нужно выгружать еще и drm, drm_kms_helper, ttm. После этого нужно грузить модуль fglrx, подсовывать предварительно созданный через aticonfig xorg.conf для catalyst (для xf86-video-ati он не нужен) и только тогда стартовать иксы. И то не факт, что заведется.

т.е. этот вариант можно сразу забрасывать как бесперспективный?

ekzotech ★★★★
() автор топика
Ответ на: комментарий от x3al

> uvesafb? Тред не читал.

А что uvesafb? Сейчас ati + KMS.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от MaZy

>забивай на fglrx лучше пытайся вов на открытом драйвере запустить

Какой тогда производительнее? xf86-video-ati или radeon? У меня, если не ошибаюсь, установлен ati.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от madgnu

> Я бы погонял на открытых драйверах, wow вроде на них нормально работает

Хм. Спасибо, буду пробовать открытый.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от ekzotech

есть xf86-video-ati и xf86-video-radeonhd

второй - труп, ставь первый.

в xorg.conf будет обозначатся как «radeon» если что

MaZy ★★★★★
()
Ответ на: комментарий от kostik87

>Список доступных видеорежимов зависит от подключенного к видеоакарте монитора.

Относительно vesa/uvesa это заблуждение. Спецификация на VESA такова что поддерживаемые разрешения поддтягиваются из BIOS видеокарты.

TheMixa ★★★
()
Ответ на: комментарий от TheMixa

Позволю с вам не согласиться,точнее более ясно описать свою идею. Я не против того, что список доступных видережимов считывается из биос (прошивки) видеокарты, я это и написал выше, но информацию о доступных режимах монитора можно получить от самого монитора, есть даже на это стандарт, правда я сейчас не помню точного названия, поэтому биос видеокарты и выдает вам доступный список в соответствии с техническими возможностями монитора.

Это относится как к d-sub интерфейсу, так и к dvi.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

>но информацию о доступных режимах монитора можно получить от самого монитора, есть даже на это стандарт, правда я сейчас не помню точного названия, поэтому биос видеокарты и выдает вам доступный список в соответствии с техническими возможностями монитора.

EDID это называется, но оно само не выдается оно софтом запрашивается и анализируется. Еще раз говорю, по спецификации VESA список разрешений берется из BIOS и никак не зависит от монитора, какой список там будет такой и отдаст BIOS. На эту тему еще была утилитка для Intel915 чтобы подшаманить этот список прежде чем его fb-драйвер запросит.

TheMixa ★★★
()

С nvidia + nouveau такое не прокатывает. Тупо после выгрузки одного драйвера загрузка другого приводит к fuckапу c руганью в dmesg.

anonymous
()

С KMS заведется fglrx, но 3D будет медленное. Сделай два ядра в GRUB: одно с DRI (Direct Rendering Interface), а у него в подпунктах ATi Radeon, у него в подпунктах KMS (вкомпиль в ядро, чтобы в первую секунду загрузки работало, а не включилось на пятой с модулем). Другое ядро без ATi, можно даже без DRI (он не используется fglrx). Я сделал так. В качестве компромиссного варианта - DRI+ATI без KMS. Тогда ядро системы будет одно. Можно попробовать оставить KMS, но хитро настроить две строки загрузки так, чтобы одна загружала систему с KMS (для xf86-video-ati), другая с flamebuffer для fglrx. Попробуй, если хочешь.

Кроме ядер нужно предварительно изменить название модуля видео в xorg.conf и выполнить eselect opengl set ati/xorg/x11. Список доступных библиотек OpenGL выводится командой eselect opengl list.

В дистрибутиве на основе Gentoo, Sabayon, определение модуля ядра и нужной библиотеки OpenGL происходит автоматически. Попробуй посмотреть как там.

Wormik
()
Ответ на: комментарий от TheMixa

Теперь понятно, почему KNOPPIX в 2004-м автоматически определял, что для моего ЭЛТ-монитора идеально разрешение экрана 1024x768 и 85 герц, а не 1280x960 (максимальное), а на новом ЖК - 1280x1024 и 60 герц (хотя возможно и 75).

Wormik
()
Ответ на: комментарий от TheMixa

А с чего вы решили, что прошивка видеокарты сама не опрашивает подключенный монитор, а потом не отдает уже только те видеорежимы, которые поддерживает данный монитор.

Я уверен что это так, т.к. у меня сначала на рабочем месте стоял обычный жк монитора 5:4, с максимальным разрешением 1280x1024, максимальный видеорежим, который был доступен в тыблице, выводимой по vga=ask был как раз 1280x1024 32 bit, потом монитор был заменен на широкоформатный 16:10 с максимальным разрешением 1440x900 и о чудо, таблица изменилась, помимо стандартных режимов 5:4 появислись еще режимы 16:10 с максимальным 1440x900 32 bit.

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

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

>А с чего вы решили, что прошивка видеокарты сама не опрашивает подключенный монитор

Это вес абстракция. Расскажи на какой видюхе такое было? И точно ли это был vesafb а не intelfb/radeonfb итд? Я еще пойму если это матрица ноутбука по LVDS.

TheMixa ★★★
()
Ответ на: комментарий от TheMixa

Nvidia Geforce 7600 GT, использовался vesafb, первый монитор был подключен по d-sub, второй по dvi, и это не обстракция EDID и разрабатывался для того, чтобы видоекарта могла корректно выбирать режим работы с любым подключенным монитором.

kostik87 ★★★★★
()
Ответ на: комментарий от Wormik

>у него в подпунктах KMS (вкомпиль в ядро, чтобы в первую секунду загрузки работало, а не включилось на пятой с модулем)

пробовал. ядро загружается порядка 40-50 секунд. поэтому вынес модулем.

Как можно реализовать раннюю загрузку модуля fglrx? Чтобы сразу при старте ядра подхватывалось разрешение 1366х768 (удобнее текст в консоли + будет нормально работать plymouth). Если это реализовать - мне будет более чем достаточно.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от ekzotech

Я не знаю. Работаю в 640x480 (1024x768 выставлять лень). Либо загружаю открытый драйвер.

Wormik
()
Ответ на: комментарий от ekzotech

У меня это тоже было (долгая загрузка), это все потому что ты либо забыл установить radeon-ucode (без него в свободном драйвере 3D не работает), либо не добавил его в ядро (смотри гентушные wiki по radeon в поисковике).

Wormik
()
Ответ на: комментарий от ekzotech

Все равно долго грузится ядро, если в него «вшить» драйвер видеокарты. Или драйвер очень поздно будет подхватываться. Как можно слепить initrd в gentoo? В арче вшил модуль видеокарты в initrd - в результате драйвер видеокарты очень быстро загружался. Хочется такое же, но в генту.

ekzotech ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.