пятница, 3 января 2014 г.

Телевизор и Kubuntu

Решаем проблемы с разрешением экрана, при подключении телевизора к ПК. Или как добавить в телевизор нужное разрешение экрана...


Согласитесь, глупо описывать преимущество большого экрана перед маленьким. Ведь чем больше экран, тем больше впечатлений от просмотра фильма или видео. Домашний кинотеатр стал очень популярным направлением в современном мире - это факт и спорить об этом нет смысла.
Медиаплееры встроенные в ПО современных телевизоров не всегда могут воспроизвести все форматы мультимедиа файлов и подключение телевизора к ПК является хорошей альтернативой, с  множеством кодеков и различных плееров...
Но что же делать, если допустимое разрешения экрана телевизора не совпадает с разрешением экрана монитора/ноутбука? Будем настраивать xorg.conf, отвечу я вам!
И прежде чем приступить, я должен вас предупредить:
  • Внимательно ознакомьтесь с техническими характеристиками телевизора - максимальное разрешение экрана, вертикальная и горизонтальная частоты развертки, порты подключения к ПК
  • Свяжитесь с производителем телевизора и узнайте о допустимых разрешениях экрана для вашего телевизора
  • Не ставьте разрешение экрана выше, чем рекомендовано производителем
  • Статья несет рекомендательный характер - вы все делаете на свой риск и страх
Я буду описывать конкретно свой случай, потому как множество телевизоров, видеокарт, мониторов и ноутбуков не реально охватить в одной статье.
Используемое оборудование:
  • Телевизор - 39 дюймов с разрешением экрана 1920х1080 60 Гц
  • Ноутбук - 17 дюймов с разрешением экрана 1600х900 60 Гц
  • Кабель HDMI для подключение телевизора к ноутбуку
  • Видеокарта - встроенная Intel HD4000

При первом подключении к ноутбуку телевизор определился и стал работать в своем родном разрешение 1920х1080, но в режиме продолжения экрана. Конечно это неудобно, учитывая соотношение диагонали экрана ноутбука (17') и телевизора (39').


А в режиме клонирования совпало только 1360х768 на обоих экранах, что тоже не удобно из-за размытости картинки и уменьшения рабочего пространства.
Определенно, нужно добавить родное разрешение  экрана ноутбука, а именно 1600х900, чем мы и займемся.


Создаем xorg.conf

У вас будут другие названия и разрешения экрана, а так же соотношение сторон и вы сами должны подставлять нужные вам значения. Будьте внимательны и осторожны при конфигурировании.

Для проприетарных драйверов NVIDIA (nvidia):
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.old 

sudo nvidia-xconfig

Для проприетарных драйверов AMD (fglrx):
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.old
sudo amdconfig --initial -f

Для открытых драйверов intel, radeon, nouveau и других:
Ctrl+Alt+F1
sudo service lightdm stop
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.old
sudo Xorg -configure
sudo mv ~/xorg.conf.new /etc/X11/xorg.conf
sudo reboot

Проприетарные драйверы


Если вы используете проприетарные драйвер AMD(fglrx), то можете самостоятельно добавить нужное разрешение экрана, запустив Catalyst Control Center:
sudo amdcccle


Если вы используете проприетарные драйвер NVIDIA(nvidia), то можете самостоятельно добавить нужное разрешение экрана, запустив Nvidia Settings:
sudo nvidia-settings


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

Открытые драйверы


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

Узнаем интерфейсы подключения командой:
xrandr


Как видно выше, у меня подключено два дисплея:
  • LVDS1 - ноутбук
  • HDMI1 - телевизор
Узнаем modeline(параметры) для дисплея:
gtf 1600 900 60

Где:
  • gtf - утилита для генерации modeline
  • 1600 - горизонтальное разрешение
  • 900 - вертикальное разрешение
  • 60 - частота вертикального обновления
Мы получили нужные параметры modeline, а именно: 
Modeline "1600x900_60.00"  119.00  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync

Теперь вписываем полученные данные в файл настроек X-сервера:
sudo kate /etc/X11/xorg.conf


В xorg.conf все параметры разделены на секции (Section) и подсекции (SubSection), в которых указаны дополнительные параметры и опции. Я буду указывать только необходимые параметры для добавления нужного разрешения экрана, потому три точки (...) означает как пропуск опций, дабы вас не запутать. Предложение со знаком решетки (#) является комментарием для вашего удобства, вписывать его в xorg.conf необязательно.
Прописываем/изменяем нужные параметры в каждой секции:

Section "ServerLayout"
...

#Дисплей монитора
    Screen      0  "Screen0" 0 0

#Дисплей телевизора
    Screen      1  "Screen1" 0 0

...
Section "Monitor"
#Идентификатор монитора
    Identifier   "monitor0"

#Ваше значение modeline
    Modeline "1600x900_60.00"  119.00  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync

#Опция предпочитаемого разрешения экрана
    Option    "PreferredMode"    "1600x900_60.00"
EndSection

...
Section "Monitor"

#Идентификатор телевизора
    Identifier   "monitor1"

#Ваше значение modeline
    Modeline "1600x900_60.00"  119.00  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync

#Опция предпочитаемого разрешения экрана
    Option    "PreferredMode"    "1600x900_60.00"
EndSection

...
Section "Device"
#Индификатор видеокарты(прописывается автоматически)
    Identifier  "Card0"
#Используемый драйвер
    Driver      "intel"

#Слот подключения(прописывается автоматически)
    BusID       "PCI:0:2:0"

#Указываем тип подключения для монитора, полученного ранее в xrandr
    Option      "monitor-LVDS1" "Monitor0"

#Указываем тип подключения для телевизора, полученного ранее в xrandr
    Option      "monitor-HDMI1" "Monitor1"

EndSection
...
Section "Screen"
#Идентификатор монитора
    Identifier "Screen0"

#Используемая видеокарта
    Device     "Card0"

#Имя монитора(не столь важно)
    Monitor    "Monitor0"
    SubSection "Display"

#Вывод
        Viewport   0 0

#Глубина цвета
        Depth     24

#Нужное разрешение экрана
        Modes      "1600x900_60.00"
    EndSubSection
EndSection

...
Section "Screen"
#Идентификатор телевизора
    Identifier "Screen1"

#Используемая видеокарта
    Device     "Card0"

#Имя телевизора(не столь важно)
    Monitor    "Monitor1"
    SubSection "Display"

#Вывод
        Viewport   0 0

#Глубина цвета
        Depth     24

#Нужное разрешение экрана
        Modes      "1600x900_60.00"
    EndSubSection
EndSection

Файл целиком.
Сохраняем документ и перезагружаем компьютер. Теперь в параметрах настройки экрана должно появится новое нужное нам разрешение экрана.


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


Замечу, что иногда нужно указать дополнительные опции, такие как вертикальная и горизонтальная частота обновления, соотношение сторон и прочее... Здесь уже все зависит от конкретных видеокарт, драйверов, телевизоров, мониторов и т.д.
Дополнительные материалы по настройке Xorg вы можете посмотреть здесь.

Комментариев нет:

Отправить комментарий