Avatar billede hobbez Nybegynder
24. februar 2001 - 13:42 Der er 4 kommentarer og
1 løsning

Garbage på skærm i X - hvordan ændrer jeg skærmkort?

Er lige startet med RedHat Linux 7.0

(Bill Gates behøver ikke være nervøs, det er fandme ikke for nybegyndere).

Mit problem er jeg har problemer når jeg kører X/Gnome: Vinduerne på skærmen tegnes \'oven i hinanden\', hvilket i praksis gør Gnome uanvendelig, da skærmen hurtigt er et stort rod.

Problemet optræder i øvrigt også bare jeg starter installationsprogrammet til RH (default i grafisk mode, så jeg må køre det i textmode).

Jeg har fundet ud af ÅRSAGEN, men hvordan retter jeg lortet?

ÅRSAGEN er, at maskinen er en Compaq med indbygget grafikkort - Cirrus CL GD5436 2048Kb. Det skærmkort giver åbenbart problemer under Linux :o(

LØSNINGSMULIGHED 1:

Fandt dette: http://lhd.datapower.com/db/dispdriver.php3?DISP?671

\"Source File: drivers/video/clgenfb.c
Description: drivers/video/clgenfb.c - driver for Cirrus Logic chipsets * * Copyright 1999,2000 Jeff Garzik\"

Lyder som noget jeg kan bruge men jeg kan ikke finde ud af hvor jeg finder clgenfb.c og hvordan får jeg den ind i min Linux når jeg har den?


LØSNINGSMULIGHED 2 (omgåelse):

En anden mulighed er åbenbart at køre med en standarddriver for skærmKORTET - SVGA - i stedet for Cirrus indstillingen, som jeg ikke kan få til at funke.

Men hvordan rettter jeg det?

Jeg har fundet ud af at det styres af /etc/X11/XF86Config i \"Graphics device section\" men hvordan retter jeg i den fil, når jeg ikke kan bruge editoren i X/Gnome?


Jeg har prøvet at reinstallere nogle gange, jeg gider ikke løsninger som \"prøv en anden Linux\" eller \"køb et andet skærmkort\", en løsning jeg kan bruge direkte i Linux, tak.

60 point for løsning 1, 30 point for løsning 2 (hvis en kan give mig løsning 1, så er jeg ligeglad med løsning 2).

Så nu er det altså Experterne jeg må have hjælp fra....

/Rob
Avatar billede hobbez Nybegynder
24. februar 2001 - 14:54 #1
Tror jeg har fundet filen clgenfb.c:

diff -u --recursive --new-file v2.4.0-test4/linux/drivers/video/clgenfb.c linux/drivers/video/clgenfb.c
--- v2.4.0-test4/linux/drivers/video/clgenfb.c    Mon Jul 10 16:47:25 2000
+++ linux/drivers/video/clgenfb.c    Wed Jul 26 11:08:40 2000
@@ -472,9 +472,6 @@

static int clgenfb_open (struct fb_info *info, int user);
static int clgenfb_release (struct fb_info *info, int user);
-static int clgenfb_ioctl (struct inode *inode, struct file *file,
-          unsigned int cmd, unsigned long arg, int con,
-          struct fb_info *info);
#if defined(CONFIG_FB_OF)
int clgen_of_init (struct device_node *dp);
#endif
@@ -490,7 +487,6 @@
    fb_get_cmap:    fbgen_get_cmap,
    fb_set_cmap:    fbgen_set_cmap,
    fb_pan_display:    fbgen_pan_display,
-    fb_ioctl:    clgenfb_ioctl,
};

/*--- Hardware Specific Routines -------------------------------------------*/
@@ -540,18 +536,15 @@
static void fbcon_clgen8_clear (struct vc_data *conp, struct display *p,
                int sy, int sx, int height, int width);

-static struct display_switch fbcon_clgen_8 =
-{
-    fbcon_cfb8_setup,
-    fbcon_clgen8_bmove,
-    fbcon_clgen8_clear,
-    fbcon_cfb8_putc,
-    fbcon_cfb8_putcs,
-    fbcon_cfb8_revc,
-    NULL,
-    NULL,
-    fbcon_cfb8_clear_margins,
-    FONTWIDTH (4) | FONTWIDTH (8) | FONTWIDTH (12) | FONTWIDTH (16)
+static struct display_switch fbcon_clgen_8 = {
+    setup:        fbcon_cfb8_setup,
+    bmove:        fbcon_clgen8_bmove,
+    clear:        fbcon_clgen8_clear,
+    putc:        fbcon_cfb8_putc,
+    putcs:        fbcon_cfb8_putcs,
+    revc:        fbcon_cfb8_revc,
+    clear_margins:    fbcon_cfb8_clear_margins,
+    fontwidthmask:    FONTWIDTH (4) | FONTWIDTH (8) | FONTWIDTH (12) | FONTWIDTH (16)
};
#endif
#ifdef FBCON_HAS_CFB16
@@ -559,18 +552,15 @@
                int dy, int dx, int height, int width);
