User Info
Добро пожаловать, Guest Пользователей: 2 Поисковых ботов: 3 Гостей: 1
Egazoza account Google Bot forum oBot account ugubun account Yandex Bot forum
xaba
Пункты: 15268
Регистрация: 23.04.2012
Существует ли возможность менять разрешение экрана на лету?
С помощью X сервера возможно или только при загрузке?
Pavel Ivanchenko
Admin
Пункты: 92805
Регистрация: 24.03.2009
Пол: Мужчина
Дык попробуйте - /sys/class/graphics/mode (если правильно помню)
Jury093
Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата Дык попробуйте - /sys/class/graphics/mode (если правильно помню)
помнишь правильно.. с одним ньюансом - путь..
/sys/class/graphics/
fb0 /mode
для fb0, и fbX для фремйбуфера Х..
еще можно через
fbset
еще, если видеодрайвер поддерживает, через выгрузку драйвера и загрузку с новыми параметрами
На любой вопрос есть любой ответ.
xaba
Пункты: 15268
Регистрация: 23.04.2012
Круто, так просто все.
НО НО НО не выходит.
смотрю что есть:
cat /sys/class/graphics/fb0/modes
U:1280x720p-60
те он понимает только один режим? где прописать? /boot/script.bin или прописывать в /etc/fb.modes ?
если юзать script.bin, то этот мануал(
ХЕЛП ) актуален для этой платы?
Пробую ставить так: echo "D:1920x1980p-60" > /sys/class/graphics/fb0/mode
sh: write error: invalid argument
не понимает(((
пробую так. прописал режим в файл fb.modes (не уверен в таймингах)
mode "1920x1080-60"
geometry 1920 1080 1920 2160 32
timings 6734 148 88 36 4 44 5
accel false
rgba 8/16,8/8,8/0,8/24
endmode
fbset 1920x1080-60
итог:
ядро выплевывает Oops: Modules linked in: mali ump ...
блаблабла...
ладно, иду дальше...
Правлю hdmi.fex
...
[disp_init]
disp_mode = 4 ---- что соответсвует clone(screen0, screen1, fb0)
screen0_output_mode = 10 ---- разрешение 1080p60
выставляю в uEnv.txt ..... disp.screen0_output_mode=EDID:1920x1080p60
перезагрузка и ....вуааля... Разрешение как было... не разрешение изменилось на нет не изменилось.
Хм...что происходит))
Pavel Ivanchenko
Admin
Пункты: 92805
Регистрация: 24.03.2009
Пол: Мужчина
Цитата смотрю что есть:
cat /sys/class/graphics/fb0/modes
U:1280x720p-60
Дык это он не сам придумал, это ему монитор ответил ...
Pavel Ivanchenko
Admin
Пункты: 92805
Регистрация: 24.03.2009
Пол: Мужчина
Вот пример, что у меня:
Код # cat /sys/class/graphics/fb0/modes
D:720x480p-59
D:720x576p-50
D:1280x720p-50
U:1440x900p-60
S:1280x1024p-60
V:1152x864p-75
V:1280x1024p-75
V:1024x768p-70
V:1024x768p-60
V:800x600p-75
V:800x600p-72
V:800x600p-60
V:800x600p-56
V:640x480p-75
V:640x480p-72
V:640x480p-60
D:1280x720p-60
D:1920x1080p-60
# fbset
mode "1920x1080-60"
# D: 148,500 MHz, H: 67,500 kHz, V: 60,000 Hz
geometry 1920 1080 1920 2160 32
timings 6734 148 88 36 4 44 5
accel false
rgba 8/16,8/8,8/0,8/24
endmode
# echo D:1280x720p-60 > /sys/class/graphics/fb0/mode
# fbset
mode "1280x720-60"
# D: 74,250 MHz, H: 45,000 kHz, V: 60,000 Hz
geometry 1280 720 1280 1440 32
timings 13468 220 110 20 5 40 5
accel false
rgba 8/16,8/8,8/0,8/24
endmode
Режим переключился без проблем.
xaba
Пункты: 15268
Регистрация: 23.04.2012
Интересно.
На телеке несколько входов HDMI.
Втыкаю в другой и вижу картину которая нарисовалась у вас)
Я понял в чем дело.
Если монитор подключен и включен изначально при загрузке, то режим будет 1. Если разъем выткнуть а потом воткнуть то все заработает.
Как исправить есть мысли?
Pavel Ivanchenko
Admin
Пункты: 92805
Регистрация: 24.03.2009
Пол: Мужчина
Правда, есть и странности ...
Я показал результат на плате Sunshine-A20, при загрузке с NAND, если загрузиться с SD карты, режимы так же определяются и переключаются, НО, кроме переключения на D:1920x1080p-60 - после переключения на него отображение на мониторе уже не работает.
А вот при загрузке системы с NAND, переключение на все режимы проходят без проблем.
Скорее всего, где то "закрались" отличия в настройках или еще более вероятно это следствие различных аргументов запуска ядра
При загрузке с SD:
Цитата Kernel command line: console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait loglevel=8 panic=10
При загрузке с NAND:
Цитата Kernel command line: console=ttyS0,115200 root=/dev/nandb consoleblank=0 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1280x720p60 rootwait panic=10 rootfstype=ext4 rootflags=discard
Pavel Ivanchenko
Admin
Пункты: 92805
Регистрация: 24.03.2009
Пол: Мужчина
Цитата Я понял в чем дело.
Если монитор подключен и включен изначально при загрузке, то режим будет 1. Если разъем выткнуть а потом воткнуть то все заработает.
Не подтверждаю.
Кабель подключен к монитору, монитор выключен, загружаюсь:
Цитата # cat /sys/class/graphics/fb0/modes
D:720x480p-59
D:720x576p-50
D:1280x720p-50
U:1440x900p-60
S:1280x1024p-60
V:1152x864p-75
V:1280x1024p-75
V:1024x768p-70
V:1024x768p-60
V:800x600p-75
V:800x600p-72
V:800x600p-60
V:800x600p-56
V:640x480p-75
V:640x480p-72
V:640x480p-60
D:1280x720p-60
D:1920x1080p-60
Выдергиваю кабель, перезагружаюсь:
Цитата # cat /sys/class/graphics/fb0/modes
U:1280x720p-60
Подключаю кабель (монитор по прежнему выключен):
Цитата # cat /sys/class/graphics/fb0/modes
D:720x480p-59
D:720x576p-50
D:1280x720p-50
U:1440x900p-60
S:1280x1024p-60
V:1152x864p-75
V:1280x1024p-75
V:1024x768p-70
V:1024x768p-60
V:800x600p-75
V:800x600p-72
V:800x600p-60
V:800x600p-56
V:640x480p-75
V:640x480p-72
V:640x480p-60
D:1280x720p-60
D:1920x1080p-60
Вывод - зависит от телевизора-монитора.
xaba
Пункты: 15268
Регистрация: 23.04.2012
У меня кернел паник при смене на некоторые режимы((
Помогает только перезагрузка. точнее выключение питания)
При смене на такой режим D:1920x1080p-60
Я вот не пойму.
При загрузке параметры из файла uEnv.txt не влияют.
Вот что там:
extraargs=consoleblank=0 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1280x720p60 rootwait panic=10 rootfstype=ext4 rootflags=discard
Ядро грузит свои:
Kernel command line: console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait loglevel=8 panic=10