Bug 17773

Summary: X autoconfiguration problems
Product: Branch 4.1 Reporter: enp <enp>
Component: alterator-x11Assignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED WONTFIX QA Contact: qa-4.1 <qa-4.1>
Severity: normal    
Priority: P2 CC: boyarsh, d.g.samsonenko, mike, shrek, slazav
Version: unspecified   
Hardware: all   
OS: Linux   

Description enp 2008-11-03 20:41:01 MSK
На многих конфигурациях, на которых в M40 нормально определялось максимальное разрешение, в M41 получалось 800х600 если не хуже. Например:

http://lists.altlinux.org/pipermail/hardware/2008-November/014065.html
http://lists.altlinux.org/pipermail/desktop/2008-October/014394.html
Comment 1 Michael Shigorin 2008-11-03 20:48:25 MSK
Возможно, это межглючное взаимодействие (tm) xorg и alterator-x11: в расчёте на то, что первый сделает всё сам как надо, второй был обрезан по части прописывания герцовок.
Comment 2 Denis G. Samsonenko 2008-11-09 13:04:17 MSK
Не уверен, что сюда, но в community@ сказали присоединиться к списку пострадавших. :)

Процитирую просто своё письмо в community@:

Вот наконец собрался задать вопрос, который у меня возник ещё в тот
момент, когда я обновил на двух машинах ALD4.0 на ALD4.1. Обе машины
несут на ботру AMD64 X2, материнскую плату на чипсете nVidia (видео GF
6150), и мониторы у обоих LCD (на одном 17", на другом 19").

Речь пойдёт о странностях xorg в выборе видеорежимов.

Первое, что я заметил, это то, что после обновления основное
разрешение экрана для моих мониторов 1280x1024 стало теперь с частотой
60 Гц, вместо 75 Гц. Раньше было 75 Гц.

Вторая странность связана с тем, что при переходе на разрешение
800x600 (в играх, или по Ctrl Alt +/-), монитор стал мне выдавать, что
частоты режима лежат вне допустимого диапазона: 81кГц на 65 Гц. Раньше
такого не было.

Обе неприятности я исправил, прописав в xorg.conf в Modes 1280x1024_75
и 800x600_75 вместо прежних 1280x1024 и 800x600.

Надо ещё сказать, что конфигуратор, определяющий мою видеокарту и
монитор во вновь создаваемом xorg.conf в секции Screen, подсекции
Display в Modes прописал мне кучу видеорежимов, половина из которых
отсекалась xorg'ом как недопустимых, что было видно в логах. В итоге
мне пришлось вручную зачистить не работающие разрешения в xorg.conf,
после чего остались только следующие (с учётом правки по предыдущему
пункту):

Modes    "1280x1024_75" "1280x960" "1280x800" "1280x768" "1280x720"
"1152x864" "1024x768" "832x624" "800x600_75" "640x480"

С чем может быть связан такой регресс при переходе от ALD4.0 к ALD4.1?
Comment 3 Vladislav Zavjalov 2008-11-10 14:20:21 MSK
Как раз в этом месте идеологически ничего не менялось с 4.0.

Название монитора определяется с помощью ddcprobe, затем по специальной табличке (/usr/share/alterator-x11/monitors) ищутся частоты и прописываются в xorg.conf...

Что у вас говорит /usr/sbin/ddcprobe ?
Что говорит /usr/lib/alterator-x11/monscan ?
Что записывается в xorg.conf ?

Максимальный режим берется из того же ddcprobe, прописываются все режимы из таблички /usr/share/alterator-x11/resolutions меньшие, чем найденный, в надежде, что xorg сам откинет ненужные...
Comment 4 Denis G. Samsonenko 2008-11-10 15:38:38 MSK
Привожу сведения по системе, что стоит на работе. Там бранч-4.1. На домашнем компе проверю, как до дому доберусь.

> Что у вас говорит /usr/sbin/ddcprobe ?

vbe: VESA 3.0 detected.
oem: NVIDIA
vendor: NVIDIA Corporation
product: Crush50 Board - c51nbp0 Chip Rev
memory: 32768kb
8bit: 640x400 640x480 800x600 1024x768 1280x1024
16bit:
24bit: 320x200 640x480 800x600 1024x768 1280x1024
32bit: 320x200 640x480 800x600 1024x768 1280x1024
edidfail

> Что говорит /usr/lib/alterator-x11/monscan ?

Ничего не говорит.

> Что записывается в xorg.conf ?

На каком этапе должно записываться? Запустил config-x11, он определил, что у меня nVidia, но вот монитор похоже не определил. Хотя разрешение выставил 1280x1024, как и должно быть. Но при этом частота 60 Гц.

Вот получившийся xorg.conf:

# With libXiconfig we don't need configuration for
# ps and usb mice.
# For serial mice we will set up all serial devices.
#
# Composite is not yet stable on even major drivers;
# uncomment to enable
#Section "Extensions"
#       Option      "RENDER" "Enable"
#       Option      "Composite" "Enable"
#EndSection

Section "ServerLayout"
        Identifier     "Minimal layout"
        Screen         "Screen0" 0 0
EndSection

Section "Module"
        Load  "freetype"
        Load  "glx"
        Load  "dri"
        Load  "dbe"
        SubSection "extmod"
                Option      "omit xfree86-dga"
        EndSubSection
EndSection

Section "ServerFlags"
        Option      "AutoAddDevices" "true"
        Option      "AllowMouseOpenFail" "true"
        Option      "AIGLX" "true"
EndSection

Section "InputDevice"
        Identifier  "/dev/ttyS0"
        Driver      "mouse"
        Option      "Device" "/dev/ttyS0"
        Option      "Protocol" "microsoft"
EndSection

Section "Monitor"
        Identifier   "Monitor0|0"
EndSection

Section "Device"
        Identifier  "Card0|0"
        Driver      "nvidia"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0|0"
        Monitor    "Monitor0|0"
        DefaultDepth     24
        SubSection "Display"
                Depth     8
        EndSubSection
        SubSection "Display"
                Depth     15
        EndSubSection
        SubSection "Display"
                Depth     16
        EndSubSection
        SubSection "Display"
                Depth     24
        EndSubSection
        SubSection "Display"
                Depth     32
        EndSubSection
EndSection

Section "DRI"
        Group        "xgrp"
        Mode         0660
EndSection

Если вручную выбрать модель монитора, но не выбирать разрешение (оставить автоматически), то в получающемся xorg.conf такие изменения:

...
Section "Monitor"
        Identifier   "Samsung SyncMaster 940T/940B/940Fn(Digital)|0"
        HorizSync    30.0 - 81.0
        VertRefresh  56.0 - 75.0
EndSection
...
Section "Screen"
        Identifier "Screen0"
        Device     "Card0|0"
        Monitor    "Samsung SyncMaster 940T/940B/940Fn(Digital)|0"
        DefaultDepth     24
        SubSection "Display"
                Depth     8
        EndSubSection
        SubSection "Display"
                Depth     15
        EndSubSection
        SubSection "Display"
                Depth     16
        EndSubSection
        SubSection "Display"
                Depth     24
        EndSubSection
        SubSection "Display"
                Depth     32
        EndSubSection
EndSection
...

Если же ещё и выбрать разрешение (1280x1024), то получается следующее:

Section "Screen"
        Identifier "Screen0"
        Device     "Card0|0"
        Monitor    "Samsung SyncMaster 940T/940B/940Fn(Digital)|0"
        DefaultDepth     24
        SubSection "Display"
                Depth     8
                Modes    "1280x1024" "1280x960" "1280x854" "1280x800" "1280x768" "1280x720" "1152x870" "1152x864" "1120x840" "1024x768" "1024x736" "1024x600" "960x720" "848x480" "832x624" "800x600" "720x576" "640x480"
        EndSubSection
        SubSection "Display"
                Depth     15
                Modes    "1280x1024" "1280x960" "1280x854" "1280x800" "1280x768" "1280x720" "1152x870" "1152x864" "1120x840" "1024x768" "1024x736" "1024x600" "960x720" "848x480" "832x624" "800x600" "720x576" "640x480"
        EndSubSection
        SubSection "Display"
                Depth     16
                Modes    "1280x1024" "1280x960" "1280x854" "1280x800" "1280x768" "1280x720" "1152x870" "1152x864" "1120x840" "1024x768" "1024x736" "1024x600" "960x720" "848x480" "832x624" "800x600" "720x576" "640x480"
        EndSubSection
        SubSection "Display"
                Depth     24
                Modes    "1280x1024" "1280x960" "1280x854" "1280x800" "1280x768" "1280x720" "1152x870" "1152x864" "1120x840" "1024x768" "1024x736" "1024x600" "960x720" "848x480" "832x624" "800x600" "720x576" "640x480"
        EndSubSection
        SubSection "Display"
                Depth     32
                Modes    "1280x1024" "1280x960" "1280x854" "1280x800" "1280x768" "1280x720" "1152x870" "1152x864" "1120x840" "1024x768" "1024x736" "1024x600" "960x720" "848x480" "832x624" "800x600" "720x576" "640x480"
        EndSubSection
EndSection

При этом всё время получается 60 Гц на 1280x1024, хотя монитор держит 75 Гц.

Вот мой xorg.conf, оставшийся после 4.0 (я только добавил _75 к режиму 1280x1024 после обновления до 4.1, да ещё добавил опции RandRRotation и DynamicTwinView):

