How to programmatically render a view pager?
The object returned from $views-&gt;pager() is an object implementing ViewsPluginInterface and extending PagerPluginBase. If you look at the parameters PagerPluginBase::render() accepts, you will see they are:


  $input: Any extra GET parameters that should be retained, such as exposed input.


If you look at Full::render(), you have an idea of how that parameter is used.

  $tags = array(
    0 =&gt; $this-&gt;options['tags']['first'],
    1 =&gt; $this-&gt;options['tags']['previous'],
    3 =&gt; $this-&gt;options['tags']['next'],
    4 =&gt; $this-&gt;options['tags']['last'],
  );
  return array(
    '#theme' =&gt; $this-&gt;themeFunctions(),
    '#tags' =&gt; $tags,
    '#element' =&gt; $this-&gt;options['id'],
    '#parameters' =&gt; $input,
    '#quantity' =&gt; $this-&gt;options['quantity'],
    '#route_name' =&gt; !empty($this-&gt;view-&gt;live_preview) ? '&lt;current&gt;' : '&lt;none&gt;',
  );


In any case, you don't pass to the method of that object the object itself.