XWindow ja värit

Vanhan PC:n näytönohjaimessa on ilmeisesti vain 1 mebitavu muistia (= 1048576 tavua ).

Mahdollisia näyttötiloja siis:

1024x768, 256 väriä.
Muistitarve: 1024*768*1 = 786432 tavua

800*600, 65536 väriä:
Muistitarve: 800*600*2 = 960000 tavua

Tuo 1024x768, 256 väriä vaikuttaisi loistavalta, mutta ilmeisesti tuo käyttää jotain paletteja, ja jos ajetaan ohjelmaa, joka ei ymmärrä käyttää paletteja oikein, värit näyttävät kaameilta ja tekevät ohjelman näytön vaikeaselkoiseksi (esim. teksti ja taustaväri liian samansävyisiä).

Miten saisi tuon 1024x768, 256 väriä toimimaan ilman paletteja, mahdollisesti jonkinlaisella "RGB -lukituksella", tässä toki kelpaa mainiosti se, että olisikin vain 216 väriä, eli 40 mahdollista väriä jätetään käyttämättä.

Miksikö juuri 216?

Siksi, että 6^3 = 216.

Eli:

R (Punainen) = 0..5

G (Vihreä) = 0..5

B (Sininen) = 0..5

Kun jokaisen värikomponentin arvo on luku väliltä 0..5, eli 6 vaihtoehtoa, niin mahdollisten kombinaatioiden määrä on silloin 6^3 = 6*6*6 = 216 väriä.

Saako XFree86:n jotenkin pakotettua tuollaiseen tilaan, jossa resoluutiona on 1024*768, mutta värikäytäntönä EI ole 256 väriä palettien kanssa, vaan 216 kiinteää väriä ilman paletteja.

Jos ei muuten onnistu, niin sitten niin, että ohjelmat luulevat tilaa 24-bittiseksi, mutta kunkin osavärin arvo 0..255 muunnetaan lennossa välille 0..5, joten tarpeeksi lähellä olevat värit toki tässäkin päätyvät samaksi, mutta kokeilemani perusteella oletuksena tuo 256 -väritila toimii ainakin joidenkin ohjelmien osalta vielä hölmömmin.

Kokeilussa käytetty omatekoista Kylix3:lla käännettyä GUI -ohjelmaa, eli käyttää siis QT2:sta.

Ikkunamanagerina IceWm ja käyttiksenä Debian Sarge, XWindow -systeeminä siis XFree86.

Tässä siis ohjelma on käännetty koneella 1, jossa moderni näytönohjain, mutta sitä haluttaisiin ajaa koneella 2, jonka emolle integroidussa näytönohjaimessa on ilmeisesti vain 1 mega muistia (CirrusLogicin ohjain, Compaq PC 120-133 MHz).

Olisi tietysti hyvä, jos olisi jokin keino jo tuossa koneessa 1 testata, miten näyttö muuttuu, kun ikkunan sisällöstä tehdään kopio, jolle suoritetaan tuo 24-bit täysvärit -> 216 väriä -muunnos...
4269
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Homma voisi toimia siten että käytössä olisi esim 16 bittinen RGB tila, jonka perusteella luotaisiin lennossa paletti joka vastaisi mahdollisimman hyvin käytössä olevia väreja, ja sieltä sitten haettaisiin tuon RGB arvon perusteella oikea väri. Ja tätä palettia muokattaisiin lennossa koska 256 väriä ei muuten pitkälle riitä. Eli eräänlainen palettitilan päälle rakennettu feikki RGB tila, tuskinpa tuollaista on valmiina..

Äänestä

Onko pakko turvautua toiselta Linux -koneelta tähän:

ssh -X [email protected]

Eli siis muita vaihtoehtoja voisivat olla seuraavat:

1. Miten saisi itse päättää, mitkä 256 väriä kuuluvat käytettävissä olevaan palettiin. Tämä olisi paras ratkaisu, saisihan siinä 1024x768 näytttötilan 256 värillä @ 60 Hz, mikä on täysin riittävä.

2. Jos edelläoleva ei ole mahdollinen, niin kun voisi edes saada tarkat tiedot (RGB -arvot) niistä 256 väristä, joita oletuksena on käytettävissä 256 värin tilassa. Ongelma ei ole värien määrä, vaan se, ettei niitä voi valita, eikä ole edes tietoa, mitkä nuo värit ovat!

3. Jos kumpikaan (1-2) ei ole mahdollinen, miten saisi ohjaimen toimimaan 800x600 tarkkuudella 65536 värillä? Knoppixilla tuo toimiikin, mutta tällä kertaa Knoppixin XF86Config-4 -tiedoston kopiointi Debian Sargeen ei ratkaisekaan ongelmaa!
XWindow kun ei suostu edes käynnistymään!

Eli, voiko jonkin noista 3:sta toteuuttaa jotenkin (miten?) vai jääkö ainoaksi mahdollisuudeksi ajaa X -ohjelmia etänä toisen koneen näytölle ?

