---
title: "MTLRemoveDeviceObserver(_:)"
framework: metal
role: symbol
role_heading: Function
path: "metal/mtlremovedeviceobserver(_:)"
---

# MTLRemoveDeviceObserver(_:)

Removes a registered observer of device notifications.

## Declaration

```swift
func MTLRemoveDeviceObserver(_ observer: any NSObjectProtocol)
```

## Parameters

- `observer`: An object instance that represents the observer the doc://com.apple.metal/documentation/Metal/MTLCopyAllDevicesWithObserver(handler:) function creates.

## Mentioned in

Finding multiple GPUs on an Intel-based Mac Handling external GPU additions and removals

## See Also

### Locating GPUs

- [Finding multiple GPUs on an Intel-based Mac](metal/finding-multiple-gpus-on-an-intel-based-mac.md)
- [Getting the GPU that drives a view’s display](metal/getting-the-gpu-that-drives-a-views-display.md)
- [MTLCopyAllDevices()](metal/mtlcopyalldevices().md)
- [MTLCopyAllDevicesWithObserver(handler:)](metal/mtlcopyalldeviceswithobserver(handler:).md)
- [CGDirectDisplayCopyCurrentMetalDevice(_:)](coregraphics/cgdirectdisplaycopycurrentmetaldevice(_:).md)
- [MTLDeviceNotificationHandler](metal/mtldevicenotificationhandler.md)
- [MTLDeviceNotificationName](metal/mtldevicenotificationname.md)
