FreeBSD Graphics

Overview

This page and all the linked articles presents the status and directions of all the low-level components making FreeBSD usable as a desktop.

This includes:

It does not include:

Team

Name

Responsible for

Baptiste Daroussin

Eitan Adler

Jean-Sébastien Pédron

Kernel video drivers

Jung-uk Kim

Koop Mast

X.Org-related ports, Mesa ports

Niclas Zeising

X.Org-related ports

Contact

We also have a blog, which is used to:

What have we been doing:

Roadmap

Project

Comment

Status

Blocks on

Notes

Ports: Mesa: turn on --enable-glx-tls

WIP

Kernel: DRM & drivers

Update drm + drivers to linux 4.6.

WIP

DRM 4.6 porting wiki. This includes: updates to linuxkpi, Skylake support (i915kms), radeonkms updates, amdgpu (hd 8000+ support). PRIME & DRI3.

X.Org: update xf86-video-intel to pre 3.0 releases

DONE

Needs xserver 1.18+

Version 2.99.917 (git snapshot) is in the xserver-next branch.

X.Org: support Glamor

Enabled in xorg-server 1.17.2, not enabled in drivers yet, need more testing.

Required for 2D hw acceleration on recent Radeon GPUs

X.Org: support usb_id attribute in config:devd

Not started

Requires libusb and pretty complex string parser

Ports: find a solution for udev

udev is used by critical components

On hold

It has been reported that udev will be replaced in the Linux world in the medium term (say, a year). The next solution isn't known yet, maybe something tightly integrated to systemd.

Mesa: handle udev dependency

Mesa depends on udev for components used by OpenCL and Wayland

WIP

Mesa now uses libdevq to replace udev functions. This has allowed to build libgbm, drm egl platform, and the first OpenCL tests are working.

Ports: libevdev and libinput

evdev GSoC will help with this

Ports: Make port for Wayland

Xorg replacement

WIP

Experimental port made, but completly untested because there isn't anything that can use it yet. Probably Weston at first

Overview about Wayland status.

Ports: Make port for Weston

WIP

Dependency to udev and libinput

Weston is a composer reference implementation of wayland.

Ports: DRI3 support

Information about what needs to be done for DRI3 to work.

Not started

Needs PRIME support in kernel

Ports: Xorg-server update to 1.18

Update the xorg-server to 1.18

Finished (xserver-next branch)

See blocker table below.

Xserver 1.18 blockers (please note that these ports are not maintained by the graphics team):

Port

Status

Notes

virtualbox

Done

Port version supports xserver 1.18.

nvidia-driver

Update nvidia-driver bug 201340

Needs update to at least 358.16.

nvidia-driver-304 and nvidia-driver-340

Done

Committed in ports/417910

See the archive for finished project.

Hardware Support

The tables below are not an exhaustive list of supported hardware. Hardware is only listed if and when it has been explicitly tested/confirmed by developers and/or users. Graphics hardware missing from these tables may or may not work. If you have tested hardware that is not on the list, please report the results.

About GPU codenames vs. marketing names

The entries below are misleading because they use the marketing names as the "key". This table needs to be rewritten using GPU codenames as the key.

If your GPU is not supported

If your GPU is not supported by FreeBSD, you can fallback on VESA (if your computer uses a BIOS) or SCFB (if your computer uses UEFI). For the latter case, you can find instructions to setup SCFB in a dedicated article.

AMD / Radeon Graphics

Manufacturer

Video card family

Status

Min. FreeBSD version

Comments

AMD

Radeon 7000

RV100

Works

Any

See notes: 1

AMD

Radeon 7500

RV200

Works

Any

See notes: 1

AMD

Radeon 9000

RV250

Works

Any

See notes: 1

AMD

Radeon 9200

RV280

Works

Any

See notes: 1

AMD

Radeon 9250

RV280

Works

Any

See notes: 1

AMD

Radeon 9550

RV350

Works

Any

See notes: 1

AMD

Radeon 9800

R350

Works

Any

See notes: 1

AMD

Radeon X300

RV370

Works

Any

See notes: 1

AMD

Radeon X600

RV370

Works

Any

See notes: 1

AMD

Radeon X700

Works

Any

See notes: 1

AMD

Radeon Xpress X1270

RS690

Works

Any

See notes: 1

AMD

Radeon X1650

RV530

Works

Any

See notes: 1

AMD

Radeon HD 2400

RV610

Works

Any

See notes: 1

AMD

Radeon HD 2600

RV630

Works

Any

See notes: 1

AMD

Radeon HD 3200

RS780

Works

Any

See notes: 1

AMD

Radeon HD 3400

RV620

Works

Any

See notes: 1

AMD

Radeon HD 3450

RV620

Works

Any

See notes: 1

AMD

Radeon HD 3650

RV635

Works

Any

See notes: 1

AMD

Radeon HD 3870

RV670

Doesn't work

Any

See notes: 1 - See "KMS on Radeon HD 3870" on x11@

AMD

Radeon HD 4200

RS880

Works

Any

See notes: 1

AMD

Mobility Radeon HD 4200

RS880M

Works

Any

See notes: 1

AMD

Radeon HD 4350

RV710

Works

Any

See notes: 1

AMD

Radeon HD 4650

RV730

Works

Any

See notes: 1

AMD

Radeon HD 4670

RV730

