1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
Design
======
Introduction
------------
The purpose of l3dfs is bringing a 3D rendering service to Plan 9 from Bell
Labs, with the help of an external machine running a Linux-powered operating
system. L3dfs aims to bring all 3D rendering features and techniques to Plan 9
at little to no cost, to do so in the clean fashion typical of Plan 9 software
design and code, and to abstract away from hardware-dependent interfaces by
employing existing de-facto standards.
The main idea is to off-load the whole graphic processing from Plan 9 to Linux.
The external Linux machine comprises both the weakness and strength of such a
software architecture. On one hand, not only this architecture is dependent on
another operating system, but also on an external machine that is necessary in
order to maximise the speed of execution of graphic primitives. On the other,
though, this gives an immense advantage, which is being able to interface with
graphics hardware through software that already exists, is stable, and already
implements all (or most) features supported by the available graphics hardware,
thus requiring no further development on this side.
Unfortunately, interfaces exposed by modern graphics hardware have become so
complex, diverse, and deficient in standards over time that the development of
drivers for them by a not-so-big community like Plan 9's in a useful time span
is simply not possible. In addition to this, most importantly, the complex
nature of these interfaces completely collides with Plan 9's philosophy of
simplicity of software. Unless graphics hardware interfaces will simplify and
standardise, drivers are not going to be part of Plan 9, and rightfully so.
|