Samstag, 4 Feb 2012

Working on Xorg Stuff!

Hiho…

Well I know I haven’t been writing for a long time but there are always reasons behind it :). Lately I have been busy with my job and personal life, but anyway I’m still alive and I have started working on FreeBSD since a while.

As stated in the subject, why I’m writing today is to talk about FreeBSD Xorg stuff. Personally I have stopped working on it for a long time. The main reason was that we are still stuck on some problems like missing KMS/GEM support, though since a while there is some progress that can be seen. Also kwm@ and eadler@ jumped into the Xorg team and did a lot of good work in the last few months.

As a result, Xorg gets 2 layers of framework. What this means, users with newer GFX hardware will get the chance to use newer Xorg server and drivers. The team has decided to create a new flag called WITH_NEW_XORG that users have to include in /etc/make.conf. This was mainly done for the intel KMS work being done. It should probably work for other chips. Unfortunately, the intel KMS driver will only work on FreeBSD 9-stable or 10-CURRENT users. Older version of FreeBSD will not be supported. Intel users will need to patch their src manually with Kib’s KMS kernel patch to get the newer chips to work. We have libGL and Mesa patches in our xorg-dev repo ready.

Here are some facts on what you will get with WITH_NEW_XORG:

libdrm 2.4.30 (including KMS support)
mesa 7.11.2
xorg-server 1.10.4
a lot of new Graphic Drivers.

After this is done and committed we going to work on Mesa 8.0 and X server 1.12. The reason we haven’t done this yet is because they are in RC stage and x server 1.11 and above break the nvidia driver. We will call for a testing soon with the full instruction on what you will have to do. So keep your eyes open..

So long…

PS: follow me on Twitter here.


