Surface materials stretching on mesh
Ok, here's what you have to do. Get rid of the existing UV map. Go to object properties, UV maps, select the map and click the minus button. See below:

Then, go to object mode, press ctrl + A and select apply scale. Then, go back to edit mode smart unwrap again, but make sure to untick the &quot;stretch to bounds box.

You should be good to go from there.
However, since all you're unwrapping is a flat plane, you should be fine to just use &quot;unwrap&quot; instead of &quot;smart unwrap&quot;. You will still need to remove the existing map though, as smart unwraps tend to &quot;stick around&quot;.
EDIT - Here is a .blend file showing what the UV unwrap should look like to avoid stretching, as well as the node setup for both the image texture and the generated one. I hope this helps to clarify that the ability to texture has nothing to do with subdivisions (in most cases). If you want the image tiled, look at the scale section of the Mapping node.
Here is the file -