This is an old revision of the document!
WITH_NEW_XORG
The WITH_NEW_XORG ports knob enables the usage of a newer graphics stack (xserver 1.12, newer DDX and Mesa 9.1). For Intel and Radeon GPU, the new drivers require KMS support in the kernel.
The goal of this project is to enable this newer stack everywhere, to avoid the pain to maintain two stacks and finally move forward.
Roadmap
Short timetable for making the new xorg stack the default.
| Task | Scheduled date | Actual date | Status | Comments |
|---|---|---|---|---|
WITH_NEW_XORG by default for CURRENT | 2013-12-16 | DONE! | ||
WITH_NEW_XORG repository | 2014-03-29 | DONE! | ||
| Talk about desktop support deprecation on 8.x | ||||
| | 2014-07-04 | DONE! | bdrewery@ to arrange this | |
WITH_NEW_XORG by default for 10 | 2014-03 | 2014-04-16 | DONE! | bdrewery@ handling this. Packages building. Waiting on clusteradm to setup package mirroring |
WITH_NEW_XORG by default for 9 | 2014-03 | 2014-04-16 | DONE! | bdrewery@ handling this. Packages building. Waiting on clusteradm to setup package mirroring |
WITH_NEW_XORG by default for 8 | 2014-03 | On hold | bdrewery@ to arrange this | |
| Remove legacy xorg | 2014-06 (at the earliest) | Needs approval and throughout testing, schedule might slip. proposed EOL with 8.x. |
Alternate repositories
One proposition is to setup an alternate repository containing WITH_NEW_XORG packages.
Packages selected for this repository are:
emulators/virtualbox-ose-additionsgraphics/drigraphics/libdrmgraphics/libEGLgraphics/libGLgraphics/libglesv2x11/nvidia-driver*x11-drivers/xf86-*x11-servers/xorg-serverx11/kde4x11/gnome3(not yet in FreeBSD ports)
The make.conf file would be:
WITH_NEW_XORG=yes WITH_GALLIUM=yes
Current situation
To help with the discussion about WITH_NEW_XORG, here's a summary of what to expect depending on the FreeBSD version/X.Org server version/GPU combination:
It also assumes the xf86-video-* versions automatically chosen by the ports tree: this means KMS-only DDX for Intel and AMD GPUs.
The table doesn't show the following parameters:
- our kernel (HEAD included) doesn't support most recent GPUs (eg. Intel Haswell or Radeon HD 8000+);
- Mesa brings other problems (9.1 dropped support for some older GPUs, 9.2 doesn't support our ageing i915 KMS driver).
| FreeBSD version | X.Org version | Vendor | GPU family | X.Org | VT switching (1) |
| Any | 1.7 | Intel | Up-to 2009 | Works | Works |
| After 2009 | Not supported | n/a | |||
| AMD | Up-to Radeon HD 4000 | Works | Works | ||
| Radeon HD 5000+ | Not supported | n/a | |||
| NVIDIA | Works | Works | |||
| Other vendors | Works | Works | |||
| 8.x, 9.0 | 1.12 | Intel | Up-to 2009 | Not supported | n/a |
| After 2009 | Not supported | n/a | |||
| AMD | Up-to Radeon HD 4000 | It depends (2) | n/a | ||
| Radeon HD 5000+ | Not supported | n/a | |||
| NVIDIA | Works | Works | |||
| Other vendors | Unknown | Works | |||
| 9.1, 9.2 | 1.12 | Intel | Up-to 2009 | Works | Not supported |
| After 2009 | Works | Not supported | |||
| AMD | Up-to Radeon HD 4000 | It depends (2) | n/a | ||
| Radeon HD 5000+ | Not supported | n/a | |||
| NVIDIA | Works | Works | |||
| Other vendors | Unknown | Works | |||
| 10.0 | 1.12 | Intel | Up-to 2009 | Works | Not supported |
| After 2009 | Works | Not supported | |||
| AMD | Up-to Radeon HD 4000 | Works | Not supported | ||
| Radeon HD 5000+ | Works | Not supported | |||
| NVIDIA | Works | Works | |||
| Other vendors | Unknown | Works | |||
| 9.3, 10.1, HEAD | 1.12 | Intel | Up-to 2009 | Works | Works |
| After 2009 | Works | Works | |||
| AMD | Up-to Radeon HD 4000 | Works | Works | ||
| Radeon HD 5000+ | Works | Works | |||
| NVIDIA | Works | Works | |||
| Other vendors | Unknown | Works |
- A bit more explanation about VT switching. In this table, we mean:
- Not supported: Only syscons is available in this case. When a user perform a VT-switch (using Ctrl+Alt+Fx keys combination) or exits from his X session, a black screen or the last image of his desktop (like a screenshot) will be presented to him. He can type commands blindly (eg. restart X after a crash) but without knowing this, he will surely believe his computer is frozen.
- Works: When using vt(4), which is not yet the default anywhere and requires a manual step, VT switching works as expected: a console is presented to the user. When using syscons (ie. the default console driver), the behavior is exactly the same as in the “Not supported” case.
- About Radeon up-to HD 4000 and kernels lacking the Radeon KMS driver,
WITH_NEW_XORGcurrently pullsxf86-video-ati7.x which requires a KMS driver. This means that, out-of-the-box, any Radeon GPU is unsupported. However, a user could manually installxf86-video-ati6.14.x (the default one withoutWITH_NEW_XORG) and have a working xserver 1.12 with its Radeon HD 4000.