LinuxForum.Fans
Тема

Настройка Xorg под SuSE-12.1 на разрешение экрана 1920x1200

Автор: stankidv 10 сообщений 10863 просмотров
#220682

Свежеустановленная ситсема SuSE-12.1 (без установки дров от nvidia из репозитория сообщества "[url]ftp://download.nvidia.com/opensuse/12.1/[/url]") не правильно определила максимальное разрешение моего монитора Samsung SyncMaster SA450 (который поддерживает 1920x1200) и предоставила мне экран размером 1280x1024 точек.

Ранее я работал в SuSE-11.0 и, по привычке, попытался исправить разрешение на 1920x1200 внеся изменения в файл "/etc/X11/Xorg.conf", но этот файл я не обнаружил, и обратил внимание, что сйществует директория "/etc/X11/xorg.conf.d/", которая теперь очевидно пршла на смену и содержит конфиги Xorg.

Далее, погуглив на тему linux и разрешения 1920x1200 я нашел такое решение:
Получаем пароаметры для строки Modeline конфигурации Xorg-а дав команду:
[console]# gtf 1920 1200 60[/console]
ее вывод дал:

text
> 1920x1200 @ 60.00 Hz (GTF) hsync: 74.52 kHz; pclk: 193.16 MHz
> Modeline "1920x1200_60.00"  193.16  1920 2048 2256 2592  1200 1201 1204 1242  -HSync +Vsync

теперь пишем скрипт со следующими строками (используя значения для Modeline из вывода предыдущей команды):

text
#!/bin/sh
xrandr --newmode "1920x1200_60" 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -HSync +Vsync
xrandr --addmode VGA-1 "1920x1200_60"
xrandr --output VGA-1 --mode "1920x1200_60"

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

Все бы хорошо но после перезагрузки монитор опять включился в режиме 1280x1024. Получается, что для переключения в режим 1920x1200 опять необходимо запускать скрипт, а это не удобно и нужно исправить. Поэтому путь на скрипт с командой "sh" я прописал в файле /etc/init.d/boot.local (я работаею в KDE и не нашел, как в Gnome, стандартную утилиту для авто-запуска приложений при запуске рабочего стола). При загрузке скрипт разрешение не переключил и, разобравшись, я понял, что из-за того, что команда "xrandr" выполняется только под исками, а файл "boot.local" отрабатывается до запуска иксов. Теперь решил пока пользоваться ручным запуском скрипта смены разрешения экрана поместив его на рабочий стол и запуская каждый раз после входа в десктоп KDE.

Решил попробовать другой способ, попробовав установив дрова nvidia из репозитория "[url]ftp://download.nvidia.com/opensuse/12.1/[/url]", но при запуске nvidia-setting я увидел, что максимальное разрешение, которое предлагает эта утилита это 1450x(что-то около 1000 - не помню точно) и вдобавок мой скрипт по смене разрешения перестал работать; выполнив его команды из командной строки я увидел, что команда "xrandr" выдает ошибку "xrandr: Failed to get size of gamma for output default". Выключив иксы и запустив из консоли команду "Xorg-conf" он заявил, что файл Xorg.conf не существует и сгенерировал его - Это очень странно, ведь я скачал пакет c Xorg-conf из репозитроия для SuSE-12.1 которая вродебы от него ушла перейдя на "xorg.conf.d"? Пробуя добавлять в сгенерированный Xorg.conf строку Modeline ни чего не дало. Теперь удалил Xorg.conf и пробовал добавлять Modeline в "/etc/X11/xorg.conf.d/50-monitor.conf" - также ни чего не вышло.

Пришлось удалить дрова установленные из репозитория "[url]ftp://download.nvidia.com/opensuse/12.1/[/url]" и опять пользоваться скриптом для переключения разрешения экрана.

Прошу помочь настроить Xorg на самостоятельное включение разрешения 1920x1200 сразу при старте иксов (то есть когда появляется запрос логина и до запуска десктопа) и ответить на такие вопросы:
1. Полностью ли в SuSE-12.1 ушли от конфигурационного файла "Xorg.conf" или он может использоваться на равне с конфигами из "xorg.conf.d", но кто из них тогла имеет больший приоритет?
2. Существует ли для KDE утилита (в Gnome то она есть), которая может запускать скрипт переключения разрешения монитора при входе в десктоп?
3. Существует ли возможность добавить разрешение 1920x1200 в список разрешений утилиты "nvidia-settings"?
4. Почему на равне с работающим скриптом по переключению разрешения (то есть с работающим Modeline-ом) не работают такие конфиги для "xorg.conf.d":

файл "/etc/X11/xorg.conf.d/50-device.conf"