5 Responses to “Working on Xorg Stuff!”

  1. A random dude Says:

    Nice! Is there some work going on for AMD graphic cards too (r600g)?

  2. Ryan Says:

    Any word on gettin multiple GPU support working? Dual head (or more) with two GPUS?

  3. miwi Says:

    At the moment not. But we looking in to it soon.

  4. [CFT] Xorg Upgrade 7.5.2 | Martin Wilke Says:

    […] miwi: At the moment not. But we looking in to it soon. […]

  5. fontorio Says:

    Thanks for working on this. I am testing the KMS and new DRM for Intel on a E3-1260L which has a Intel HD 2000 on it. It fails with the following dmesg:

    drm0: on vgapci0
    info: [drm] MSI enabled 1 message(s)
    error: [drm:pid2066:drm_load] *ERROR* Card isn’t AGP, or couldn’t initialize AGP.
    device_attach: drm0 attach returned 12

    The lspci output for this device is:

    00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
    Subsystem: ASUSTeK Computer Inc. Device 844d
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- SERR- <PERR- INTx-
    Latency: 0
    Interrupt: pin A routed to IRQ 16
    Region 0: Memory at fb400000 (64-bit, non-prefetchable)
    Region 2: Memory at c0000000 (64-bit, prefetchable)
    Region 4: I/O ports at f000
    Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
    Address: 00000000 Data: 0000
    Capabilities: [d0] Power Management version 2
    Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
    Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [a4] PCI Advanced Features
    AFCap: TP+ FLR+
    AFCtrl: FLR-
    AFStatus: TP-

    Its pciconf output is:

    vgapci0@pci0:0:2:0: class=0x030000 card=0x844d1043 chip=0x010a8086 rev=0x09 hdr=0x00
    vendor = 'Intel Corporation'
    device = 'Xeon E3-1200 Processor Family Integrated Graphics Controller'
    class = display
    subclass = VGA

    The Xorg log shows:

    [ 166.338] (II) LoadModule: "intel"
    [ 166.338] (II) Loading /usr/local/lib/xorg/modules/drivers/intel_drv.so
    [ 166.382] (II) Module intel: vendor="X.Org Foundation"
    [ 166.383] compiled for 1.10.6, module version = 2.17.0
    [ 166.383] Module class: X.Org Video Driver
    [ 166.383] ABI class: X.Org Video Driver, version 10.0
    [ 166.383] (II) LoadModule: "fbdev"
    [ 166.383] (II) Loading /usr/local/lib/xorg/modules/drivers/fbdev_drv.so
    [ 166.392] (II) Module fbdev: vendor="X.Org Foundation"
    [ 166.392] compiled for 1.10.6, module version = 0.4.2
    [ 166.392] ABI class: X.Org Video Driver, version 10.0
    [ 166.392] (II) LoadModule: "vesa"
    [ 166.392] (II) Loading /usr/local/lib/xorg/modules/drivers/vesa_drv.so
    [ 166.404] (II) Module vesa: vendor="X.Org Foundation"
    [ 166.404] compiled for 1.10.6, module version = 2.3.0
    [ 166.404] Module class: X.Org Video Driver
    [ 166.405] ABI class: X.Org Video Driver, version 10.0
    [ 166.405] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
    i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G,
    E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
    965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
    4 Series, G45/G43, Q45/Q43, G41, B43, B43, Clarkdale, Arrandale,
    Sandybridge Desktop (GT1), Sandybridge Desktop (GT2),
    Sandybridge Desktop (GT2+), Sandybridge Mobile (GT1),
    Sandybridge Mobile (GT2), Sandybridge Mobile (GT2+),
    Sandybridge Server, Ivybridge Mobile (GT1), Ivybridge Mobile (GT2),
    Ivybridge Desktop (GT1), Ivybridge Desktop (GT2), Ivybridge Server
    [ 166.408] (II) FBDEV: driver for framebuffer: fbdev
    [ 166.408] (II) VESA: driver for VESA chipsets: vesa
    [ 166.408] (–) Using syscons driver with X support (version 2.0)
    [ 166.408] (–) using VT number 9

    [ 166.420] (II) Loading /usr/local/lib/xorg/modules/drivers/intel_drv.so
    [ 166.420] (WW) Falling back to old probe method for fbdev
    [ 166.420] (II) Loading sub module "fbdevhw"
    [ 166.420] (II) LoadModule: "fbdevhw"
    [ 166.431] (II) Loading /usr/local/lib/xorg/modules/libfbdevhw.so
    [ 166.447] (EE) LoadModule: Module fbdevhw does not have a fbdevhwModuleData data object.
    [ 166.447] (II) UnloadModule: "fbdevhw"
    [ 166.447] (II) Unloading fbdevhw
    [ 166.447] (EE) Failed to load module "fbdevhw" (invalid module, 0)
    [ 166.447] (WW) Falling back to old probe method for vesa
    [ 166.447] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
    [ 166.448] drmOpenDevice: node name is /dev/dri/card0
    [ 166.448] Failed to change owner or group for file /dev/dri! 2: No such file or directory
    [ 166.448] Failed to change owner or group for file /dev/dri/card0! 2: No such file or directory
    [ 166.448] drmOpenDevice: open result is -1, (No such file or directory)
    [ 166.448] Failed to change owner or group for file /dev/dri/card0! 2: No such file or directory
    [ 166.449] drmOpenDevice: open result is -1, (No such file or directory)
    [ 166.449] drmOpenDevice: Open failed
    [ 166.950] drmOpenByBusid: Searching for BusID pci:0000:00:02.0
    [ 166.950] drmOpenDevice: node name is /dev/dri/card0
    [ 166.950] Failed to change owner or group for file /dev/dri! 2: No such file or directory
    [ 166.950] Failed to change owner or group for file /dev/dri/card0! 2: No such file or directory
    [ 166.951] drmOpenDevice: open result is -1, (No such file or directory)
    [ 166.951] Failed to change owner or group for file /dev/dri/card0! 2: No such file or directory
    [ 166.951] drmOpenDevice: open result is -1, (No such file or directory)
    [ 166.951] drmOpenDevice: Open failed
    [ 166.951] drmOpenByBusid: drmOpenMinor returns -2
    [ 166.951] drmOpenDevice: node name is /dev/dri/card1
    [ 166.951] Failed to change owner or group for file /dev/dri! 2: No such file or directory
    [ 166.951] Failed to change owner or group for file /dev/dri/card1! 2: No such file or directory

    [ 166.951] drmOpenDevice: open result is -1, (No such file or directory)
    [ 166.951] Failed to change owner or group for file /dev/dri/card1! 2: No such file or directory
    [ 166.951] drmOpenDevice: open result is -1, (No such file or directory)
    [ 166.951] drmOpenDevice: Open failed

    [ 166.956] [drm] failed to load kernel module „i915“
    [ 166.956] (EE) intel(0): [drm] Failed to open DRM device for pci:0000:00:02.0: File exists
    [ 166.956] (EE) intel(0): Failed to become DRM master.
    [ 166.956] (==) intel(0): Depth 24, (–) framebuffer bpp 32
    [ 166.956] (==) intel(0): RGB weight 888
    [ 166.956] (==) intel(0): Default visual is TrueColor
    [ 166.956] (II) intel(0): Integrated Graphics Chipset: Intel(R) Sandybridge Server
    [ 166.956] (–) intel(0): Chipset: „Sandybridge Server“

    I wish you can add support for this. I used the patch from http://people.freebsd.org/~kib/drm/all.13.7.patch and r459 of https://trillian.chruetertee.ch/svn/ports/tags/xorg_7_5_2. If there is testing help I can do, please let me know.

Leave a Reply