У драйверов для видеокарт AMD Radeon есть одна особенность, которая иногда приводит к тому, что в некоторых случаях изображение отображается не на весь экран, а немного уменьшено, что приводит к появлению чёрных рамок вокруг всего изображения по краям экрана. Один такой случай я и хочу описать в этой статье.
У меня это наблюдалось только при подключении по HDMI монитора и телевизора в 64-битной операционной системе Ubuntu Server разных версий, где в качестве оболочки выступал XBMC. В 64-битной десктопной Kubuntu разных версий такого не наблюдалось. В других условиях не проверял.
Первый способ решения проблемы состоит в том, чтобы зайти в настройки драйверов с помощью программы amdcccle, где в настройках монитора нужно изменить масштабирование на 100%. В моём случае оболочки для запуска amdcccle не нашлось, поэтому перейдём ко второму способу.
Второй способ решения проблемы состоит в том, чтобы выполнить команду:
- sudo aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0
Этот способ был использован, но не помог. Однако, у меня припасён ещё один.
Третий способ состоит в написании небольшого загрузочного скрипта. Создайте файл /etc/init.d/fglrxfix. Скопируйте в него следующий текст и сохраните:
- # FGLRX underscan fix
- #-----------------------------
- sed 's/Gxo50HzTimingSupport=V1/Gxo50HzTimingSupport=V1\nDigitalHDTVDefaultUnderscan=V0/g' wpbuffer
- sudo cp wpbuffer /etc/ati/amdpcsdb
- sudo rm wpbuffer
- exit0
Сделайте его владельцем root и дайте права на исполнение:
- sudo chown root /etc/init.d/fglrxfix
- sudo chmod 4755 /etc/init.d/fglrxfix
Поместите полученный скрипт в автозапуск (не забудьте точку в конце строки):
- sudo update-rc.d fglrxfix start 20 2 3 4 5 .
После проделанных манипуляций останется лишь перезагрузиться. Всё, проблема решена.
Примечание
Если в результате картинка вылезла за пределы экрана, а такое бывает с телевизорами, то это устраняется средствами калибровки экрана в настройках XBMC.