Section "ServerLayout"
        Identifier     "Minimal layout"
        Screen         "Screen0" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "ImPS/2 Logitech Wheel Mouse|0" "CorePointer"
EndSection

Section "Module"
        Load  "freetype"
        Load  "glx"
        Load  "dri"
        Load  "dbe"
        SubSection "extmod"
                Option      "omit xfree86-dga"
        EndSubSection
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "ImPS/2 Logitech Wheel Mouse|0"
        Driver      "mouse"
        Option      "Device" "/dev/input/mice"
        Option      "Protocol" "IMPS/2"
        Option      "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
        Identifier   "Samsung SyncMaster 940T/940B/940Fn(Digital)|0"
        HorizSync    30.0 - 81.0
        VertRefresh  56.0 - 75.0
EndSection

Section "Device"
        Identifier  "Card0|0"
        Driver      "nvidia"
        Option      "RandRRotation" "true"
        Option      "DynamicTwinView" "false"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0|0"
        Monitor    "Samsung SyncMaster 940T/940B/940Fn(Digital)|0"
        DefaultDepth     24
        SubSection "Display"
                Depth     8
                Modes    "1280x1024_75" "1280x960" "1280x800" "1280x768" "1280x720" "1152x864" "1024x768" "832x624" "800x600" "640x480" "320x240"
        EndSubSection
        SubSection "Display"
                Depth     15
                Modes    "1280x1024_75" "1280x960" "1280x800" "1280x768" "1280x720" "1152x864" "1024x768" "832x624" "800x600" "640x480" "320x240"
        EndSubSection
        SubSection "Display"
                Depth     16
                Modes    "1280x1024_75" "1280x960" "1280x800" "1280x768" "1280x720" "1152x864" "1024x768" "832x624" "800x600" "640x480" "320x240"
        EndSubSection
        SubSection "Display"
                Depth     24
                Modes    "1280x1024_75" "1280x960" "1280x800" "1280x768" "1280x720" "1152x864" "1024x768" "832x624" "800x600" "640x480" "320x240"
        EndSubSection
        SubSection "Display"
                Depth     32
                Modes    "1280x1024_75" "1280x960" "1280x800" "1280x768" "1280x720" "1152x864" "1024x768" "832x624" "800x600" "640x480" "320x240"
        EndSubSection
EndSection

Section "DRI"
        Group        "xgrp"
        Mode         0660
EndSection
Comment 5 enp 2008-11-10 15:51:14 MSK
> Что говорит /usr/lib/alterator-x11/monscan ?

Ничего. В этом, получается, и проблема - то, что раньше определялось само (или можно было явно не указывать?), нужно теперь не забывать выбирать из комбобокса ;)
Comment 6 Denis G. Samsonenko 2008-11-10 15:55:54 MSK
(In reply to comment #5)
> > Что говорит /usr/lib/alterator-x11/monscan ?
> 
> Ничего. В этом, получается, и проблема - то, что раньше определялось само (или
> можно было явно не указывать?), нужно теперь не забывать выбирать из
> комбобокса ;)

Даже если и выбрать всё вручную, всё равно частота развёртки получается 60 Гц, пока ему явно в xorg.conf 75 не пропишешь.
Comment 7 Vladislav Zavjalov 2008-11-10 16:11:08 MSK
ddcprobe про ваш монитор не сказал ничего! Отсюда все и пошло...

То есть что-то изменилось либо в мониторе, либо пакете ddcprobe
Comment 8 Vladislav Zavjalov 2008-11-10 16:23:29 MSK
> Даже если и выбрать всё вручную, всё равно частота развёртки получается 60
> Гц, пока ему явно в xorg.conf 75 не пропишешь.

Странно. У меня при выборе вручную через интерфейс прописывает 75:

Section "Monitor" 
        Identifier   "Samsung SyncMaster 940T/940B/940Fn(Digital)|0" 
        HorizSync    30.0 - 81.0 
        VertRefresh  56.0 - 75.0 
EndSection 
Comment 9 Denis G. Samsonenko 2008-11-10 16:58:28 MSK
Пропитывать-то пропитывает, он xorg все равно стартует с 60-ю герцами вместо 75. Только когда в Modes 1280x1024_75 пропитываешь, только тогда реально получаешь 75 Гц на мониторе.
Comment 10 Denis G. Samsonenko 2008-11-10 21:05:52 MSK
Вот сведения для домашнего компа (тут ALD4.1):

> Что у вас говорит /usr/sbin/ddcprobe ?