Näytönohjaimena:

0000:00:0a.0 VGA compatible controller: Cirrus Logic GD 5434-8 [Alpine] (rev fc)

Itse näytönohjainpiirissä lukee:

"Cirrus Logic CL- GD 5434-J-QC-F"

Muistia näytönohjaimessa ilmeisesti (?) 1 mega, muuten kai tuo suostuisi toimimaan myös 1024x768, 65536 väriä -tilassa, mutta kun ei toimi.

Äänestä

eikö koneessa ole fyysistä tilaa, että saisi hieman paremman näytönohjaimen tilalle? 4 megan muistilla pääsis jo pitkälle ja käytettynä hinta liikkeessä ~5 eur tai alle.

jos tilaa on, niin miksi alkaa tuollaista kikkailua tekemään?

Äänestä
  • Kyseessä Compaq Prolinea, jossa 4 korttipaikkaa, joihin voi laittaa 0-4 ISA -korttia ja 0-2 PCI -korttia, yhteensä enintään 4 kpl.

    Tuossa on kaikki 4 paikkaa käytössä:

    PCI: USB -porttikortti (1995 vuodelta olevassa emossa EI ole USB -liittimiä)

    PCI: sarjaporttikortti, 2 porttia kortilla ja...

    ___: pelkkä kortin takaripa, jossa toiset 2 sarjaporttia, liitetty edelliseen, vie yhden "vain ISA" -paikan

    ISA: Verkkokortti, 10 Mbps, 3COM

    eli kaikki 4 korttipaikkaa, ja erityisesti molemmat PCI -paikat ovat varattuja. Koneessa oli joku ATI PCI -näytönohjain, mutta poistin sen saadakseni lisätilaa muille PCI -korteille.

    Äänestä

Kommentoi aloitusta


Mika0800 kirjoitti:

Vanhan PC:n näytönohjaimessa on ilmeisesti vain 1 mebitavu muistia (= 1048576 tavua ).

Mahdollisia näyttötiloja siis:

1024x768, 256 väriä.
Muistitarve: 1024*768*1 = 786432 tavua

800*600, 65536 väriä:
Muistitarve: 800*600*2 = 960000 tavua

Tuo 1024x768, 256 väriä vaikuttaisi loistavalta, mutta ilmeisesti tuo käyttää jotain paletteja, ja jos ajetaan ohjelmaa, joka ei ymmärrä käyttää paletteja oikein, värit näyttävät kaameilta ja tekevät ohjelman näytön vaikeaselkoiseksi (esim. teksti ja taustaväri liian samansävyisiä).

Miten saisi tuon 1024x768, 256 väriä toimimaan ilman paletteja, mahdollisesti jonkinlaisella "RGB -lukituksella", tässä toki kelpaa mainiosti se, että olisikin vain 216 väriä, eli 40 mahdollista väriä jätetään käyttämättä.

Miksikö juuri 216?

Siksi, että 6^3 = 216.

Eli:

R (Punainen) = 0..5

G (Vihreä) = 0..5

B (Sininen) = 0..5

Kun jokaisen värikomponentin arvo on luku väliltä 0..5, eli 6 vaihtoehtoa, niin mahdollisten kombinaatioiden määrä on silloin 6^3 = 6*6*6 = 216 väriä.

Saako XFree86:n jotenkin pakotettua tuollaiseen tilaan, jossa resoluutiona on 1024*768, mutta värikäytäntönä EI ole 256 väriä palettien kanssa, vaan 216 kiinteää väriä ilman paletteja.

Jos ei muuten onnistu, niin sitten niin, että ohjelmat luulevat tilaa 24-bittiseksi, mutta kunkin osavärin arvo 0..255 muunnetaan lennossa välille 0..5, joten tarpeeksi lähellä olevat värit toki tässäkin päätyvät samaksi, mutta kokeilemani perusteella oletuksena tuo 256 -väritila toimii ainakin joidenkin ohjelmien osalta vielä hölmömmin.

Kokeilussa käytetty omatekoista Kylix3:lla käännettyä GUI -ohjelmaa, eli käyttää siis QT2:sta.

Ikkunamanagerina IceWm ja käyttiksenä Debian Sarge, XWindow -systeeminä siis XFree86.

Tässä siis ohjelma on käännetty koneella 1, jossa moderni näytönohjain, mutta sitä haluttaisiin ajaa koneella 2, jonka emolle integroidussa näytönohjaimessa on ilmeisesti vain 1 mega muistia (CirrusLogicin ohjain, Compaq PC 120-133 MHz).

Olisi tietysti hyvä, jos olisi jokin keino jo tuossa koneessa 1 testata, miten näyttö muuttuu, kun ikkunan sisällöstä tehdään kopio, jolle suoritetaan tuo 24-bit täysvärit -> 216 väriä -muunnos...

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu