[Nouveau] TV Out question

Lukas Satin luke.satin at gmail.com
Fri Nov 4 19:04:19 UTC 2022


Switch to 360x240 works, but it is only scaled to 640x480.

I read that it should be possible to set particular TV chipset registers
and there's nvtv utility for that:
https://manpages.ubuntu.com/manpages/focal/man1/nvtv.1x.html

I guess it will work only with nvidia driver, which in NV40 case is legacy
304 series, which means compiling custom kernel and patching it on Ubuntu
18:
http://blog.schmorp.de/2019-08-03-nvidia-legacy-304-patch-for-post-50-linux-kernels.html

It would be great if your nuvo can set these tv chipset registers as well.

I collect retro hardware and I'm retrogamer (born 1987). There are
significant costs, most retrogamers buy 500 Eur video converter because
they want to output 240p TV resolution.

Currently only Calamity's CRT EmuDriver works and that one is for AMD
GPU's only.

For NVIDIA you need Linux kernel with 15Khz fix (which I have):
https://github.com/D0023R/linux_kernel_15khz and then you can output 15khz
240P over VGA, DVI-I or even HDMI. Then you apply some kind of adapter, for
example HDMI to VGA or DVI to VGA. Then you can use VGA to BNC cable and
use BNC directly in TV or you can buy RCA BNC connector and go from HDMI to
RCA and it will output directly 240p using custom made modelines and
enabling either custom unsigned AMD driver or having Linux kernel with
15khz patch.

Controlling TV out chipset directly would be the next level and it would be
great if it could be achieved.

On Fri, Nov 4, 2022 at 6:29 PM Lukas Satin <luke.satin at gmail.com> wrote:

> Yes, switching to 360x240 works! Interesting...it is definitely a step
> forward while still not satisfying result.
>
> On Fri, Nov 4, 2022 at 6:13 PM Lukas Satin <luke.satin at gmail.com> wrote:
>
>> 1) Some people here say: " Scrap everything already stated. The old
>> Nvidia cards with the mini DIN analog video out can ONLY do 480i output.
>> 240p is not an option."
>>
>> Source:
>> https://www.reddit.com/r/crtgaming/comments/a9k85n/old_nvidia_geforce_output_240p/
>>
>> But I guess that is due to using Windows and NVIDIA driver.
>>
>> 2) Here:
>> https://www.reddit.com/r/retrogaming/comments/40dv00/240p_signal_from_svideo_port_on_old_video_card/
>> someone says: "240p doesn't actually exist, it's really a trick that
>> uses a non-standard 480i signal to cause the alternating fields line up the
>> scanlines instead of offsetting them. "
>>
>> So I guess it could be done by sending non-standard 480i signal.
>>
>> On Fri, Nov 4, 2022 at 6:06 PM Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>
>>> On Fri, Nov 4, 2022 at 12:56 PM Lukas Satin <luke.satin at gmail.com>
>>> wrote:
>>> >
>>> > Hello, sorry fo the typos. Wanted to catch you before the weekend, to
>>> get some hints for upcoming work.
>>> >
>>> > I'm back at PC.
>>> >
>>> > Does your driver support switching to 240p in NTSC and 288p in PAL on
>>> the go via xrandr, for example?
>>> >
>>> > If not, can I find some relevant part of code in your repository where
>>> to implement that?
>>>
>>>
>>> https://cgit.freedesktop.org/drm/drm/tree/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c
>>> + tvmodesnv17.c
>>>
>>> There's definitely a lot of hard-coding going on. A lot of the
>>> pre-nv50 display code is from This code is (likely) originally from
>>> https://cgit.freedesktop.org/xorg/driver/xf86-video-nv/tree/src but I
>>> can't immediately find the TV code in there. But perhaps it's there
>>> anyways, I only spent about 30s looking for it.
>>>
>>> I don't remember by now, but there _might_ be a kms property (which
>>> should get piped through to xrandr properties) which allows you to
>>> change this live?
>>>
>>> > Some info I found regarding 240p and that it is a part of NTSC:
>>> https://en.wikipedia.org/wiki/Low-definition_television
>>> >
>>> > TV with S-Video mostly supports 480i and 240p as well. So the current
>>> issue is outputting that via TV out.
>>> >
>>> > My current configuration looks like this:
>>> > TV-1 connected 240x224+0+0 (normal left inverted right x axis y axis)
>>> 0mm x 0mm
>>> >    720x480       59.94 +
>>> >    1024x768      59.94
>>> >    800x600       59.94
>>> >    720x576       59.94
>>> >    640x480       59.94
>>> >    400x300       59.94
>>> >    320x240       59.93
>>> >    320x200       59.94
>>> >    768x576       50.00
>>> >    360x200       60.00
>>> >    360x240       60.00
>>> >    640x240       60.00
>>> >    SR-1_240x224 at 60.10  60.10*
>>> >
>>> > I see I have created 240x224 (I need to fix that), but even 320x240
>>> does not work. It always stays at 480i.
>>>
>>> Did you try 360x240? I have no idea though, sorry. I was just happy
>>> when the S-Video worked at all. It could require further modifications
>>> to how we configure those registers.
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20221104/33459871/attachment.htm>


More information about the Nouveau mailing list