HackingVGAforFun: Unterschied zwischen den Versionen
Aus LaborWiki
Siro (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Siro (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
== VGA == | == VGA == | ||
Video | Video Graphics Adapter | ||
== pinouts == | == pinouts == | ||
Zeile 9: | Zeile 9: | ||
I used EDID 1.3<br> | I used EDID 1.3<br> | ||
'''Windows''' | '''Windows''' | ||
* standart timings | * it accepts: | ||
* established timings | ** standart timings | ||
* it looks like Windows XP | ** established timings | ||
* it looks like Windows XP doesn't like "prefered timings" | |||
'''Linux''' | '''Linux''' | ||
Zeile 40: | Zeile 41: | ||
* you can use the export function to generate .raw files and use hexdump to convert them to plain/text hex | * you can use the export function to generate .raw files and use hexdump to convert them to plain/text hex | ||
== hack the kernel module drm == | == custom edid == | ||
* it looks like ATI Radeon HD5xxx only accepts: >= 2 vsync and >= 1 hsync | |||
** with modified drm it is possible to use hsync == 0 too | |||
=== hack the kernel module drm === | |||
* get the sourcecode, e.g. From kernel.org | * get the sourcecode, e.g. From kernel.org | ||
* install linux-kernel-headers | * install linux-kernel-headers | ||
Zeile 46: | Zeile 51: | ||
Todo | Todo | ||
Edited makefile goes here | Edited makefile goes here | ||
* patch | * patch ''drm_edid.c'' , it doesn't accept vsync_width OR hsync_width to be 0 | ||
* copy the newly built .ko files to /lib/modules/+kernelversion+/kernel/drivers/gpu/drm/ | * copy the newly built .ko files to /lib/modules/+kernelversion+/kernel/drivers/gpu/drm/ | ||
* depmod -a | * depmod -a | ||
* | * update-initramfs -u |
Version vom 30. Juli 2012, 17:57 Uhr
VGA
Video Graphics Adapter
pinouts
edid
EDID
I used EDID 1.3
Windows
- it accepts:
- standart timings
- established timings
- it looks like Windows XP doesn't like "prefered timings"
Linux
- The kernel module drm handels all the display stuff
- it accepts:
- established timings
- standart timings
- prefered timings
build a fake monitor
- Terminate the color lines with 75ohms
- Attach a 24C02 serial eeprom to the specified pins (24c04 - 24c16 is possible to )
flash a new edid
- Load the kernelmodule i2c-dev
- Get i2c-tools
- build the i2c-tools
- Become root: Sudo -s
- Add the tools folder to the PATH: PATH=$PATH:< ... >/i2c-tools/tools
- Run i2cdump to find the correct BUSID (device at 0x50 and 0x51)
- Flash new EDID with write-edid.sh
- Note the input file is plain/text with hexvalues, spaces and newlines only
create custom edid
- use Phoenix EDID Designer to create custom EDIDs
Note
- the tool outputs .dat-files, that need to be editet by hand, it contains invalid symbols
- you can use the export function to generate .raw files and use hexdump to convert them to plain/text hex
custom edid
- it looks like ATI Radeon HD5xxx only accepts: >= 2 vsync and >= 1 hsync
- with modified drm it is possible to use hsync == 0 too
hack the kernel module drm
- get the sourcecode, e.g. From kernel.org
- install linux-kernel-headers
- modify the Makefile
Todo Edited makefile goes here
- patch drm_edid.c , it doesn't accept vsync_width OR hsync_width to be 0
- copy the newly built .ko files to /lib/modules/+kernelversion+/kernel/drivers/gpu/drm/
- depmod -a
- update-initramfs -u