US President Donald Trump described the attack as “an act of cowardice”.
“I know that I stand with everyone in this country to condemn today’s hateful act. There are no reasons or excuses that will ever justify killing innocent people”, he wrote on Twitter.
The victims of the attack have not yet been named. However, Mexico’s President Andres Manuel Lopez Obrador said three Mexicans were among those killed, Reuters news agency reports.
The attack came less than a week after a teenage gunman killed three people at a California food festival. The Texas shooting has been dubbed the eighth
“We as a state unite in support of these victims and their family members,” Mr Abbott said.
“We must do one thing today, one thing tomorrow and each and every day after this – we must unite.”
The police and FBI are investigating whether an anonymous white nationalist “manifesto”, shared on an online forum, was written by the gunman. The document says the attack was targeted at the local Hispanic community.
El Paso Police Chief Greg Allen said reports of an active shooter were received at 10:39 local time (16:39 GMT), and law enforcement officers were on the scene within six minutes.
The Walmart was full of shoppers buying back-to-school supplies at the time of the attack.
The 21-year-old is the only suspect in custody over the attack, and police say no officers fired their weapons while arresting him.
Mr Allen said the ages of victims were “numerous” as he described the situation as “horrific”.
El Paso Police Department had earlier tweeted that blood donations were “needed urgently”.