짧은 버전 :
DisplayPort 및 디스플레이 복제를 완전히 비활성화하고 CRT에서 1920x240 (15KHz)의 사용자 지정 해상도의 VGA 만 사용하려면 어떻게해야합니까? 사용자 정의 xorg.conf 작성이 포함될 수 있습니다.
Long Version :
SONY PVM 15KHz CRT 모니터에서 사용하고 싶은 Ubuntu Server의 RetroPie 설치로 어려움을 겪고 있습니다. RetroArch가 모든 것을 잘 처리하자마자 CRTswitchRes 기능을 통해 게임이 표시되고 화면에서 멋지게 보입니다. 리눅스 환경만으로도 어려움을 겪습니다.
필자는 초광각 (예 : 1920x240)의 이른바 "슈퍼 해상도"를 사용하기로 결정했으며 CRT에 공급 될 때 올바르게 보입니다. 프론트 엔드를 탐색하려면 콘솔을 비슷한 것으로 설정해야하고 내가 해결하고 싶은 함정이 있습니다.
우선, 이것이 제가 사용하는 하드웨어입니다 : HP Compaq Elite 8000 초소형 데스크탑 E8600@3.3GHz, 8GB DDR3, 인텔 GMA 4500 DisplayPort (Samsung Monitor), VGA (Custom 케이블을 사용하여 CRT)
CRT가 EDID를 통해 정보를 제공하지 않기 때문에 주요 문제는 Xorg가 아무것도 할 수 없다는 것 같습니다. 또한 인텔에서는 디스플레이 복제를 사용해서는 안된다는 것을 읽었습니다. 그렇지 않으면 시스템은 항상 두 모니터가 할 수있는 해상도를 사용합니다.
한마디로 : 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로 커널을 패치했습니다.
- 인텔 드라이버 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"
++++++++++++++++++++++++++++++++++++++++++++++++++++++