Works

Any

See notes: 1

AMD

Radeon HD 4850/4870

RV770

Works

Any

See notes: 1

AMD

FirePro 3D V4800

Evergreen / Redwood

Works

9.3, 10.0

See notes: 1

AMD

Mobility Radeon HD 5000

Madison / Redwood

Doesn't work

9.3, 10.0

See notes: 1 - Hybrid platform

AMD

Radeon HD 5450

Evergreen / Cedar

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 5750

Evergreen / Juniper

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 5770

Evergreen / Juniper

Works

9.3, 10.0

See notes: 1

AMD

Mobility Radeon HD 5870

Evergreen / Juniper

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 6250

Northern Islands / Palm

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 6310

Northern Islands / Palm

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 6250

Northern Islands / Wrestler

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 6290

Northern Islands / Wrestler

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 6450

Northern Islands / Caicos

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 6550

Sumo

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 6800

Northern Islands / Barts

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 6950

Northern Islands / Cayman

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 6970

Northern Islands / Cayman

Works

9.3, 10.0

See notes: 1

AMD

FirePro V4900

Northern Islands / Turks

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 7340

Northern Islands / Wrestler

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 7560D

Northern Islands / Cayman

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 7660D

Northern Islands / Cayman

Works

9.3, 10.0

See notes: 1

AMD

Radeon HD 7700

Southern Islands / Cape Verde

Partially supported

9.3, 10.0

See notes: 1, 2 - Acceleration doesn't work yet.

AMD

Radeon HD 7800

Southern Islands / Pitcairn

Partially supported

9.3, 10.0

See notes: 1, 2 - Acceleration doesn't work yet.

AMD

Radeon HD 7950

Southern Islands / Tahiti

Partially supported

9.3, 10.0

See notes: 1, 2 - Acceleration doesn't work yet.

AMD

Radeon HD 8000

Sea Islands

Not supported

AMD

Radeon HD Rx 200

Volcanic Islands

Not supported

Intel Graphics

Manufacturer

Video card family

Status

Min. FreeBSD version

Comments

Intel

GMA 950

Calistoga

Works

9.1

Intel

GMA 4500 / 4500MHD

Eaglelake / Cantiga

Works

9.1

Intel

i[357]-xxx processors

Ironlake

Works

9.1

Intel

i[357]-2xxx processors

Sandy Bridge

Works

9.1

Intel

i[357]-3xxx processors

Ivy Bridge

Works

9.1

Intel

Xeon E3 V2 processors

Ivy Bridge

Works

9.1

Intel

i[357]-4xxx processors

Haswell

Works

11.0

See Update i915 GPU driver to Linux 3.8

Intel

Xeon E3 V3 processors

Haswell

Works

11.0

See Update i915 GPU driver to Linux 3.8

Intel

Broadwell

Not supported

Intel

Skylake

Not supported

NVidia / GeForce Graphics

Manufacturer

Video card family

Status

Min. FreeBSD version

Comments

NVIDIA

GeForce 6600 GT

Works

Any

Using nvidia driver

NVIDIA

GeForce 8200

Works

Any

Using nvidia driver

NVIDIA

GeForce 8800 GTS

Works

Any

Using nv driver, only report on current

NVIDIA

GeForce 8800M GTS

Works

Any

Using nv driver

NVIDIA

GeForce GT 440

Works

Any

Using nvidia driver

NVIDIA

GeForce GT 520

Works

Any

Using nvidia driver

NVIDIA

GeForce GTX 550 Ti

Works

Any

Using nvidia driver

NVIDIA

GeForce GTX 560 Ti

Works

Any

Using nvidia driver

NVIDIA

GeForce GTX 650 Ti

Works

Any

Using nvidia driver

NVIDIA

GeForce GTX 960

Works

Any

Using nvidia driver

You may refer to the following resources to determine your video card family:

Notes:

  1. Radeon video cards:
    • AGP cards not supported before FreeBSD 10-CURRENT
    • Features not yet working/implemented:
      • Hardware-assisted video decoding
      • Audio over HDMI or DisplayPort

      • Multiple cards sharing output connectors
      • Power management
  2. The GALLIUM backed Software renderer works.

Ports

Development Repository

Before going into the official Ports tree, work is made in a separate Git repository hosted on GitHub. The workflow is described in a dedicated article.

To contribute, you should clone the repository and if you don't have write access, you can submit your work using:

Kernel Drivers

In sync with Linux...

Component

Linux version

DRM

3.8

TTM

ff7c60c (between 3.8 and 3.9)

i915

3.8

Radeon

3.8

Contributing

We have a dedicated article to get people started with contributions to the kernel.

Video driver loaded at boot time

If you want to automatically load a video driver at boot time, we recommend to do it from /etc/rc.conf:

kld_list="radeonkms"

Loading the driver from /boot/loader.conf is not recommended and may not even work. For instance, loading i915kms like this is known to cause a hang early in boot with a black screen.

Wayland

Wayland has it own page

OpenCL

OpenCL has it own page

Reporting

Issues / Bugs

If encountering problems in either the kernel driver or the in-development ports, post the following information to the mailing list

Test Results

If everything works, let us know on the mailing list. Your information helps us confirm which hardware/software configurations work well.

Please include:

Known Issues

Graphics (last edited 2016-08-21 19:44:16 by KoopMast)