Укороченная версия:
Как полностью отключить DisplayPort и клонирование дисплея и использовать только VGA с пользовательским разрешением 1920x240 (15 кГц) на ЭЛТ. Может потребоваться создание пользовательского xorg.conf
Длинная версия:
Я борюсь с установкой RetroPie на Ubuntu Server, которую я хотел бы использовать на CRT-мониторе SONY PVM 15 кГц.
Как только RetroArch начинает работать, все нормально, игры отображаются через функцию CRTswitchRes и выглядят потрясающе на экране - только среда linux доставляет мне неприятности.
Я решил использовать так называемые "суперразрешения", которые имеют очень широкую ширину (например, 1920x240) и выглядят правильно при подаче на ЭЛТ. Чтобы иметь возможность перемещаться по интерфейсу, консоль должна быть настроена на что-то похожее, и есть некоторые подводные камни, которые я хотел бы решить.
Перво-наперво, это аппаратное обеспечение, которое я использую: малый настольный ПК HP Compaq Elite 8000 E8600 @ 3,3 ГГц, 8 ГБ DDR3, Intel GMA 4500 DisplayPort (для монитора Samsung), VGA (для CRT с помощью специального кабеля)
Кажется, главная проблема в том, что Xorg ничего не может сделать, потому что CRT не дает никакой информации через EDID. Также я читал, что с Intel вы не должны использовать клонирование дисплея, иначе система всегда использует разрешения, на которые способны оба монитора.
Вкратце: вывод xrandr всегда: не могу открыть дисплей
Версия Ubuntu на самом деле не имеет значения, я пробовал 14, 16 и 18 LTS с теми же результатами: RetroArch работает, консоль - нет. Я не хочу переходить на Ubuntu-Desktop, потому что мне бы хотелось, чтобы это было как можно более гладко. Сейчас я пытаюсь работать с 18.10 LTS.
Итак, независимо от RetroPie, я старался изо всех сил, чтобы получить желаемое разрешение:
- создал двоичный файл EDID и сослался на него в /etc /default /grub
- перепробовал много разных параметров в файле grub
- Я исправил ядро с этим: https://github.com/TiBeN/15khz-arcade-pkg/blob/master/doc/15khz-package-documentation.md
- Установленные драйверы Intel xf86-video-intel и xserver-xorg-video-intel, но оба они вызвали проблемы с производительностью в RetroPie.
- Так как автоматическое создание xorg.conf не удалось, я попытался создать свой собственный, но внешний интерфейс даже не загрузился, потому что я просто не знаю, что туда вставить.
Некоторая системная информация, которую я собрал:
hwinfo --gfxcard
07: PCI 02.0: 0300 VGA compatible controller (VGA)
[Created at pci.366]
Unique ID: _Znp.QUyWiVSQCGD
SysFS ID: /devices/pci0000:00/0000:00:02.0
SysFS BusID: 0000:00:02.0
Hardware Class: graphics card
Model: "Intel 4 Series Chipset Integrated Graphics Controller"
Vendor: pci 0x8086 "Intel Corporation"
Device: pci 0x2e12 "4 Series Chipset Integrated Graphics Controller"
SubVendor: pci 0x103c "Hewlett-Packard Company"
SubDevice: pci 0x3648
Revision: 0x03
Driver: "i915"
Driver Modules: "drm"
Memory Range: 0xf0000000-0xf03fffff (rw,non-prefetchable)
Memory Range: 0xe0000000-0xefffffff (ro,non-prefetchable)
I/O Ports: 0x1230-0x1237 (rw)
IRQ: 31 (33735 events)
I/O Ports: 0x3c0-0x3df (rw)
Module Alias: "pci:v00008086d00002E12sv0000103Csd00003648bc03sc00i00"
Driver Info #0:
Driver Status: i915 is active
Driver Activation Cmd: "modprobe i915"
Config Status: cfg=new, avail=yes, need=no, active=unknown
08: PCI 02.1: 0380 Display controller
[Created at pci.366]
Unique ID: ruGf.xwJ9cLl4Ut2
SysFS ID: /devices/pci0000:00/0000:00:02.1
SysFS BusID: 0000:00:02.1
Hardware Class: graphics card
Model: "Intel 4 Series Chipset Integrated Graphics Controller"
Vendor: pci 0x8086 "Intel Corporation"
Device: pci 0x2e13 "4 Series Chipset Integrated Graphics Controller"
SubVendor: pci 0x103c "Hewlett-Packard Company"
SubDevice: pci 0x3648
Revision: 0x03
Memory Range: 0xf0400000-0xf04fffff (rw,non-prefetchable,disabled)
Module Alias: "pci:v00008086d00002E13sv0000103Csd00003648bc03sc80i00"
Config Status: cfg=new, avail=yes, need=no, active=unknown
Primary display adapter: #7
++++++++++++++++++++++++++++++++++++++++++++++++++++++
hwinfo --monitor
20: None 00.0: 10002 LCD Monitor
[Created at monitor.125]
Unique ID: rdCR.k6CV94ujG82
Parent ID: _Znp.QUyWiVSQCGD
Hardware Class: monitor
Model: "SAMSUNG SyncMaster"
Vendor: SAM "SAMSUNG"
Device: eisa 0x01ae "SyncMaster"
Serial ID: "HS3P601288"
Resolution: 720x400@70Hz
Resolution: 640x480@60Hz
Resolution: 640x480@67Hz
Resolution: 640x480@72Hz
Resolution: 640x480@75Hz
Resolution: 800x600@56Hz
Resolution: 800x600@60Hz
Resolution: 800x600@72Hz
Resolution: 800x600@75Hz
Resolution: 832x624@75Hz
Resolution: 1024x768@60Hz
Resolution: 1024x768@70Hz
Resolution: 1024x768@75Hz
Resolution: 1280x1024@75Hz
Resolution: 1600x1200@60Hz
Resolution: 1280x1024@60Hz
Resolution: 1280x960@60Hz
Resolution: 1152x864@75Hz
Size: 408x306 mm
Year of Manufacture: 2007
Week of Manufacture: 24
Detailed Timings #0:
Resolution: 1600x1200
Horizontal: 1600 1664 1856 2160 (+64 +256 +560) +hsync
Vertical: 1200 1201 1204 1250 (+1 +4 +50) +vsync
Frequencies: 162.00 MHz, 75.00 kHz, 60.00 Hz
Driver Info #0:
Max. Resolution: 1600x1200
Vert. Sync Range: 56-75 Hz
Hor. Sync Range: 30-81 kHz
Bandwidth: 162 MHz
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #2 (VGA compatible controller)
++++++++++++++++++++++++++++++++++++++++++++++++++++++
lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)
++++++++++++++++++++++++++++++++++++++++++++++++++++++
glxgears -info
Error: couldn't open display (null)
++++++++++++++++++++++++++++++++++++++++++++++++++++++
xrandr
Can't open display
++++++++++++++++++++++++++++++++++++++++++++++++++++++
ls /sys/class/drm/
card0 card0-DP-1 card0-HDMI-A-1 card0-VGA-1 controlD64 renderD128 version
++++++++++++++++++++++++++++++++++++++++++++++++++++++
/etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#GRUB_CMDLINE_LINUX_DEFAULT="gfxpayload=640x480x16,640x480 video=card0-VGA-1:640x480@60ec"
GRUB_CMDLINE_LINUX_DEFAULT="video=card0-VGA-1:640x240ec drm_kms_helper.edid_firmware=card0-VGA-1:/lib/f$
GRUB_CMDLINE_LINUX="quiet splash consoleblank=0 video=card0-VGA-1:640x240ec drm_kms_helper.edid_firmwar$
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE="640x240x32 ; 640x240x24 ; 640x240x16"
GRUB_GFXPAYLOAD="640x240x32 ; 640x240x24 ; 640x240x16"
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
++++++++++++++++++++++++++++++++++++++++++++++++++++++
Изображение набора
Все работает, как только начинает работать RetroArch
1920x240 отлично смотрится на ЭЛТ