# Frame buffer hardware drivers
#
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_VESA is not set
CONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_INTEL is not set
CONFIG_FB_RADEON=y
CONFIG_FB_RADEON_I2C=y
# CONFIG_FB_RADEON_BACKLIGHT is not set
CONFIG_FB_RADEON_DEBUG=y
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=1024
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_7x14 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
linux: framebuffer консоль
Код:
По дефолту консоль загружается 640x480@60. Не совсем приемлемо для нормальной работы. Показанный конфиг устанавливает 1280x1024@85 - для моего монитора тоже слишком. Путём научного тыка установлено, что именно включение опции CONFIG_FB_RADEON_I2C устанавливает данное разрешение - Radeon DDC/I2C support. Можно включит поддержку VESA и выбрать VESA_DEFAULT_MODE но это ни на что не влияет - всё равно грузится 640x480@60. В общем, перепробовал кучу комбинаций, все мои изыскания привели к следующему: 640x480@60 или 1280x1024@85.
Перекомпилял ядро с отладочными опциями, вот ещё кусок лога загрузки стадии детектирования интересующего оборудования:
Код:
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
PCI: setting IRQ 11 as level-triggered
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
radeonfb (0000:01:00.0): Found 262144k of DDR 128 bits wide videoram
radeonfb (0000:01:00.0): mapped 16384k videoram
radeonfb: Found Intel x86 BIOS ROM Image
radeonfb: Retrieved PLL infos from BIOS
radeonfb: Reference=27.00 MHz (RefDiv=12) Memory=324.00 Mhz, System=189.00 MHz
radeonfb: PLL min 20000 max 40000
i2c_adapter i2c-0: adapter [monid] registered
i2c_adapter i2c-1: adapter [dvi] registered
i2c_adapter i2c-2: adapter [vga] registered
i2c_adapter i2c-3: adapter [crt2] registered
1 chips in connector info
- chip 1 has 2 connectors
* connector 0 of type 2 (CRT) : 2300
* connector 1 of type 3 (DVI-I) : 3221
Starting monitor auto detection...
radeonfb: I2C (port 1) ... not found
i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-1: master_xfer[1] R, addr=0x50, len=128
i2c_adapter i2c-1: unable to read EDID block.
i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-1: master_xfer[1] R, addr=0x50, len=128
i2c_adapter i2c-1: unable to read EDID block.
Switched to NOHz mode on CPU #0
i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-1: master_xfer[1] R, addr=0x50, len=128
i2c_adapter i2c-1: unable to read EDID block.
radeonfb: I2C (port 2) ... not found
i2c_adapter i2c-2: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-2: master_xfer[1] R, addr=0x50, len=128
radeonfb: I2C (port 3) ... found CRT display
radeonfb: I2C (port 4) ... not found
i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-1: master_xfer[1] R, addr=0x50, len=128
i2c_adapter i2c-1: unable to read EDID block.
i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-1: master_xfer[1] R, addr=0x50, len=128
i2c_adapter i2c-1: unable to read EDID block.
i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-1: master_xfer[1] R, addr=0x50, len=128
i2c_adapter i2c-1: unable to read EDID block.
radeonfb: I2C (port 2) ... not found
radeonfb: I2C (port 4) ... not found
i2c_adapter i2c-2: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-2: master_xfer[1] R, addr=0x50, len=128
radeonfb: I2C (port 3) ... found CRT display
radeonfb: Monitor 1 type CRT found
radeonfb: EDID probed
radeonfb: Monitor 2 type no found
hStart = 1344, hEnd = 1504, hTotal = 1728
vStart = 1025, vEnd = 1028, vTotal = 1072
h_total_disp = 0x9f00d7 hsync_strt_wid = 0x14054a
v_total_disp = 0x3ff042f vsync_strt_wid = 0x30400
pixclock = 6349
freq = 15750
freq = 15750, PLL min = 20000, PLL max = 40000
ref_div = 12, ref_clk = 2700, output_freq = 31500
ref_div = 12, ref_clk = 2700, output_freq = 31500
post div = 0x1
fb_div = 0x8c
ppll_div_3 = 0x1008c
Console: switching to colour frame buffer device 160x64
radeonfb (0000:01:00.0): ATI Radeon AP
radeonfb_pci_register END
и т.д.
PCI: setting IRQ 11 as level-triggered
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
radeonfb (0000:01:00.0): Found 262144k of DDR 128 bits wide videoram
radeonfb (0000:01:00.0): mapped 16384k videoram
radeonfb: Found Intel x86 BIOS ROM Image
radeonfb: Retrieved PLL infos from BIOS
radeonfb: Reference=27.00 MHz (RefDiv=12) Memory=324.00 Mhz, System=189.00 MHz
radeonfb: PLL min 20000 max 40000
i2c_adapter i2c-0: adapter [monid] registered
i2c_adapter i2c-1: adapter [dvi] registered
i2c_adapter i2c-2: adapter [vga] registered
i2c_adapter i2c-3: adapter [crt2] registered
1 chips in connector info
- chip 1 has 2 connectors
* connector 0 of type 2 (CRT) : 2300
* connector 1 of type 3 (DVI-I) : 3221
Starting monitor auto detection...
radeonfb: I2C (port 1) ... not found
i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-1: master_xfer[1] R, addr=0x50, len=128
i2c_adapter i2c-1: unable to read EDID block.
i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-1: master_xfer[1] R, addr=0x50, len=128
i2c_adapter i2c-1: unable to read EDID block.
Switched to NOHz mode on CPU #0
i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-1: master_xfer[1] R, addr=0x50, len=128
i2c_adapter i2c-1: unable to read EDID block.
radeonfb: I2C (port 2) ... not found
i2c_adapter i2c-2: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-2: master_xfer[1] R, addr=0x50, len=128
radeonfb: I2C (port 3) ... found CRT display
radeonfb: I2C (port 4) ... not found
i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-1: master_xfer[1] R, addr=0x50, len=128
i2c_adapter i2c-1: unable to read EDID block.
i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-1: master_xfer[1] R, addr=0x50, len=128
i2c_adapter i2c-1: unable to read EDID block.
i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-1: master_xfer[1] R, addr=0x50, len=128
i2c_adapter i2c-1: unable to read EDID block.
radeonfb: I2C (port 2) ... not found
radeonfb: I2C (port 4) ... not found
i2c_adapter i2c-2: master_xfer[0] W, addr=0x50, len=1
i2c_adapter i2c-2: master_xfer[1] R, addr=0x50, len=128
radeonfb: I2C (port 3) ... found CRT display
radeonfb: Monitor 1 type CRT found
radeonfb: EDID probed
radeonfb: Monitor 2 type no found
hStart = 1344, hEnd = 1504, hTotal = 1728
vStart = 1025, vEnd = 1028, vTotal = 1072
h_total_disp = 0x9f00d7 hsync_strt_wid = 0x14054a
v_total_disp = 0x3ff042f vsync_strt_wid = 0x30400
pixclock = 6349
freq = 15750
freq = 15750, PLL min = 20000, PLL max = 40000
ref_div = 12, ref_clk = 2700, output_freq = 31500
ref_div = 12, ref_clk = 2700, output_freq = 31500
post div = 0x1
fb_div = 0x8c
ppll_div_3 = 0x1008c
Console: switching to colour frame buffer device 160x64
radeonfb (0000:01:00.0): ATI Radeon AP
radeonfb_pci_register END
и т.д.
Может кто разбирался с сабжем и знает, как установить приемлемое разрешение. Если устанавливается 1280x1024@85, как установить, скажем, 1024x768@100 или хотя бы 1024x768@85? Почему ядро пишет unable to read EDID block? Может проблема кроется в этом? Нужно ли включать поддержку VESA, если включена поддержка framebuffer для radeon? Просьба помочь разбирающихся в данном вопросе.
Думаю вам стоит наити драйвера от произвоителя RAdeon, а так же модуль ядра, настроить конфиг xorg.conf, в соответствии с документацией на дрова, и всё зарабоает :)
[/LEFT]
Ну так есть же драйвер! В иксах то я сижу - всё нормально. А вот как именно переключить разрешение в консоли - не победил.
Код:
# CONFIG_FB_RADEON is not set
По всей видимости, был какой-то конфликт. Теперь приемлемое разрешение можно установить, подав grub при загрузке такую опцию:
Файл grub.conf
Код:
kernel /boot/vmlinuz video=vesafb:1024x768@85 root=/dev/sda1
При загрузке в консоли имеем разрешение 1024x768. Но герцовка так и не поменялась(стабильно 60Гц). Не влияет ни вышеуказанная опция, ни VESA_DEFAULT_MODE в конфиге ядра...:confused:
P.S. Ещё на шаг ближе к истине...
у меня другая проблема - монитор ж/к, так что 60 гц вполне устраивает, мне бы 1280x1024 осилить