static void fbcon_clgen16_clear (struct vc_data *conp, struct display *p,
                int sy, int sx, int height, int width);
-static struct display_switch fbcon_clgen_16 =
-{
-    fbcon_cfb16_setup,
-    fbcon_clgen16_bmove,
-    fbcon_clgen16_clear,
-    fbcon_cfb16_putc,
-    fbcon_cfb16_putcs,
-    fbcon_cfb16_revc,
-    NULL,
-    NULL,
-    fbcon_cfb16_clear_margins,
-    FONTWIDTH (4) | FONTWIDTH (8) | FONTWIDTH (12) | FONTWIDTH (16)
+static struct display_switch fbcon_clgen_16 = {
+    setup:        fbcon_cfb16_setup,
+    bmove:        fbcon_clgen16_bmove,
+    clear:        fbcon_clgen16_clear,
+    putc:        fbcon_cfb16_putc,
+    putcs:        fbcon_cfb16_putcs,
+    revc:        fbcon_cfb16_revc,
+    clear_margins:    fbcon_cfb16_clear_margins,
+    fontwidthmask:    FONTWIDTH (4) | FONTWIDTH (8) | FONTWIDTH (12) | FONTWIDTH (16)
};
#endif
#ifdef FBCON_HAS_CFB32
@@ -578,18 +568,15 @@
                int dy, int dx, int height, int width);
static void fbcon_clgen32_clear (struct vc_data *conp, struct display *p,
                int sy, int sx, int height, int width);
-static struct display_switch fbcon_clgen_32 =
-{
-    fbcon_cfb32_setup,
-    fbcon_clgen32_bmove,
-    fbcon_clgen32_clear,
-    fbcon_cfb32_putc,
-    fbcon_cfb32_putcs,
-    fbcon_cfb32_revc,
-    NULL,
-    NULL,
-    fbcon_cfb32_clear_margins,
-    FONTWIDTH (4) | FONTWIDTH (8) | FONTWIDTH (12) | FONTWIDTH (16)
+static struct display_switch fbcon_clgen_32 = {
+    setup:        fbcon_cfb32_setup,
+    bmove:        fbcon_clgen32_bmove,
+    clear:        fbcon_clgen32_clear,
+    putc:        fbcon_cfb32_putc,
+    putcs:        fbcon_cfb32_putcs,
+    revc:        fbcon_cfb32_revc,
+    clear_margins:    fbcon_cfb32_clear_margins,
+    fontwidthmask:    FONTWIDTH (4) | FONTWIDTH (8) | FONTWIDTH (12) | FONTWIDTH (16)
};
#endif

@@ -655,16 +642,6 @@
    return 0;
}

-/*--- handle /dev/fbx ioctl calls ------------------------------------------*/
-static int clgenfb_ioctl (struct inode *inode, struct file *file,
-          unsigned int cmd, unsigned long arg, int con,
-          struct fb_info *info)
-{
-    DPRINTK (\"ENTER\\n\");
-    /* Nothing exciting here... */
-    DPRINTK (\"EXIT\\n\");
-    return -EINVAL;
-}
/**** END  Interface used by the World *************************************/
/****************************************************************************/
/**** BEGIN Hardware specific Routines **************************************/



Hvordan får jeg den så ind?

/Rob

Avatar billede 8151 Nybegynder
24. februar 2001 - 20:40 #2
Til løsning 2
Du logger ind som root.
Hvis du åbner  /usr/X11R6/bin/Xconfigurator  har du nogle mugligheder der. men jeg kan ikke huske om dit skærmkort
figurerer i denne menu, men det er da en muglighed.
Avatar billede 8151 Nybegynder
24. februar 2001 - 22:30 #3
Du skal ikke åbne Xconfigurator med nogen editor.
Xconfigurator er et program.
Avatar billede hobbez Nybegynder
25. februar 2001 - 02:14 #4
Løste selv problemet.

Havde læst et sted at:

To resolve this issue, add the following line to /etc/X11/XF86Config in the \"Graphics device section\" under the heading Section \"Device\":

options no_bitblt


Det funkede ikke.

Men så fandt jeg ud af at der skulle stå:


options \"no_bitblt\"

og anførselstegnene gjorde hele forskellen.

Jaaaaaaaaaaaaaaaaaaaaaaaaaaaa :o) *G*

Tak for input :o)

/Rob
Avatar billede hobbez Nybegynder
25. februar 2001 - 02:15 #5
8151 >> Havde prøvet Xconfigurator, men uden succes.

/Rob
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester