LINUX.ORG.RU

MGA G200e (Pilot BMC) и 1280х1024

 , g200e


1

1

Есть сабж (видеоядро BMC). Работает на 1024х768, хотелось бы заставить в 1280х1024 (по спекам - должен уметь в 24бит цвете).

В иксах при использовании mga - в логе часть режимов скрывается с сообщением mode requires too much memory bandwidth (доступен ммаксимум 1024x768@60, 75Гц уже нет - по спекам вплоть до 85Гц должно быть). По советам из интернетов пробовал форсировать 24бит фреймбуфер вместо 32бит - новые режимы не появились, но рендеринг начал тупить.

С mgag200 kms драйвером - все еще печальнее, ускорения как такового в принципе нет, в консоли - тормозит дико, и те же 1024х768.

Драйвер фреймбуфера для консоли не подгружается (идентификаторов устройства нет в списке поддерживаемого ним оборудования) - в принципе не особо критично хоть и неприятно (голую консоль особо не юзаю).

Собссно вопрос - кто-то с таким зверем сталкивался? Как их правильно готовить? Откатываться до иксов 1.12?

★★★★★

У меня никогда не было MGA, поэтому вслепую. Нельзя ли логи иксов на pastebin.com? Надо воочию посомтреть, что пишет. И при этом покажи какой xorg.conf соответствует этому логу. Без этого ничего нельзя сказать.

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

http://pastebin.com/yVNgbVxu

с форсированным 24бит фреймбуффером - http://pastebin.com/fpi7hRrn

конфиг - почти дефолтный, с мелкими правками по части девайсов ввода http://pastebin.com/kFPr9jYf

NiTr0 ★★★★★
() автор топика
Последнее исправление: NiTr0 (всего исправлений: 1)
Ответ на: комментарий от NiTr0

В лоб, попробуй форсировать 16bpp.

По советам из интернетов пробовал форсировать 24бит фреймбуфер вместо 32бит - новые режимы не появились, но рендеринг начал тупить.

Видел такое лет 5 назад, правда тогда режимы появились вместе с тормозами. 16bpp работал порезвее.

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

Между делом, пока я смотрю. У тебя карта не видит монитор. Скорее всего, плохой кабель. Соответственно, не может получить информацию о доступных режимах в мониторе. Вот попробуй-ка другой кабель VGA взять. Вдруг проблема сразу решится?

[  1001.940] (II) MGA(0): I2C bus "DDC P1" initialized.
[  1001.940] (II) MGA(0): I2C device "DDC P1:ddc2" registered at address 0xA0.
[  1001.948] (--) MGA(0): No DDC signal

и

[   910.335] (II) MGA(0): VESA VBE DDC read failed
Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от NiTr0

А режим он не выбирает, скорее всего, вот поэтому:

[   910.600] (II) MGA(0): Not using default mode "1280x1024" (hsync out of range)

Так как твой монитор не определяется, он устанавливает значения по умолчанию. Такие:

[   910.600] (II) MGA(0): Monitor0: Using hsync range of 31.50-48.00 kHz
[   910.600] (II) MGA(0): Monitor0: Using vrefresh range of 56.00-75.00 Hz

Вот этих диапазонов, видимо, не хватает. Вариант выхода из ситуации - вручную в xorg.conf прописать параметры твоего монитора. Думаю, должно заплясать. Или бери нормальный кабель.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

Вот этих диапазонов, видимо, не хватает. Вариант выхода из ситуации - вручную в xorg.conf прописать параметры твоего монитора. Думаю, должно заплясать.

Какой у тебя монитор? Модель. Гляну параметры.

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

17" LCD (вроде viewsonic какой-то), модель более точно скажу вечером.

Насчет DDC - по-моему это ругань на второй VGA порт (который у самого видеоядра есть, но физически его нет).

Кабель - китайский, но на других видяхе/мониторе работал нормально.

NiTr0 ★★★★★
() автор топика
Последнее исправление: NiTr0 (всего исправлений: 1)
Ответ на: комментарий от most-fucktum

Прикол в том, что карта - уже на плате есть. Тыкать в pci-e еще затычку - смысла не вижу.

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

А ну если карта онбоард, то ладно. Я то думал любовь к Матроксу. У меня две G450 в тумбочке, мог бы выслать за ради любви к Матроксу.

most-fucktum
()
Ответ на: комментарий от NiTr0

Нет, у тебя вообще нет строчек в выводе, которые говорят о том, что монитор обнаружен и параметры его получены. Видно же, что устанавливаются какие-то умолчательные параметры.

Кабель - китайский, но на других видяхе/мониторе работал нормально.

А как ты понимаешь, что кабель нормально работает? Он и будет всегда показывать. Он не в этой части плохой. Плохой он потому, что там в нем нет линий DDC внутри, а только видеосигналы. Это не дает возможности картам определить монитор. Таких кабелей пруд пруди.

17" LCD (вроде viewsonic какой-то), модель более точно скажу вечером.

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

Типа такого (тут я расширил возможности по горизонтальной развертке)

Section "Monitor"
  Identifier "<default monitor>"
  HorizSync 31.50-80
  VertRefresh 56-75
EndSection
Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Вместо Identifier "<default monitor>" можно еще попробовать Identifier "Monitor0"

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

Работает - т.е. режимы определяются нормально, нет левых режимов в списке. Подергаю еще разъемы/повызваниваю контакты...

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

Нет, не работает. Твои режимы в списке - это режимы VESA, которые иксы генерируют по умолчанию. Всегда генерируют. Чтобы пусто не было. И параметры монитора тоже по умолчанию. 48 кГц горизонталка не может быть у твоего монитора никак. У них минимум 80 кГц. Это определенно умолчательное значение. И я прикинул тут - его не хватит на 1280x1024.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от NiTr0

Имел ввиду - на другом монике/карте работают на этом шнуре.

Так работать-то будет (показывать). Но очень сильно зависит: на каком монике и на какой ОС. Если Windows, то она более широкую трактовку неопределившимся мониторам дает. В ней можно было установить 1280x1024 из списка стандартных режимов через настройку экрана. Драйвер при этом не накладывал слишком ограниченных предположений о мониторе. Просто если бы монитор не поддерживал режим, то он бы просто погас, написав, что частоты выше пределов. А потом можно возвратиться в прежний режим.

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

1600x1200, режимы все те что поддерживаются моником в списке, модель определялась...

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

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

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

Да проще для проверки дописать параметры монитора в xorg.conf. Сразу будет понятно, что дело в этом. Дело-то минутное.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

Ну мне шнурок-то лишний был таки нужен. Купил его, подкинул, результат - тот же: http://pastebin.com/SmBghK4w

И, похоже, DDC не поддерживается вообще:

[ 1032.344818] uvesafb: Matrox, MGA-G200, 00, OEM: Matrox Graphics Inc., VBE v3.0
[ 1032.413282] uvesafb: VBIOS/hardware doesn't support DDC transfers
[ 1032.413285] uvesafb: no monitor limits have been set, default refresh rate will be used
[ 1032.413402] uvesafb: scrolling: redraw
[ 1032.463200] Console: switching to colour frame buffer device 80x30
[ 1032.463211] uvesafb: framebuffer at 0xb0000000, mapped to 0xffffc90012800000, using 7500k, total 8128k
[ 1032.463212] fb0: VESA VGA frame buffer device

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

uvesafb: VBIOS/hardware doesn't support DDC transfers

VBIOS может и не поддерживать, но драйвер MGA может поддерживать, работая с железкой напрямую, а не через прерывание BIOS int 10h. И видно же по логу, что устройство DDC им обнаружено. Значит, новый кабель тоже может быть дерьмовым. Прозвони-ка его. Должны быть соединены конт. 12 с 12, 15 с 15. Есть?

А вот иксовый MGA показывает, что функция поддерживается VESA VBE.

[   444.386] (II) MGA(0): VESA VBE DDC supported
[   444.386] (II) MGA(0): VESA VBE DDC Level none
[   444.386] (II) MGA(0): VESA VBE DDC transfer in appr. 0 sec.
[   444.460] (II) MGA(0): VESA VBE DDC read failed
Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 5)
Ответ на: комментарий от NiTr0

И попробуй в xorg.conf дописать и покажи лог после этого:

Section "Monitor"
  Identifier "<default monitor>"
  Option "PreferredMode" "1280x1024"
  HorizSync 31.50-80
  VertRefresh 56-75
EndSection
Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Zubok

Дописал параметры - режимы появились только для 16бит. 24бит, похоже, работать заставить не выйдет...

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

Вот пропиши настройку монитор, убери (закомментируй) все свои конфигурации карты, экранов (оставь только устройтсва ввода и моник) и показывай лог.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от NiTr0

Дописал параметры - режимы появились только для 16бит. 24бит, похоже, работать заставить не выйдет...

А вот поддержку 24 bpp (именно packed colour, а не 32 bpp), насколько я помню, во многом убрали из современных иксов. Я помню, что были какие-то разговоры в рассылке были именно про mga. Но это было после того, как дропнули XAA. Надо прочитать про эту карту. Вполне возможно, что у нее вообще есть физическое ограничение на пропускную способность в режиме 32 bpp, поэтому она автоматически будет выбирать 16 bpp, так как с 24 bpp могут быть проблемы. В принципе, тебе хватает памяти. У тебя 8 Мб, а для режима надо 1280*1024*4=5 Мб. Но карта может не захотеть. Надо спеки смотреть, что производитель говорит (ноута, компьютера или видеочипа). То есть это может быть не иксовая проблема, а карты. Когда я писал поддержку для s3, то она тоже умела packed colour поддержимать. И тогда у меня все работало, кроме 2D acceleration, так как в режиме 24 bpp ускорение не работало в самой железке. Только в 1,4,8,16,32. 24 bpp был хорош тем, что меньше памяти занимал.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 3)

Собссно вопрос - кто-то с таким зверем сталкивался? Как их правильно готовить? Откатываться до иксов 1.12?

А вот это примерно в правильном направлении. Насколько я знаю, mga не умеет EXA, а только XAA. А XAA уже не было в Xorg server 1.16, который у тебя. То есть драйвер хотьи пишет, что XAA будет использовать, но стандартного вывода, который сопровождает загрузку XAA нет. Вот как должно быть примерно (это лог FreeBSD):

[ 30104.327] (II) MGA(0): Using XFree86 Acceleration Architecture (XAA)
[ 30104.327]    Screen to screen bit blits
[ 30104.327]    Solid filled rectangles
[ 30104.327]    Solid filled trapezoids
[ 30104.327]    8x8 mono pattern filled rectangles
[ 30104.327]    8x8 mono pattern filled trapezoids
[ 30104.327]    Indirect CPU to Screen color expansion
[ 30104.327]    Screen to Screen color expansion
[ 30104.327]    Solid Lines
[ 30104.327]    Dashed Lines
[ 30104.327]    Scanline Image Writes
[ 30104.327]    Setting up tile and stipple cache:
[ 30104.327]            32 128x128 slots
[ 30104.327]            14 256x256 slots
[ 30104.327]            5 512x512 slots

И вот как DDC:

