System och arkitektur för grafik i Linux

Permalänk
Avstängd

System och arkitektur för grafik i Linux

Man har länge kunnat spela häftiga 3D spel i Linux, och haft häftiga 3D effekter på skrivbordsmiljön, etc.
Men systemet och arkitekturen för grafik i Linux har inte varit så bra.

Man har inte haft någon minneshanterare för grafikminne, vilket har betytt att vissa saker inte varit möjliga. Man har inte kunnat allokerat offscreen buffers (därmer inte pbuffers (pixel buffers), eller fbos).
Inte heller har man kunnat sammanföra 2D och 3D operationer vilket gjort att Direkt Rendering inte har varit möjlig. Då har man istället använt sig utav Accelererad Indirekt Rendering vilket är ett hack man använt sig utav i brist på grafikminneshanterare. Indirekt rendering är långsammare och sämre.

Nvidia har haft de bäst fungerande drivrutinerna. I Nvidias proprietära drivrutiner har Nvidia kringgått dessa begränsningar genom att integrera en egenutvecklad grafikminneshanterare i sin drivrutiner. Synd bara att drivrutinen inte är öppen, och att Nvidia inte delat med sig av sin grafikminneshanterare.

Så medan grafik i Linux ändå fungerat ganska bra (iaf med Nvidias proprietära drivrutin), så har det saknats system och arkitekturen har inte varit den bästa. Lyckligtvis håller ändring på att ske.

Tungsten Graphics utvecklade grafikminneshanteraren TTM (Translation Table Maps) som planerades att den skulle inkluderas i Linux kärnan. Detta hände inte, då man istället bestämde sig för att använda sig utav Intels grafikminneshanterare GEM (Graphics Execution Manager) som mergades (inkluderades) i Linux kärnan 2.6.28rc1, som är under utveckling.
GEM kommer att användas i Intels grafikkrets drivrutin (xf86-video-intel). Den kommer även att användas i ATI/AMDs öppna drivrutin. Samt i Nouveau, en öppen drivrutin för Nvidias grafikkort.
Tungsten Graphics håller på med Gallium3D.
Tungsten Graphics kommer även att implementera stöd för OpenGL 3.0 i Mesa.

I Linux kärnan 2.6.29 så planeras det att inkludera stöd för mode-setting i kärnan, vilket kommer att medföra att det kommer bli stabilare och snabbare att växla mellan virtuella terminaler, och X. Det kommer även att flimra mindre när man bootar, vilket kan komma att bli trevligt med Red Hats projekt Plymouth, vilket är en ny grafik boot-process. Drivrutinerna måste ha stöd för kernel-baserad mode-setting. Intels drivrutiner och ATIs kommer ha stöd för det, även Nouveau framöver.

ATI har släppt specifikationer och har även öppna drivrutiner. AMD sammarbetar med Novell för att ta fram en öppen drivrutin kallad RadeonHD. Vi får hoppas att Nvidia också börjar öppna upp nu framöver...

Xorg
När man forkade XFree86 och startade Xorg, så har mycket tid gått åt att fixa saker som var fel från XFree86 kodbasen. Tex så gjorde man kodbasen modulär (detta hände i Xorg 7.0). Vissa saker och moduler i Xorg behövs omskrivas och fixas till lite, visa APIs (Xlib? Xt?) är lite fula och så. DMX (Distributed Multi-head X) har skrivits om ganska mycket nyligen. Xinerama kan nog behövas fixas lite. Men X Window System (X11) har en bra arkitektur och är ganska häftigt, det är nätverkstransparent genom designen vilket är väldigt coolt.

Linux / Windows
En intressant grej är att det grafiska systemet i Linux har alltid körts i user-space.
I Windows så har det grafiska systemet körts i kernel-space (inte så bra, då detta har medfört att om det grafiska systemet kraschar då drar den hela kärnan och hela systemet med sig).
I Vista så har Microsoft flyttat ut delar ur det grafiska systemet från kernel-space till user-space (alltså mer likt Linux än förut), delar som mode-setting har de dock fortfarande kvar i kärnan.
Samtidigt så flyttar Linux in mode-setting till kernel-space (alltså mer likt Windows än förut). Så vi går båda mot samma mål och möts nu lite. Vi blir båda lite mer lika.