vbe: VESA 3.0 detected.
oem: NVIDIA
vendor: NVIDIA Corporation
product: Crush50 Board - c51pv0 Chip Rev
memory: 32768kb
8bit: 640x400 640x480 800x600 1024x768 1280x1024
16bit:
24bit: 320x200 640x480 800x600 1024x768 1280x1024
32bit: 320x200 640x480 800x600 1024x768 1280x1024
edid: 1 3
id: 438d
eisa: GSM438d
serial: 0000fb9d
manufacture: 9 2004
input: separate sync, composite sync, sync on green, analog signal.
screensize: 34 27
gamma: 2.200000
dpms: RGB, active off, suspend, standby
timing: 720x400@70 Hz (VGA 640x400, IBM)
timing: 640x480@60 Hz (VGA)
timing: 640x480@75 Hz (VESA)
timing: 800x600@60 Hz (VESA)
timing: 800x600@72 Hz (VESA)
timing: 800x600@75 Hz (VESA)
timing: 1024x768@87 Hz Interlaced (8514A)
timing: 1024x768@70 Hz (VESA)
timing: 1024x768@75 Hz (VESA)
ctiming: 640x480@75
ctiming: 800x600@75
ctiming: 1024x768@75
ctiming: 1280x1024@60
modeline: "1280x1024@60" 108.00 1280 1328 1440 1688 1024 1027 1028 1066 -hsync -vsync
horizsync: 30-83
vertrefresh: 56-75
monitorname: L1730S
monitorname:

> Что говорит /usr/lib/alterator-x11/monscan ?

LG L1730S

> Что записывается в xorg.conf ?

config-x11 мне сгенерил следующий xorg.conf:

# With libXiconfig we don't need configuration for
# ps and usb mice.
# For serial mice we will set up all serial devices.
#
# Composite is not yet stable on even major drivers;
# uncomment to enable
#Section "Extensions"
#       Option      "RENDER" "Enable"
#       Option      "Composite" "Enable"
#EndSection

Section "ServerLayout"
        Identifier     "Minimal layout"
        Screen         "Screen0" 0 0
        InputDevice    "/dev/ttyS0" "CorePointer"
EndSection

Section "Module"
        Load  "freetype"
        Load  "glx"
        Load  "dri"
        Load  "dbe"
        SubSection "extmod"
                Option      "omit xfree86-dga"
        EndSubSection
EndSection

Section "ServerFlags"
        Option      "AutoAddDevices" "true"
        Option      "AllowMouseOpenFail" "true"
EndSection

Section "InputDevice"
        Identifier  "/dev/ttyS1"
        Driver      "mouse"
        Option      "Device" "/dev/ttyS1"
        Option      "Protocol" "microsoft"
EndSection

Section "InputDevice"
        Identifier  "/dev/ttyS0"
        Driver      "mouse"
        Option      "Device" "/dev/ttyS0"
        Option      "Protocol" "microsoft"
EndSection

Section "Monitor"
        Identifier   "LG L1730S|0"
        DisplaySize  340        270
        HorizSync    30.0 - 83.0
        VertRefresh  56.0 - 75.0
EndSection

Section "Device"
        Identifier  "Card0|0"
        Driver      "nvidia"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0|0"
        Monitor    "LG L1730S|0"
        DefaultDepth     24
        SubSection "Display"
                Depth     8
                Modes    "1280x1024" "1280x960" "1280x800" "1280x768" "1280x720" "1152x864" "1024x768" "832x624" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth     15
                Modes    "1280x1024" "1280x960" "1280x800" "1280x768" "1280x720" "1152x864" "1024x768" "832x624" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth     16
                Modes    "1280x1024" "1280x960" "1280x800" "1280x768" "1280x720" "1152x864" "1024x768" "832x624" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth     24
                Modes    "1280x1024" "1280x960" "1280x800" "1280x768" "1280x720" "1152x864" "1024x768" "832x624" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth     32
                Modes    "1280x1024" "1280x960" "1280x800" "1280x768" "1280x720" "1152x864" "1024x768" "832x624" "800x600" "640x480"
        EndSubSection
EndSection

Section "DRI"
        Group        "xgrp"
        Mode         0660
EndSection

При этом опять же основной режим 1280x1024 у меня получается 60 Гц, вместо 75 Гц. А режим 800x600 вообще выдаёт 65 Гц (судя по ругани монитора на чёрном экране). Приходится прописывать в Modes режимы "1280x1024_75" и "800x600_75", чтобы в первом случае получить 75 Гц, а во втором случае вообще получить изображение на экране.
Comment 11 inger@altlinux.org 2008-11-11 10:42:40 MSK
Насчёт частот стоит спросить мантейнера xorg ибо modelines прописаны внутри xorg-server.


Comment 12 Michael Shigorin 2014-11-05 20:41:11 MSK
В 4.1/branch исправления не будут вноситься уже технически (заглушена очередь на сборку), поэтому прошу ошибки, актуальные для sisyphus/p7/t7, перевесить на текущие ветки или сизиф.