[ 30103.291] (II) MGA(0): I2C bus "DDC P1" initialized.
[ 30103.291] (II) MGA(0): I2C device "DDC P1:ddc2" registered at address 0xA0.
[ 30103.349] (II) MGA(0): I2C monitor info
[ 30103.349] (II) MGA(0): Manufacturer: ACI  Model: 22fa  Serial#: 16843009
[ 30103.349] (II) MGA(0): Year: 2010  Week: 52
[ 30103.349] (II) MGA(0): EDID Version: 1.3
[ 30103.349] (II) MGA(0): Analog Display Input,  Input Voltage Level: 0.700/0.300 V
[ 30103.349] (II) MGA(0): Signal levels configurable
[ 30103.349] (II) MGA(0): Sync:  Separate  Composite  SyncOnGreen
[ 30103.349] (II) MGA(0): Max Image Size [cm]: horiz.: 48  vert.: 27
[ 30103.349] (II) MGA(0): Gamma: 2.20
[ 30103.349] (II) MGA(0): DPMS capabilities: StandBy Suspend Off; RGB/Color Display
[ 30103.349] (II) MGA(0): Default color space is primary color space
[ 30103.349] (II) MGA(0): First detailed timing is preferred mode
[ 30103.349] (II) MGA(0): redX: 0.640 redY: 0.340   greenX: 0.290 greenY: 0.609
[ 30103.349] (II) MGA(0): blueX: 0.140 blueY: 0.069   whiteX: 0.313 whiteY: 0.329
[ 30103.349] (II) MGA(0): Supported established timings:
[ 30103.349] (II) MGA(0): 720x400@70Hz
[ 30103.349] (II) MGA(0): 640x480@60Hz
[ 30103.349] (II) MGA(0): 640x480@67Hz
[ 30103.349] (II) MGA(0): 640x480@72Hz
[ 30103.349] (II) MGA(0): 640x480@75Hz
[ 30103.349] (II) MGA(0): 800x600@56Hz
[ 30103.349] (II) MGA(0): 800x600@60Hz
[ 30103.349] (II) MGA(0): 800x600@72Hz
[ 30103.349] (II) MGA(0): 800x600@75Hz
[ 30103.349] (II) MGA(0): 832x624@75Hz
[ 30103.349] (II) MGA(0): 1024x768@60Hz
[ 30103.349] (II) MGA(0): 1024x768@70Hz
[ 30103.349] (II) MGA(0): 1024x768@75Hz
[ 30103.349] (II) MGA(0): 1280x1024@75Hz
[ 30103.349] (II) MGA(0): Manufacturer's mask: 0
[ 30103.349] (II) MGA(0): Supported standard timings:
[ 30103.350] (II) MGA(0): #0: hsize: 1152  vsize 864  refresh: 75  vid: 20337
[ 30103.350] (II) MGA(0): #1: hsize: 1280  vsize 1024  refresh: 60  vid: 32897
[ 30103.350] (II) MGA(0): #2: hsize: 1280  vsize 960  refresh: 60  vid: 16513
[ 30103.350] (II) MGA(0): #3: hsize: 1440  vsize 900  refresh: 60  vid: 149
[ 30103.350] (II) MGA(0): #4: hsize: 1600  vsize 1200  refresh: 60  vid: 16553
[ 30103.350] (II) MGA(0): #5: hsize: 1680  vsize 1050  refresh: 60  vid: 179
[ 30103.350] (II) MGA(0): #6: hsize: 1920  vsize 1080  refresh: 60  vid: 49361
[ 30103.350] (II) MGA(0): Supported detailed timing:
[ 30103.350] (II) MGA(0): clock: 148.5 MHz   Image Size:  531 x 299 mm
[ 30103.350] (II) MGA(0): h_active: 1920  h_sync: 2008  h_sync_end 2052 h_blank_end 2200 h_border: 0
[ 30103.350] (II) MGA(0): v_active: 1080  v_sync: 1084  v_sync_end 1089 v_blanking: 1125 v_border: 0
[ 30103.350] (II) MGA(0): Ranges: V min: 50 V max: 76 Hz, H min: 30 H max: 83 kHz, PixClock max 175 MHz
[ 30103.350] (II) MGA(0): Monitor name: VE228
[ 30103.350] (II) MGA(0): Serial No: ACLMQS042939
[ 30103.350] (II) MGA(0): EDID (in hex):
[ 30103.350] (II) MGA(0):       00ffffffffffff000469fa2201010101
[ 30103.350] (II) MGA(0):       341401031e301b78eec4f5a3574a9c23
[ 30103.350] (II) MGA(0):       115054bfef00714f818081409500a940
[ 30103.350] (II) MGA(0):       b300d1c00101023a801871382d40582c
[ 30103.350] (II) MGA(0):       4500132b2100001e000000fd00324c1e
[ 30103.350] (II) MGA(0):       5311000a202020202020000000fc0056
[ 30103.350] (II) MGA(0):       453232380a20202020202020000000ff
[ 30103.350] (II) MGA(0):       0041434c4d51533034323933390a00e0
[ 30103.350] (II) MGA(0): end of monitor info

При этом карточка ставит 32 bpp. Здесь тоже вроде g200, с 16 Мб памяти, хотя 8 Мб, как у тебя, должно хватать:

[ 30103.036] (==) MGA(0): Depth 24, (--) framebuffer bpp 32
Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Собссно вопрос - кто-то с таким зверем сталкивался? Как их правильно готовить? Откатываться до иксов 1.12?
А вот это примерно в правильном направлении. Насколько я знаю, mga не умеет EXA,

А вот и нифига. Знаю неправильно. Есть EXA у mga, но он не включается. Включи его явно Option «AccelMethod» «exa». Этот баг с EXA по умолчанию только этим летом поправили.

https://www.mail-archive.com/xorg-devel@lists.x.org/msg45836.html

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

Смотрел мануал - в 32бит 1280х1024 не умеет. Только в 24бит и ниже. Но в 24бит - дикие тормоза (отрисовка экрана занимает чуть ли не полсекунды).

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

Насчет того, что есть - в курсе. Попробую включить на досуге.

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

Смотрел мануал - в 32бит 1280х1024 не умеет. Только в 24бит и ниже. Но в 24бит - дикие тормоза (отрисовка экрана занимает чуть ли не полсекунды).

А как именно это написано и где? Дело в том, что под 32 бит может иметься в виду формат ARGB. Но старые карты не поддерживали A. Например, s3, которой я занимался, не поддерживала 32 бит цвет (с прозрачностью), а только RGB, но при этом у нее был режим фреймбуфера (не путать с глубиной цвета) и 24 bpp (надо специальной опцией в xorg.conf или сервера включать), и 32 bpp. При этом 32 bpp - это формат X.R.G.B, где X - просто не использовалось. Вот я что-то сомневаюсь, что Matrox не поддерживает, раз карта 96-го года поддерживала, так как лог у людей в FreeBSD опровергает это.

Просто фишка в чем. В документации может быть написано, что поддержтивает 24 бит цвет . Это ты и в man intel, например, прочтешь, но формат фреймбуфера при этом 32 bpp. Есть некоторая путанница в опрелениях:

DESCRIPTION
       intel  is  an  Xorg driver for Intel integrated graphics chipsets.  The
       driver supports depths 8, 15, 16 and 24.

Вот где это написано было? И что пишет лог без твоих настроек в xorg.conf, а только с монитором? Что он сам выбирает? Как бы посмотерть?

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 4)
Ответ на: комментарий от NiTr0

Но в 24бит - дикие тормоза (отрисовка экрана занимает чуть ли не полсекунды).

Это может быть последствие отсутствия ускорения. Вариантов два для 1.16: включить EXA или включаить программное 2D-ускорение опцией Option «shadowFB» «on». Если ускорение EXA включилось, то это можно увидеть в логе - он отрапортует, какие операции (Solid, Copy, и т . д.) он поддерживает. Если вообще ничего не напишет, то ускорение не включилось и, наверное, из-за бага, что я выше отыскал. То есть он вообще считает, что ускорения нет еще на этапе ./configure и не компилирует этот код. Тогда жопа. Но не знаю, имеет ли место этот баг. Ну, может, еще попробовать добавить опцию Option «NoAccel» «off» явно.

Но shadowFB всегда можно включить. Будет медленнее, чем аппаратное ускорение, но при быстром процессоре и DMA может оказаться даже неотличимым.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от NiTr0

логи я прикладывал - DDC не работает потому все печально.

Не, дело не в DDC. В самый последний раз я попросил логи, которые получаются, если в xorg.conf сделать следующее:

1. Вставить секцию monitor отсюда: MGA G200e (Pilot BMC) и 1280х1024 (комментарий)

2. Закомментировать в xorg.conf все остальные секции.

Вот мне интересно, какой режим и глубину framebuffer драйвер выберет автоматически. 24 bpp он точно сам не выберет, так как выбор packed colour делается специальной опцией и автоматически никогда не выбирается. Если ничего не покажет, то все равно лог интересен.

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

Попробую таки форсировать 24бит значит + переключиться в ЕХА...

Это надо попробовать тоже:

Варианты такие:

1. Аппаратное 2D-ускорение:

Section "Device"
  Identifier "MGA G200e"
  Driver "mga"
  Option "NoAccel" "false"
  Option "AccelMethod" "exa"
EndSection

Проверить лог на предмет включения EXA в режиме 24 bpp. Но может быть, что не включит. Тогда еще вариант

2. Программное ускорение

Section "Device"
  Identifier "MGA G200e"
  Driver "mga"
  Option "NoAccel" "false"
  Option "shadowFB" "true"
EndSection
Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от NiTr0

А вот тут такой же девайс стоит, но режим 1280x1024 32bpp есть. http://www.supermicro.com.tr/IPMI.cfm.htm Где-то нестыковка. Может, буковка e что-то значит? А вот у тебя видеопамяти 8 Мб. А можно ее через BIOS (или что там есть?) ее увеличить до 16, например?

Насколько я понимаю, размер памяти тоже влиет. Видел тут тексты с намеками, что 8 Мб версия только hicolor поддерживает на 1280x1024. Сейчас гляну исходники драйвера.

И вот тут пункт 10.3 намекает, что 24 - цвет и 32 - ферймбуфер вроде как на 1280x1024 должны быть (я уже боюсь утвердительно говорить). Даже конфиги есть.

ftp://ftp.grnet.gr/pub/XFree86/4.1.0/doc/HTML/DRI10.html

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 3)
Ответ на: комментарий от Zubok

Увеличить нельзя (как и вообще изменить настройки видео).

Пробовал устанавливать 24 цвет и 32 фреймбуффер как по ссылке принудительно - бесполезно: http://pastebin.com/ErP1t25w

24/24 - тупит дико хотя вроде нужное разрешение выставляется.

И, похоже, EXA в драйвере таки нет.

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

NiTr0 ★★★★★
() автор топика
Последнее исправление: NiTr0 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.