När
Om 2-3 månader kommer Linux kärnan 2.6.28 med GEM grafikminneshanteraren.
Om 5-6 månader kommer Linux kärnan 2.6.29 med kernel-based mode-setting.
Om 5 månader kommer Xorg 7.5 (med Xserver 1.6 eller 1.7). Den kommer med E-EDID stöd, MPX (Multi-pointer X), predictable pointer acceleration, Xinput 2/3, XKB 2, RandR 1.3, och förhoppningsvis DRI2 (Direct Rendering Infrastructure). Gamla bibliotek (cfb, afb, etc) och oanvända extensions försvinner (AppGroup, EVI, XTrap, etc).

Permalänk
Medlem

Framtiden ser något ljusare ut alltså
Det blir ett spännande år..!

Visa signatur

WS: Asus P8Z77-I Deluxe mITX | Intel 3770K@4.6 | NH-U12P | Asus 780 GTX | Corsair 2x8GB 1600Mhz CL9 | Samsung 840 512GB | Ubuntu 16.04.3 x86_64 | Corsair AX750 | 2x Dell U2412M | Puppe.se | NAS: i7 860, 16GB DDR3, GA-P55M-UD4, FD Define R3, 8x2TB Samsung F4EG, Serveraid M1015, EVGA 750W G2 PSU, FreeBSD x64

Permalänk
Inaktiv

Vad är egentligen MPX? Har aldrig riktigt fattat. Ska man kunna ha använda flera möss samtidigt? O.o
Och angående GEM och kernel-based mode-setting, tror ni nvidia tar in stöd för det i sin egna drivrutin, eller för man förlita sig på Noveau? GEM kanske de lär hoppa över om de har en egen grafikminneshanterare iofs...

Permalänk
Avstängd

nVidia har egna kernel-utvecklare eftersom de tjänar pengar via Quadro-korten på sin Linuxbusiness, det här betalar då drivarna för slutanvändarna som sitter med GeForce brukskorten.

Intels grafik kommer aldrig att bli mer än "basic" och ett aternativ för billiga lösningar.

Sen kan jag nästan sätta en "cyberdollar" på att AMD/ATI sitter i samma sits som nVidia och kör med licensierad/patenterad teknik från andra i R700 chipet

Hursomhelst så är det nu mycket viktigare för de här drakarna att hålla koll på Windows 7, testade i hegen och det var alldeles lysande.

Noveau ser jag som ett stort skämt och enbart bränd utvecklartid i sann "RMS-stolle låsning" !!!!

Visa signatur

ASUS K56CB i7, W10 > Asus VivoBook S15 S530UN
HTC 10
ASUS Transformer Prime 32GB, Nougat :)
Ubiquiti Edge Lite, UniFi AP-AC-Lite (AP) samt ASUS AC68U och N66U (AP), fiber 500/100Mbit/s.
Mitt nätverk: https://imgur.com/aco9XQz Bild https://imgur.com/oQ2WG9Y

Permalänk

2009 is the year of linux on the desktop!

Visa signatur

Bytt ut överklockning mot styrketräning ;)

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av plunn
Noveau ser jag som ett stort skämt och enbart bränd utvecklartid i sann "RMS-stolle låsning" !!!!

Skämt? Bättre prestanda på många saker, mer funktioner och saker som funkar bättre. Men om du vill se det som ett skämt så ja visst.

Körde noveau i över 1 år men inte i dagsläget pga att disten inte stödjer noveau så bra som jag skulle vilja men det beror troligtvis på att man måste köra en hel del grejer ifrån git. När noeavu får stabilt 3D support och att man inte måste köra saker ifrån git som inte är stabilt så har jag inga problem att byta. I dagsläget så lutar det ganska mycket mot att bli ett atikort i framtiden om utvecklingen har kommit en bit framåt (dvs har inget behov för en ny förens 1-2 år) just pga av att det känns som att licensen möjliggör en bättre drivrutin.

Visa signatur

Plan9 fan. In glenda we trust.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av dagle
[B] Skämt? Bättre prestanda på många saker, mer funktioner och saker som funkar bättre. Men om du vill se det som ett skämt så ja visst.

Jo Ubuntu har ett eget ppa för Nouveaudrivarna via Freedesktop.

Drivarna duger väl för att köra någon primitiv *boxmiljö.

Med säkerhet finns det viktigare projekt att utveckla.

nVidia kommer att öppna sin drivare när det är dags....100% säker men de bestämmer tidpunkten själv. Om det tar 1 eller 2 år... spelar det någon roll ?

Visa signatur

ASUS K56CB i7, W10 > Asus VivoBook S15 S530UN
HTC 10
ASUS Transformer Prime 32GB, Nougat :)
Ubiquiti Edge Lite, UniFi AP-AC-Lite (AP) samt ASUS AC68U och N66U (AP), fiber 500/100Mbit/s.
Mitt nätverk: https://imgur.com/aco9XQz Bild https://imgur.com/oQ2WG9Y

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av plunn
nVidia har egna kernel-utvecklare eftersom de tjänar pengar via Quadro-korten på sin Linuxbusiness, det här betalar då drivarna för slutanvändarna som sitter med GeForce brukskorten.

Intels grafik kommer aldrig att bli mer än "basic" och ett aternativ för billiga lösningar.

Sen kan jag nästan sätta en "cyberdollar" på att AMD/ATI sitter i samma sits som nVidia och kör med licensierad/patenterad teknik från andra i R700 chipet

Hursomhelst så är det nu mycket viktigare för de här drakarna att hålla koll på Windows 7, testade i hegen och det var alldeles lysande.

Noveau ser jag som ett stort skämt och enbart bränd utvecklartid i sann "RMS-stolle låsning" !!!!

Det får vi ju se.. Larrabee verkar lagom spännande. Säger inte att det blir succe men vi vet ju inte än och kan verkligen inte påstå att de aldrig kommer bli mer än basic.

Visa signatur

"Be not afraid of life. Believe that life is worth living, and your belief will help create the fact." - William James

Permalänk
Medlem

Intressant sammanfattning av kommande tekniker att se fram emot i Linuxvärlden.

Bra skrivet Leksak!

Känner igen en hel del från artiklar man läst på phoronix.com men det är gött att läsa en så pass bra kortfattad text om de olika teknikerna och vad de är till för.

Tack för den!

Edit: Om du vill så kanske du skulle lägga in texten som nyhet eller blogginlägg på http://www.linuxportalen.se/ ?

Då kan fler få chans att få reda på saker man kan se fram emot.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Schrimp
Framtiden ser något ljusare ut alltså
Det blir ett spännande år..!

Jupp, och Fedora 10 ligger på fronten här med det senaste.

Citat:

Ursprungligen inskrivet av KlavKalashj
Vad är egentligen MPX? Har aldrig riktigt fattat. Ska man kunna ha använda flera möss samtidigt? O.o

Ja, det stämmer det. Kan nog vara användbart för multi-touch screens, vissa speciella/dyra in-enheter för 3D modelering, HID & HCI forskning, etc.

Citat:

Ursprungligen inskrivet av KlavKalashj
Och angående GEM och kernel-based mode-setting, tror ni nvidia tar in stöd för det i sin egna drivrutin, eller för man förlita sig på Noveau? GEM kanske de lär hoppa över om de har en egen grafikminneshanterare iofs...

Vet inte. Jo, de kanske skippar GEM, då de redan har sin egen grafikminneshanterare. Men jag hoppas att de integrerar kernel-based mode-setting, och byter ut sin egna grafikminneshanterare mot GEM, så Intel, AMD, Nvidia etc alla kan köra en och samma grafikminneshanterare.
Noveau kommer nog integrera både kernel-based mode-setting och GEM.

Citat:

Ursprungligen inskrivet av plunn
nVidia har egna kernel-utvecklare eftersom de tjänar pengar via Quadro-korten på sin Linuxbusiness, det här betalar då drivarna för slutanvändarna som sitter med GeForce brukskorten.

Jupp.

Citat:

Ursprungligen inskrivet av plunn
Intels grafik kommer aldrig att bli mer än "basic" och ett aternativ för billiga lösningar.

Intel är väldigt stora på grafik. Det är faktiskt störst på grafik. Flesta laptops kör nog chipsets med integrerad grafik från Intel. Sjysst är att Intel har open source drivrutiner.
Jag har hört att Intel varken har så bra drivrutiner för Linux eller Windows.
Men det blir spännande nu när Intel håller på med Larrabee.

Citat:

Ursprungligen inskrivet av plunn
Sen kan jag nästan sätta en "cyberdollar" på att AMD/ATI sitter i samma sits som nVidia och kör med licensierad/patenterad teknik från andra i R700 chipet

Open source drivrutinerna har stöd för R700. Dock så har de inte hårdvaru-accelerering än.

Citat:

Ursprungligen inskrivet av plunn
Hursomhelst så är det nu mycket viktigare för de här drakarna att hålla koll på Windows 7, testade i hegen och det var alldeles lysande.

Jag tror att det kommer suga lika hårt som Vista, om inte hårdare.

Citat:

Ursprungligen inskrivet av plunn
Noveau ser jag som ett stort skämt och enbart bränd utvecklartid i sann "RMS-stolle låsning" !!!!

Nu med kernel-based mode-setting och GEM, så har Noveau chansen att bli hyfsad.

Citat:

Ursprungligen inskrivet av MasterOfDisaster
2009 is the year of linux on the desktop!

Hehe, det är year of Linux on the desktop varje år.
För mig var det 2007-2008. Nu har många stora tillverkare börjat sälja Linux på netbooks. Snart skeppas många datorer med Linux på ett chip för att de ska startas snabbt. SplashTop, Dell Latitude ON, ASUS ExpressGate, etc.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av leksak

Jag tror att det kommer suga lika hårt som Vista, om inte hårdare.

Nu med kernel-based mode-setting och GEM, så har Noveau chansen att bli hyfsad.

]

Njau... till till min stora förvåning så snurrade 7:an på alldeles utmärkt i Virtualbox... Vista kör fast i sin mediokra smet av mjukvara.

Det här sätter en hälsosam blåslampa på tex Gnome "Vill inte" utvecklarna....

Gnome har egentligen inte gjort ett smack på ett par år....däremot oändliga diskussioner.

Nouveau kommer säkert att funka på gamla "skrotfärdiga" kort.... inte på senaste generationernas mer komplicerade GPUs... 100% säker !

Det kryper nog fram nåt patent även i AMD/ATIs r700 krets...

Visa signatur

ASUS K56CB i7, W10 > Asus VivoBook S15 S530UN
HTC 10
ASUS Transformer Prime 32GB, Nougat :)
Ubiquiti Edge Lite, UniFi AP-AC-Lite (AP) samt ASUS AC68U och N66U (AP), fiber 500/100Mbit/s.
Mitt nätverk: https://imgur.com/aco9XQz Bild https://imgur.com/oQ2WG9Y

Permalänk
Medlem

Verkar mycket trevligt det där.

Hur stor är skillnaden egentligen mellan Win och Linux när det kommer till denna fråga? Stampar inte Windows ganska rejält på Linux när det kommer till att hantera grafiska saker?

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Benkaboy
[Hur stor är skillnaden egentligen mellan Win och Linux när det kommer till denna fråga? Stampar inte Windows ganska rejält på Linux när det kommer till att hantera grafiska saker? [/B]

Nope... inte nVidia grafik iaf....

--------------------------------------------------------------------------------------------

Planet Compiz har en blogartikel precis om det här...

http://ogunderground.com/article.php?id=13

Fedora 10 får Plymouth nu sen är ju utmaningen precis som han skriver att allting behövs...

(Plymouthkoden byggs ua men vete tusan hur man fixar initramfs/inird... )

Visa signatur

ASUS K56CB i7, W10 > Asus VivoBook S15 S530UN
HTC 10
ASUS Transformer Prime 32GB, Nougat :)
Ubiquiti Edge Lite, UniFi AP-AC-Lite (AP) samt ASUS AC68U och N66U (AP), fiber 500/100Mbit/s.
Mitt nätverk: https://imgur.com/aco9XQz Bild https://imgur.com/oQ2WG9Y

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Benkaboy
Hur stor är skillnaden egentligen mellan Win och Linux när det kommer till denna fråga? Stampar inte Windows ganska rejält på Linux när det kommer till att hantera grafiska saker?

Nej, jo, nja... beror nog lite på var man kollar.

Vi har varit tidigare än Microsoft med grafik-accelererat skrivbord. Sen kom Vista (med Aero, DWM) och då kunde Windows det också, men Compiz är fortfarande mer imponerande.

Vi har haft ett nätverkstransparent window-system sedan 20+ år tillbaka, de har Microsoft fortfarande inte.

För några år sedan var X ganska dåligt när det kom till auto-detection, auto-configuration, och plug-n-play, där Microsoft var bra på. Nuförtiden är dock X.org ganska okej på det också.

Drivrutinerna för Windows är generellt sett mycket bättre än de på Linux. Drivrutinerna för Windows brukar vara bättre optimerade, ha bättre stöd, och fler funktioner. Windows har övertag när det kommer till prestanda.
Drivrutinerna i Linux har varit lite svaga när det kommit till grafikkort och speciellt trådlösa nätverkskort. Nvidias grafikkortsdrivrutiner har dock varit bra. Nu har det även förbättrats på Wi-Fi fronten också.

Vista ska tydligen kunna unloada och loada grafikkortsdrivrutiner utan att starta om grafiksystemet, det kan Xorg inte göra.

En del saker som tex MPX och DRI2 har varit försenade i Xorg, men det tycks som de äntligen är på ingång nu i uppkommande Xorg 7.5.