AppStream has a Feature called relations (https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-relations). It allows to specify that a Software needs a specific input method, display size or memory. Discover should show this Information in the Interface. e.g. App xy recommends a Mouse, App xy supports a Gamepad, App xy requires a screen size of at least ... pixels or App xy requires at least 4GB of free RAM. Discover should also show a warning when the User tries to install a App which requirements does not meet the System e.g. App xy requires at least 6GB of RAM, but you have only 4GB, so it will not work correctly. Are you sure you want to install this App. This would be useful on devices like the Steam Deck.
It can be hard to understand what "display size" actually means. The average user probably won't know the logical pixels of their device. It's probably better to show "supports mobile/tablet/gaming handheld" instead (see https://docs.flathub.org/docs/for-app-authors/metainfo-guidelines/#device-support). Even better would be a "supports your device" or "does not support your device" (based on the currently attached inputs, display size and memory). Many appdata do not specify the required information (yet). Therefore, the logic should be: If not specified, assume desktop application (i.e. consider mobile/tablet/gaming handheld as unsupported).