Solved mid-2011 Macmini 5,2 - Hybrid Radeon, Intel mess

FreeBSD 11.1-STABLE #5 r329296: Thu Feb 15 15:09:36 AEDT 2018
root@ghost:/usr/obj/usr/src/sys/MACMINI amd64
Code:
pciconf -lv | grep -A 4 vga
vgapci1@pci0:0:2:0:     class=0x038000 card=0x00f0106b chip=0x01268086 rev=0x09 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '2nd Generation Core Processor Family Integrated Graphics Controller'
    class      = display
none0@pci0:0:22:0:      class=0x078000 card=0x72708086 chip=0x1c3a8086 rev=0x04 hdr=0x00
--
vgapci0@pci0:1:0:0:     class=0x030000 card=0x00e8106b chip=0x67411002 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M]'
    class      = display
    subclass   = VGA

So I thought I'd try the Radeon driver in a minimal xorg.conf as having no xorg.conf did not work:
Code:
Section "Device"
      Identifier "card 0"
      Driver      "radeon"
      BusID       "PCI:1:0:0"
EndSection

But that just produced an Xorg.log:
Code:
[   141.331] X.Org X Server 1.18.4 Release Date: 2016-07-19
[   141.331] X Protocol Version 11, Revision 0
[   141.331] Build Operating System: FreeBSD 11.1-STABLE amd64 
[   141.332] Current Operating System: FreeBSD ghost.sentry.org 11.1-STABLE FreeBSD 11.1-STABLE #5 r329296: Thu Feb 15 15:09:36 AEDT 2018     [email]root@ghost.sentry.org[/email]:/usr/obj/usr/src/sys/MACMINI amd64
[   141.332] Build Date: 16 February 2018  09:49:54AM
       >>> CHOMP <<<
[   141.598] (--) PCI: (0:0:2:0) 8086:0126:106b:00f0 rev 9, Mem @ 0xa8000000/4194304, 0xa0000000/134217728, I/O @ 0x00003000/64
[   141.598] (--) PCI:*(0:1:0:0) 1002:6741:106b:00e8 rev 0, Mem @ 0x90000000/268435456, 0xa8800000/131072, I/O @ 0x00002000/256, BIOS @ 0x????????/65536
       >>> CHOMP <<<
[   141.840] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[   141.840] (--) Using syscons driver with X support (version 2.0)
[   141.840] (--) using VT number 9

[   142.057] (II) [KMS] drm report modesetting isn't supported.
[   142.057] (EE) open /dev/dri/card0: No such file or directory
[   142.057] (WW) Falling back to old probe method for modesetting
[   142.057] (EE) open /dev/dri/card0: No such file or directory
[   142.057] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[   142.057] (EE) Screen 0 deleted because of no matching config section.
[   142.057] (II) UnloadModule: "radeon"
[   142.057] (EE) Screen 0 deleted because of no matching config section.
[   142.057] (II) UnloadModule: "modesetting"
[   142.057] (EE) Device(s) detected, but none match those in the config file.
[   142.057] (EE) Fatal server error:
[   142.057] (EE) no screens found(EE)

And dmesg revealed:
Code:
drmn0: <Whistler [AMD Radeon HD 6600M Series]> on vgapci0
info: [drm] RADEON_IS_PCIE
info: [drm] initializing kernel modesetting (TURKS 0x1002:0x6741 0x106B:0x00E8).
info: [drm] register mmio base: 0xA8800000
info: [drm] register mmio size: 131072
info: [drm] radeon_atrm_get_bios: ===> Try ATRM...
info: [drm] radeon_atrm_get_bios: pci_find_class() found: 0:1:0:0, vendor=1002, device=6741
info: [drm] radeon_atrm_get_bios: Get ACPI device handle
info: [drm] radeon_atrm_get_bios: Get ACPI handle for "ATRM"
info: [drm] radeon_atrm_get_bios: Failed to get "ATRM" handle: AE_NOT_FOUND
info: [drm] radeon_acpi_vfct_bios: ===> Try VFCT...
info: [drm] radeon_acpi_vfct_bios: Get "VFCT" ACPI table
info: [drm] radeon_acpi_vfct_bios: Failed to get "VFCT" table: AE_NOT_FOUND
info: [drm] igp_read_bios_from_vram: ===> Try IGP's VRAM...
info: [drm] igp_read_bios_from_vram: VRAM base address: 0x90000000
info: [drm] igp_read_bios_from_vram: Map address: 0xfffff80090000000 (262144 bytes)
info: [drm] igp_read_bios_from_vram: Incorrect BIOS signature: 0x0000
info: [drm] radeon_read_bios: ===> Try PCI Expansion ROM...
info: [drm] radeon_read_bios: Map address: 0xfffff800a8820000 (131072 bytes)
info: [drm] radeon_read_bios: Incorrect BIOS signature: 0x0000
info: [drm] ni_read_disabled_bios: ===> Try disabled BIOS (ni)...
info: [drm] radeon_read_bios: ===> Try PCI Expansion ROM...
info: [drm] radeon_read_bios: Map address: 0xfffff800a8820000 (131072 bytes)
info: [drm] radeon_read_bios: Incorrect BIOS signature: 0x0000
error: [drm:pid11295:radeon_get_bios] *ERROR* Unable to locate a BIOS ROM
drmn0: error: Fatal error during GPU init
info: [drm] radeon: finishing device.

