unit PlatformUtils; { PlatformUtils.pas - small helpers for desktop/runtime platform checks. } {$IFDEF FPC} {$MODE Delphi} {$ENDIF} interface function QtPlatformAllowsOpenGLControls: Boolean; implementation uses SysUtils; function QtPlatformAllowsOpenGLControls: Boolean; var Qpa, FirstQpa, SessionType: string; Sep: Integer; begin Result := True; Qpa := LowerCase(Trim(GetEnvironmentVariable('QT_QPA_PLATFORM'))); SessionType := LowerCase(Trim(GetEnvironmentVariable('XDG_SESSION_TYPE'))); if Qpa <> '' then begin FirstQpa := Qpa; Sep := Pos(';', FirstQpa); if Sep > 0 then FirstQpa := Copy(FirstQpa, 1, Sep - 1); Result := FirstQpa <> 'wayland'; Exit; end; Result := SessionType <> 'wayland'; end; end.