PDA

Näytä koko versio : Näppäimistö ja näyttö ongelma (linux)!


empzu90
25.09.2007, 13:03
Eli ostin tuossa muutama viikko sitten sovittimen jolla saa ps/2 porttiin käyvät hiiren ja näppäimistön kiinni usb-palikkaan. Usb-palikka tuli piirin mukana ja toimii hyvin esim mp3 soittimen kanssa xbmc:ssä. Ongelmana on se, että kun kytken näppäimistön tuohon usb-palikkaan sovittimen avulla niin se ei tunnista sitä. X-dsl nimistä linuxia käyttelen. Toinen ongelma olisi tuo näytön koon sovittaminen. Pystyykö sen helposti tekemään tuollaisella 21" tavan 4:3 kuvaputkitelevisiolle? Jos joku voisi auttaa asiassa niin olisin kiitollinen, etenkin tuon näppäimistön kanssa.

hardsu
28.02.2008, 17:50
Tosta sun usb ongelmasta en tiedä, mut toi ruudun sovittaminen on aika helppoo jos sul on joku muu kuin 1.6 boksi. Mikä boksi mahtaa olla kysees

empzu90
01.03.2008, 11:45
valitettavasti tuo 1.6 boksi.

hardsu
01.03.2008, 17:04
On v1.6 xboxes the kernel has limited support for the xbox's graphics chip and so has no built in overscan correction i.e. the timing (the sum of visible and non visible pixels) is fixed. Simialrly there is no overscan correction when using any of the hdtv modes on any xbox versions.

In theory it should be possible to increase the number of invisible pixiels and decrease the number of visible pixels by the same amount, reducing the resolution but correcting overscan.

The command you need to use for this is fbset. This shouldn't be run in X so you need to start in textmode and either have a usb keyboard or be able to ssh into XDSL (add 2 ssh to the append line in linuxboot.cfg) see the CHEATCODES.txt included in the download for more details. Then if your using ssh connect to your xbox using the username root and pass xbox.

First run fbset -s to see your current framebuffer infomation

it should look something like this:

mode "640x480-60"
# D: 25.176 MHz, H: 31.469 kHz, V: 59.942 Hz
geometry 640 480 640 480 32
timings 39721 40 24 32 11 96 2
accel true
rgba 8/16,8/8,8/0,0/0
endmode

the format is as follows

geometry xres yres vxres vyres depth
timings pixclock left right upper lower hslen vslen

If you want to find out what all of these mean type man fbset. The ones we are interested in are:

xres, yres - horizontal and vertical resolution
vxres,vyres - virtual horizontal and vertical resolution (should match xres, yres in most cases)
left, right, upper, lower - margins at left, right, top and bottom of the screen

We want to decrease the resolution and increase the margins to compensate. The horizontal and vertical resolution number must always be divisible by 8 and the sums

xres + left + right
yres + upper + lower

should remain constant. You should keep any other settings (pixclock etc) the same

You can apply new settings with

fbset -g <xres> <yres> <vxres> <vyres> <depth> -t <pixclock> <left> <right> <upper> <lower> <hslen> <vslen>

So for example you could could try decreasing the vertical resolution by 40 and increasing the top and bottom margins by 20 each to compenstate

Starting with the timing infomation above this would yield

fbset -g 640 440 640 440 32 -t 39721 40 24 52 31 96 2

Moving centre of the screen:

With these adjustments you may find it fixes overscan on one side of the screen (e.g the bottom left) but not on the opposite side as the screen is nolonger centered. To change this try the following:

Looks like to change the position of the screen you need to change the position of the sync pulses. This time tweak hslen and vslen while keeping the sums

xres + left + right + hslen
yres + upper + lower + vslen

constant

hslen is length of horizontal sync pulse, vslen length of vertical sync pulse

To move the screen to the right I think you need to increase hslen & decrease the left and right margins to compensate. To move the screen up increase vslen & decrease the top and bottom margins to compensate. I think you will need to make your changes in multiples of 8 (i.e. could decrease top and bottom margin by 8 increase vslen by 16)

Disclaimer: I don't have a v1.6 xbox or hdtv set to test this on - this is all theory. If you make big changes to the timing infomation it may be possible to damage your television - be careful when changing things and just make small changes.

If it does work for you add the fbset command you used into /opt/bootlocal.sh so it is run everytime you use XDSL
Se vaati kauheeta säätöä ja siihen tarvitaan se usb näppis. Itse en jaksanu tota ruveta tekemään vaan käytin sillä zoomatulla ruudulla