D0023R / linux_kernel_15khz

15kHz video support with additional features for Linux
GNU General Public License v3.0
52 stars 4 forks source link

enable composite sync at boot time with kernel parameter ? #5

Closed Saroumane closed 3 years ago

Saroumane commented 4 years ago

Hello,

it's more a question than an issue. My (SCART) CRT TV is connected to PC with VGA and I can boot a linux-kernel-15 khz (from groovyarcade) with parameter video=VGA-1:640x480ieS. I tried with a cable that converts RGBHV from VGA into RGBS (composite sync) for the SCART : it works perfectly. But now I need to setup this with a "normal" cable, with "composite sync" forced by the cable.

Ideally, I would like to add it a kernel parameter at boot time. It seems supported by vanilla kernel, only if you have a Matrox device : https://www.kernel.org/doc/html/latest/fb/matroxfb.html But maybe there is more universal way or your patch allows it for any device ?

If it's not possible at boot time, I think I can at least add the keyword "composite" in Modeline definition for xrandr or xorg.conf. So I guess to match resolution 640x480iSe I just have to tweak the output of $ cvt 640 480 60 Modeline "640x480_60.00" 23.75 640 664 720 800 480 483 487 500 -hsync +vsync by adding the keywords composite and interlace: Modeline "640x480_60.00" 23.75 640 664 720 800 480 483 487 500 -hsync +vsync composite interlace

Thanks for your help.

D0023R commented 3 years ago

Hello Saroumane,

Indeed, enabling the composite sync at boot is driver dependent. Even if X has the possibility to specify it on the modeline flag it is not 100% certain that the graphic card bios has this functionality implemented. The current code has been done focusing on ati and nvidia cards. If you have an ATI card, there is great chanves that the Xorg solution will work for you. Regarding the kernel patch, it might be introduced at some point but its functionality will then be available if supported by the card's bios. Currently, it is only possible by combining the H+V sync signals.

Cheers