Onward, maybe the Intel driver would work... xorg.log:
Code:
   >>> CHOMP <<<
[   254.484] (II) intel: Driver for Intel(R) 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
[   254.485] (II) intel: Driver for Intel(R) HD Graphics
[   254.485] (II) intel: Driver for Intel(R) Iris(TM) Graphics
[   254.485] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics
[   254.485] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[   254.485] (--) Using syscons driver with X support (version 2.0)
[   254.485] (--) using VT number 9

[   256.513] (WW) Falling back to old probe method for modesetting
[   256.513] (EE) open /dev/dri/card0: No such file or directory
[   256.513] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[   256.513] (==) intel(0): Depth 24, (--) framebuffer bpp 32
[   256.513] (==) intel(0): RGB weight 888
[   256.513] (==) intel(0): Default visual is TrueColor
[   256.513] (WW) intel(0): Option "DRI" requires a string value
[   256.513] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics 3000
[   256.513] (**) intel(0): Relaxed fencing enabled
[   256.513] (**) intel(0): Wait on SwapBuffers? enabled
[   256.513] (**) intel(0): Triple buffering? enabled
[   256.513] (**) intel(0): Framebuffer tiled
[   256.513] (**) intel(0): Pixmaps tiled
[   256.513] (**) intel(0): 3D buffers tiled
[   256.513] (**) intel(0): SwapBuffers wait enabled
[   256.513] (==) intel(0): video overlay key set to 0x101fe
[   257.841] (II) intel(0): Output VGA1 using monitor section Monitor0
[   259.163] (II) intel(0): EDID for output VGA1
[   259.194] (II) intel(0): Output VGA1 disconnected
[   259.194] (WW) intel(0): No outputs definitely connected, trying again...
[   259.194] (II) intel(0): Output VGA1 disconnected
[   259.194] (WW) intel(0): Unable to find connected outputs - setting 1024x768 initial framebuffer
[   259.194] (II) intel(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
[   259.194] (II) intel(0): Kernel page flipping support detected, enabling
[   259.194] (==) intel(0): DPI set to (96, 96)
[   259.194] (II) Loading sub module "fb"
[   259.194] (II) LoadModule: "fb"
[   259.195] (II) Loading /usr/local/lib/xorg/modules/libfb.so
[   259.212] (II) Module fb: vendor="X.Org Foundation"
[   259.212]    compiled for 1.18.4, module version = 1.0.0
[   259.212]    ABI class: X.Org ANSI C Emulation, version 0.4
[   259.213] (II) Loading sub module "dri2"
[   259.213] (II) LoadModule: "dri2"
[   259.213] (II) Module "dri2" already built-in
[   259.213] (II) UnloadModule: "modesetting"
[   259.213] (II) Unloading modesetting
[   259.213] (==) Depth 24 pixmap format is 32 bpp
[   259.213] (II) intel(0): Allocated new frame buffer 1024x768 stride 4096, tiled
[   259.229] (II) UXA(0): Driver registered support for the following operations:
[   259.229] (II)         solid
[   259.229] (II)         copy
[   259.229] (II)         composite (RENDER acceleration)
[   259.229] (II)         put_image
[   259.229] (II)         get_image
[   259.229] (II) intel(0): [DRI2] Setup complete
[   259.229] (II) intel(0): [DRI2]   DRI driver: i965
[   259.229] (II) intel(0): [DRI2]   VDPAU driver: va_gl
[   259.230] (==) intel(0): Backing store enabled
[   259.230] (==) intel(0): Silken mouse enabled
[   259.230] (II) intel(0): Initializing HW Cursor
[   259.230] (II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[   259.231] (==) intel(0): DPMS enabled
[   259.231] (==) intel(0): Intel XvMC decoder enabled
[   259.247] (II) intel(0): Set up textured video
[   259.247] (II) intel(0): [XvMC] xvmc_vld driver initialized.
[   259.247] (II) intel(0): DRI2: Enabled
     >>> CHOMP <<<

No errors! Unfortunately it only produced a black screen with the cursor stuck at the top left and mouse cursor in the middle. No way out except to ssh in and reboot.

dmesg revealed:
Code:
device_attach: drmn0 attach returned 22
drmn1: <Intel SandyBridge (M)> on vgapci1
info: [drm] Memory usable by graphics device = 1024M
info: [drm] MTRR allocation failed.  Graphics performance may suffer.
intel_iicbb0 on drmn1
iicbus0: <Philips I2C bus> on iicbb0 addr 0xff
iic0: <I2C generic I/O> on iicbus0
iicbus1: <Philips I2C bus> on intel_gmbus0
iic1: <I2C generic I/O> on iicbus1
intel_iicbb1 on drmn1
iicbus2: <Philips I2C bus> on iicbb1 addr 0xff
iic2: <I2C generic I/O> on iicbus2
iicbus3: <Philips I2C bus> on intel_gmbus1
iic3: <I2C generic I/O> on iicbus3
intel_iicbb2 on drmn1
iicbus4: <Philips I2C bus> on iicbb2 addr 0xff
iic4: <I2C generic I/O> on iicbus4
iicbus5: <Philips I2C bus> on intel_gmbus2
iic5: <I2C generic I/O> on iicbus5
intel_iicbb3 on drmn1
iicbus6: <Philips I2C bus> on iicbb3 addr 0xff
iic6: <I2C generic I/O> on iicbus6
iicbus7: <Philips I2C bus> on intel_gmbus3
iic7: <I2C generic I/O> on iicbus7
intel_iicbb4 on drmn1
iicbus8: <Philips I2C bus> on iicbb4 addr 0xff
iic8: <I2C generic I/O> on iicbus8
iicbus9: <Philips I2C bus> on intel_gmbus4
iic9: <I2C generic I/O> on iicbus9
intel_iicbb5 on drmn1
iicbus10: <Philips I2C bus> on iicbb5 addr 0xff
iic10: <I2C generic I/O> on iicbus10
iicbus11: <Philips I2C bus> on intel_gmbus5
iic11: <I2C generic I/O> on iicbus11
info: [drm] MSI enabled 1 message(s)
info: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
info: [drm] Driver supports precise vblank timestamp query.
info: [drm] failed to find VBIOS tables
drmn1: taking over the fictitious range 0xa0000000-0xa8000000
info: [drm] Connector VGA-1: get mode from tunables:
info: [drm]   - kern.vt.fb.modes.VGA-1
info: [drm]   - kern.vt.fb.default_mode
info: [drm] GMBUS [i915 gmbus vga] timed out, falling back to bit banging on pin 2
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
drmn1: warning: VGA-1: EDID block 0 invalid.
drmn1: info: No connectors reported connected with modes
info: [drm] Cannot find any crtc or sizes - going 1024x768
fbd1 on drmn1
VT: Replacing driver "efifb" with new "fb".
drmn1: No ACPI video bus found
info: [drm] Initialized i915 1.6.0 20080730 for drmn1 on minor 1
info: [drm] Enabling RC6 states: RC6 on, RC6p off, RC6pp off

I'll omit the detailed info for the vesa driver - it also was a no go.

What finally worked was using xorg.conf with:
Code:
Section "Device"
      Identifier "card 0"
      Driver      "scfb"
EndSection

which yielded an xorg.log:
Code:
   >>> CHOMP <<<
[   501.589] scfb: PreInit 0
[   501.589] (II) scfb(0): Using: depth (32),   width (1920),    height (1080)
[   501.589] (==) scfb(0): Depth 24, (==) framebuffer bpp 32
[   501.589] (==) scfb(0): RGB weight 888
[   501.589] (==) scfb(0): Default visual is TrueColor
[   501.589] (==) scfb(0): Using gamma correction (1.0, 1.0, 1.0)
[   501.589] (II) scfb(0): Vidmem: 8100k
[   501.589] (==) scfb(0): DPI set to (96, 96)
[   501.589] (**) scfb(0): Using "Shadow Framebuffer"
[   501.589] (II) Loading sub module "shadow"
[   501.589] (II) LoadModule: "shadow"
[   501.590] (II) Loading /usr/local/lib/xorg/modules/libshadow.so
[   501.597] (II) Module shadow: vendor="X.Org Foundation"
[   501.597]    compiled for 1.18.4, module version = 1.1.0
[   501.598]    ABI class: X.Org ANSI C Emulation, version 0.4
[   501.598] (II) Loading sub module "fb"
[   501.598] (II) LoadModule: "fb"
[   501.598] (II) Loading /usr/local/lib/xorg/modules/libfb.so
[   501.600] (II) Module fb: vendor="X.Org Foundation"
[   501.600]    compiled for 1.18.4, module version = 1.0.0
[   501.600]    ABI class: X.Org ANSI C Emulation, version 0.4
[   501.600] scfb: PreInit done
[   501.600] (--) Depth 24 pixmap format is 32 bpp
[   501.600] scfb: ScfbScreenInit 0
[   501.600]    bitsPerPixel=32, depth=24, defaultVisual=TrueColor mask: ff0000,ff00,ff, offset: 16,8,0
[   501.600] mmap returns: addr 0x806e10000 len 0x7e9000, fd 5, off 0
[   501.600] scfb: ScfbSave 0
[   501.600] scfb: ScfbSave done
[   501.630] (==) scfb(0): Backing store enabled
[   501.631] scfb: ScfbScreenInit done
[   501.631] (==) RandR enabled
      >>> CHOMP <<<

A happy enough ending :)
 
Back
Top