View previous topic :: View next topic |
Author |
Message |
vieuxmike n00b
Joined: 27 Jun 2008 Posts: 27
|
Posted: Mon Oct 27, 2008 3:45 pm Post subject: [Framebuffer] Une partie de l'écran n'est pas visible |
|
|
Bonjour,
Enthousiasmé par la console, je souhaiterais m'en servir le plus possible et lancer X uniquement "en cas de besoin", du coup j'ai installé le framebuffer, qui tourne au poil, sauf que...
Sauf qu'une fine partie de l'ecran, à gauche, une bande large de 20 pixels peut-être, n'est pas visible. A droite cela semble être l'inverse : des pixels en trop! Pour dire simplement, l'affichage semble "décalé" par rapport à l'écran, comme par l'effet d'une translation invisible, ce qui ne serait pas gênant si les lettres sur la gauche n'étient pas "mangées" >_<.
Normalement j'ai une touche sur le moniteur : "repositionnement auto", qui règle au poil la géométrie de l'affichage du moniteur. C'est très bien, l'affichage est centré correctement, sauf qu'après un startx rebelote! l'écran est à nouveau décalé, une partie large de quelques pixels mangée, une fine bande noire sur le bord opposé. Et naturellement faire un "repositionnement auto" règle le problème sur X, mais le reporte encore une fois sur le framebuffer, et caetera...
Pour résoudre ce genre de beans, la documentation nous fornit le mode d'emploi de fbset : fbset permet de régler certains paramètres, et de sauver ces réglages dans un hypothétique /etc/fb.modes, sauf que voilà : j'ai pas très bien du comprendre comment s'en servir... :X
Ainsi la man page de fb.modes nous dit par exemple
Code: |
INTERNALS
Generally a frame buffer display is organized as follows:
+---+---------------+---+---+
| | ^ | | |
| | | 5 | | |
| | v | | |
+---#################---+---+
| # ^ # | |
| # | # | |
| # | # | |
| 1 # | 2 # 3 | 4 |
|<->#<------+------>#<->|<->|
| # | # | |
| # | 6 # | |
| # | # | |
| # v # | |
+---#################---+---+
| | ^ | | |
| | | 7 | | |
| | v | | |
+---+---------------+---+---+
| | ^ | | |
| | | 8 | | |
| | v | | |
+---+---------------+---+---+
1 left margin
2 xres
3 right margin
4 horizontal sync len
5 upper margin
6 yres
7 lower margin
8 vertical sync len
|
et celle de fbdev nous dit entre autres
Code: |
This documentation is out of date!!
|
[...]
Code: |
Display geometry:
-xres <value>
set visible horizontal resolution (in pixels)
-yres <value>
set visible vertical resolution (in pixels)
-vxres <value>
set virtual horizontal resolution (in pixels)
-vyres <value>
set virtual vertical resolution (in pixels)
-depth <value>
set display depth (in bits per pixel)
--geometry, -g ...
set all geometry parameters at once in the order <xres> <yres> <vxres> <vyres> <depth>,
e.g. -g 640 400 640 400 4
-match
make the physical resolution match the virtual resolution
Display timings:
-pixclock <value>
set the length of one pixel (in picoseconds). Note that the frame buffer device may only
support some pixel lengths
-left <value>
set left margin (in pixels)
-right <value>
set right margin (in pixels)
-upper <value>
set upper margin (in pixel lines)
-lower <value>
set lower margin (in pixel lines)
-hslen <value>
set horizontal sync length (in pixels)
-vslen <value>
set vertical sync length (in pixel lines)
--timings, -t ...
set all timing parameters at once in the order <pixclock> <left> <right> <upper> <lower>
<hslen> <vslen>, e.g. -g 35242 64 96 35 12 112 2
|
Eh bien soit : récupérons les valeurs pour le framebuffer
Code: |
$ fbset -s
mode "1280x1024-77"
# D: 131.096 MHz, H: 80.328 kHz, V: 76.649 Hz
geometry 1280 1024 1280 1024 32
timings 7628 160 32 16 4 160 4
rgba 8/16,8/8,8/0,8/24
endmode
|
changeons une valeur : hslen par exemple
et regardons le résultat
Code: |
# fbset
mode "1280x1024-77"
# D: 131.096 MHz, H: 80.328 kHz, V: 76.649 Hz
geometry 1280 1024 1280 1024 32
timings 7628 160 32 16 4 160 4
rgba 8/16,8/8,8/0,8/24
endmode
|
Il semble que hslen n'ait pas varié.
Autre extrait du man de fbset
Code: |
Display positioning:
-move {left|right|up|down}
move the visible part of the display in the specified direction
-step <value>
set step size for display positioning (in pixels or pixel lines), if -step is not given
display will be moved 8 pixels horizontally or 2 pixel lines vertically
|
eh bien une commande telle que fbset -move right ne semble pas bouger l'écran.
Pour résumer : je n'ai absolument pas compris comment fonctionne fbset. Quelqu'un pourrait-il m'expliquer?
Merci pour vos éclaicissements |
|
Back to top |
|
|
nonas Guru
Joined: 17 Apr 2005 Posts: 328
|
Posted: Mon Oct 27, 2008 9:36 pm Post subject: |
|
|
/me va suivre ce sujet avec beaucoup d'attention !!
J'ai mis le support du framebuffer pour la premier fois sur le dernier noyau que je me suis fait et j'ai exactement le même problème ! (en dehors de ça, quelle joie d'avoir une console avec de la place !) |
|
Back to top |
|
|
CryoGen Veteran
Joined: 11 Feb 2004 Posts: 1426 Location: Bamako - Mali - Afrique
|
Posted: Tue Oct 28, 2008 12:54 am Post subject: |
|
|
J'ai le même soucis depuis quelques temps déjà... comme je me sers rarement de la console hors X je m'en suis pas occupé mais il le faudra bien un jour... Vais suivre ce thread et voir ce que je peux trouver _________________ - CryoGen` on #gentoofr@irc.freenode.net
- ~amd64 / KDE4
- I'm the bone of my sword... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|