text
Section "Device"
  Identifier "Default Device"
  Driver "nv"
EndSection

файл "/etc/X11/xorg.conf.d/50-monitor.conf"

text
Section "Monitor"
  Identifier   "Default Monitor"
  VendorName   "Unknown"
  ModelName    "Samsung SyncMaster"
  HorizSync    30.0 - 81.0
  VertRefresh  56.0 - 75.0
  Option "PreferredMode" "1920x1200"
  Modeline "1920x1200"  193.16  1920 2048 2256 2592  1200 1201 1204 1242  -HSync +Vsync
EndSection

файл "/etc/X11/xorg.conf.d/50-screen.conf"

text
Section "Screen"
  Identifier "Default Screen"
  Device "Default Device"
  Monitor "Default Monitor"
  DefaultDepth  24
  SubSection "Display"
    Depth 24
    Modes "1920x1200"
  EndSubSection

Заранее спасибо всем кто ответит ;-)

#220685
stankidv написал:
1. Полностью ли в SuSE-12.1 ушли от конфигурационного файла "Xorg.conf" или он может использоваться на равне с конфигами из "xorg.conf.d", но кто из них тогла имеет больший приоритет?

На сколько я знаю, записи в /etc/X11/xorg.conf имеют наивысший приоритет. Хотя обычно и там, и там по умолчанию пусто. Udev сам всё прекрасно схватывает.

stankidv написал:
2. Существует ли для KDE утилита (в Gnome то она есть), которая может запускать скрипт переключения разрешения монитора при входе в десктоп?

Зачем? Нужно прописать разрешение в xorg.conf или соответствующую директорию.

Показать
А вообще автозапуск делается так:
Кладёте скрипт в ~/.kde4/autostart (точного названия не помню, поскольку сейчас на xfce) и оно будет запускаться при запуске KDE. Но ИМХО, скрипт в данном случае не нужен вообще.

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

stankidv написал:
1920x1200 внеся изменения в файл "/etc/X11/Xorg.conf", но этот файл я не обнаружил

нужно было просто создать файл и внести в него соответствующую строку в соответствующую секцию. Всё писать не надо, только вывод gtf, остальное определится самостоятельно, согласно сделанным Вами настройкам.

В целом алгоритм такой:
1) удаляете свободный/проприетарный драйвер и ставите проприетарный/свободный;
2) оцениваете работу и решаете, какие функции Вам нужно включить/отключить;
3) прописываете эти функции (и только эти функции) в /etc/X11/Xorg.conf (к этому пункту как раз относится gtf)

Конечно, для проприетарного драйвера можно использовать nvidia-settings, но ИМХО без неё все определяется намного лучше, а необходимое всегда можно прописать в xorg.conf. То же, кстати, относится к конфигурированию карт от ATI. Сужу по работе с GeForce 6600 и ATI Radeon 2400XT, может с новыми картами лучше работает.

#221198

Спасибо Ranyar за ответ.

В директорию ~/.kde4/Autostart положил симлинк на скрипт и теперь все само переключается при логине, но хочется разобраться до конца, да и чтоб система железо научилась понимать без дополнительного скрипта.

Пробовал оставлять в системе только свободные/проприетарные дрова и строки с добавлением Modeline вставлял не только в файл "/etc/X11/xorg.conf.d/50-screen.conf", но и в "/etc/X11/Xorg.conf", а SuSE все равно и так и так игнорирует их, - ПОЧЕМУ???

text
Section "Monitor"
  Identifier   "Default Monitor"
  VendorName   "Unknown"
  ModelName    "Samsung SyncMaster"
  HorizSync    30.0 - 81.0
  VertRefresh  56.0 - 75.0
  Option "PreferredMode" "1920x1200"
  Modeline "1920x1200"  193.16  1920 2048 2256 2592  1200 1201 1204 1242  -HSync +Vsync
EndSection

Ведь синтаксис правильный, или я где ошибся/опечатался?

#233852

у меня проблема другого плана, выставил разрешение оптимальное на мой взгляд, но при перезагрузке машина повисает, opensuse 12.1 KDE, помогите решить

#233884

stankidv,
Пожалуйста, оформляйте темы используя теги форума, читать тяжело.

ilya_karachun написал:
выставил разрешение оптимальное на мой взгляд

Это какое? Телепатией мы тут уже давно не занимаемся...

ilya_karachun написал:
но при перезагрузке машина повисает, opensuse 12.1 KDE

Давайте всё же подробнее:
1. Какой драйвер стоит?
2. Пример скрипта и все выполняемые действия?
3. Какие режимы разрешения поддерживаются Вашим монитором?
4. Видеокарта какая?

