This is an attempt to collect portability issues across our stack

We try to keep this matrix updated to reflect the state of the current GNOME release (currently 3.7).













Linux

Solaris

FreeBSD

OS X

Windows

OpenBSD

Base

GIO

file monitoring

inotify

fen

kqueue

kqueue

native API

kqueue

file type detection

xdgmime

xdgmime

xdgmime

native API

native API but incomplete

xdgmime

volume monitoring

(./) (uses gnome-disk-utility)

(./)

(./) (uses hal)

?

-

-

credentials passing

(./)

-

(./)

?

-

supports only g_socket_get_credentials()

application support

(./) (uses dbus)

(./) (uses dbus)

(./) (uses dbus)

-

-

(./) (uses dbus)

settings support

(./) (uses dconf)

(./) (uses dconf)

(./) (uses dconf)

(./) (uses NSUserDefaults)

(./) (uses registry)

(./) (uses dconf)

GTK+

printing

cups

papi

lpr, cups

cups

native API but likely somewhat broken

lpr, cups

show users of mounts

(./)

-

-

-

-

(./)

app menus, global menus

(./) (with gnome-shell, using D-Bus APIs)

-

-

(./)

-

-

Hardware support

gnome-disk-utility

(./) (uses udisks)

-

-

-

-

-

gnome-media

volume control

(./) (uses pulseaudio)

( (./) uses the old mixer )

(./) (uses pulseaudio)

?

-

(./) (uses pulseaudio)

GStreamer

video input

(./) (DC1394, video4linux)

?

v4l2

?

?

(./) v4l2

sound I/O

(./) (uses ALSA)

(./) (uses OSS)

(./) (uses OSS)

?

(./)

(./) (uses sndio)

gnome-bluetooth

(./) (uses bluetoothd)

-

-

-

-

-

gnome-lirc-properties

(./) (only Fedora and Debian-based distributions)

-

-

-

-

-

System Settings, session management, etc

gnome-control-center /
gnome-settings-daemon

printing

(./) (uses cups)

?

?

?

?

(./) (uses cups)

networking

(./) (uses NetworkManager)

?

-

?

?

-

sound

(./) (uses pulseaudio)

?

?

?

?

(./) (uses pulseaudio)

keyboard

(./) (uses XKB)

?

?

?

?

(./) (uses XKB)

input methods

(./) (uses IBus)

?

(./) (uses IBus)

?

?

(./) (uses IBus)

bluetooth

(./) (uses bluetoothd)

?

?

?

?

-

displays

(./) (uses XRANDR)

?

?

?

?

(./) (uses XRANDR)

power

(./) (uses upower and logind)

?

(./) (uses upower)

?

?

(./) (uses upower)

backlight control

(./) (uses xbacklight or sysfs)

-

-

-

-

-

accounts

(./) (uses accountsservice)

?

?

?

?

(./) (uses accountsservice)

date & time

(./) (uses timedated)

?

?

?

?

-

language

(./) (uses localed)

?

?

?

?

-

info

(./) (uses hostnamed and systemd)

?

?

?

?

-

gnome-session

session tracking

(./) (uses logind or ConsoleKit)

(./) (uses ConsoleKit)

?

?

?

(./) (uses ConsoleKit)

idle tracking

(./) (uses XIDLETIME)

(./) (uses XIDLETIME)

?

?

?

?

mutter

Wayland support

(./) (uses logind and kms)

-

-

-

-

-

Applications

cheese

camera device detection

(./) (uses udev)

- (disabled code available)

(./) (uses hal)

-

-

-

gnome-logs

(./) (uses journald)

-

-

-

-

-

PortabilityMatrix (last edited 2017-09-29 19:41:03 by TingPing)