Laz a écrit :
On Wednesday 18 May 2005 18:27, Nicolas Huillard wrote:
Laurence Abbott a écrit :
It's an Epia MII that I've got which has the VT1622a rather than the VT122 encoder chip and the Noscale mode wasn't available for it until I hacked one together.
What method, documents, etc. did you use to get that mode working ? I had a mail exchange with the unichrome maintainer who added the 720x576Noscale mode to CVS, but he uses tools that do not work with the frame-buffer driver. Whatever tiny information would help me.
The unichrome drivers currently use modes from a table, rather than being created on-the-fly due to a lack of info from Via. The 720x576Noscale mode for the VT1622, i.e. Epia M series and others, was written by Terry Barnaby and submitted to the unichrome-users mailing list. With some pointers from him and a bit of prodding-registers-whilst-watching-the-picture, I created a similar patch for the VT1622a found in the Epia MII that I have and he didn't. This was a few weeks back and I don't know if any of the patches have made it into the proper CVS tree or not. The structure of the mode table changed somewhere along the line, too, which added to the fun!
I plan to check what differences exist between the scaled and noscale modes in the X driver, and merge them back into the frame-buffer driver. That process will certainly exhaust my patience and time very quickly, but I think it's worth to try.
What is the DirectFB driver like? Is that using tables similarly? (I've just grabbed the latest DirectB but have yet to look at it.) I can forward a copy of the patches on to you (or this list) if you like. What modes can DirectFB do currently? I see that there is a unichrome driver and a cle266 driver: which one do I want?
I'm talking about the viafb kernel frame-buffer driver (the stuff that provide a frame-buffer interface in /dev/ The DirectFB drivers (the two ones) are abstraction layers that use the frame-buffer and add 2D acceleration, that DirectFB applications can use. I think the unichrome X driver was developped with the viafb driver from VIA as a basis. Thus the mode tables found in the viafb kernel driver were the same as the ones found in the unichrome X driver by the end of 2004. The Terry improved both the mode tables structure *and* the tables content, thus added the 720x576Noscale mode.
What I would like to do is retrofit the 720x576Noscale into the tables found inside the viafb kernel module. For this, I have to : 1) find the differences between the 720x576scaled and 720x576Noscale modes in the new table structure 2) and find where those differences should go in the old table structure (where the 720x576Noscale didn't exist) 3) modify and test the kernel frame-buffer driver
Anything that could help would be very useful, since : * the kernel module cannot be unloaded, so each test mean a reboot * the tables are inside the code, so each modification mean a recompilation (thus moprobe, thus reboot)
So if you have any tool, diff, advice, etc. I'm interested.
I'll give it a go... Debian currently doesn't have DFB++ packages, or not that I've found.
I have one, which is not very useful outside softdevice. I'll provide the necessary packages for the Debian official repository.