#234236

хотелось бы изначально добавить, что работа предполагается на ЭЛТ мониторе

начну в обратном порядке

step_slim написал:
Видеокарта какая?

Unichrome интергашка

step_slim написал:
Какие режимы разрешения поддерживаются Вашим монитором?

xrandr выдает список из 6-7 строк, сейчас точнее не скажу ставлю на работе, в том числе и выбранный мной 1024х768х85

step_slim написал:
Пример скрипта и все выполняемые действия?

где посмотреть?


остальное не раньше понедельника
з.ы. поставил ГНОМ вроде все работает, но все же почему на кедах и xfce не срабатывает

#234245
ilya_karachun написал:
Unichrome интергашка

oO Ух ты, давно я этих карт не видел- Via... Так зачем тогда репазиторий Nvidia подключаете и пытаетесь драйвер из него собрать? oO
Вам немного иной танец произвести нужно, а именно:

Для сборки драйверов VIA Unichrome нам понадобятся:
Сами драйвера и библиотеки скачанные с http://unichrome.sourceforge.net, а именно следующие файлы:
unichrome-X-rXX.tar.gz - где ХХ - это номер релиза драйверов. Релиз берите самый последний. На момент выхода статьи последний релиз был равен 30.

opensource_ubranch_YYYYMMDD.tbz2 - где YYYYMMDD - это дата сборки.

Еще в Вашей системе должны быть установлены следующие пакеты:
gcc
automake
autoconf
flex
bison
libpng
libpng-devel
zlib
zlib-devel
kernel
kernel-devel
Если некоторые пакеты будут отсутствовать в поиске yast, опустите их.
Теперь приступаем к самому главному: сборке и установке всего этого добра. :-) Зайдите в систему под пользователем root и проделайте следующие шаги:
Сперва установим драйвера ядра.Ядро должно быть не ниже версии 2.4.х. Распакуйте файл via-YYYYMMDD-linux.i386.tar.bz2 в какой-нибудь каталог и запустите скрипт install.sh. Установка должна пройти автоматически, от Вас требуэться только нажимать Enter. :-) Если всё пройдет удачно, то драйвер будет установлен в /lib/modules/2.х.x/kernel/drivers/char/drm/. Зарегестрируйте драйвер выполнив команду: depmod -a.

Теперь внесём изменения в конфигурационный файл Х-ов. Переходим в каталог /etc/X11/ и открываем в любом редакторе файл xorg.conf.
Добавляем строки: Load "glx" и Load "dri" в секции Module. Далее описывает свойства драйвера видеокарты следующим образом:
Section "Device"
Identifier "VIA Unichrome"
Driver "via"
VendorName "VIA"
BoardName "Unichrome (KM400)"
Option "DisableIRQ"
Option "AllowInsecureDRI"
EndSection
Потом в секции Screen меняем значение Device {что-там у Вас} на Device "VIA Unichrome". Добавляем ещё одну секцию в любом месте файла для организации доступа к DRI:
Section "DRI"
Mode 0666
EndSection
Сохраняем файл, пляшем с бубном :-) и перезагружаем систему. Вот и всё! После этого, если всё прошло без ошибок, у Вас должна появиться поддержка 3D.

Инструкция старая, так что, проэксперементируйте, как она заведётся. Автор Юрий Винник (yurav AT ukwest.net) - VIA Unichrome в Linux smile

#234299

спасибо step_slim
хорошо что есть такие терпеливые к нам, чайникам, опытные люди

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

#234305


Сами драйвера и библиотеки скачанные с http://unichrome.sourceforge.net, а именно следующие файлы:
unichrome-X-rXX.tar.gz - где ХХ - это номер релиза драйверов. Релиз берите самый последний. На момент выхода статьи последний релиз был равен 30.

жаль но репозиторий не работает

#234520
ilya_karachun написал:
з.ы.: а можно не переставляя систему сменить оболочку (гнома на кеды, а лучше на  XFCE)

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

ilya_karachun написал:
жаль но репозиторий не работает

Репазиторий работает, смотрите ниже, а именно вот ссылка: http://sourceforge.net/projects/unichrome/files/xf86-video-unichrome/, единственное, что с 2006 года драйвер не разрабатывался, поэтому я написал ниже, что инструкция устарела, результат будет известен, после того, как Вы сами проведёте эксперимент...
Вот моя фраза:

step_slim написал:
Инструкция старая, так что, проэксперементируйте, как она заведётся.

Пробуйте и благодарить да не за что, как говорится- чем смог wink

Войдите или зарегистрируйтесь, чтобы ответить.