Display view on custom homepage
You have many ways to apply what you are looking for.

The easy way is to use Context module with Empty Front Page module

Another way is to write your own module, something like the following code:

function myfront_menu() {
  $items = array();

  $items['frontpage'] = array(
    'title' =&gt; 'My homepage',
    'page callback' =&gt; 'myfront_front_page',
    'access callback' =&gt; TRUE,
    'type' =&gt; MENU_CALLBACK,
  );

  return $items;
}

function myfront_front_page() {
  global $user;

  if (in_array('administrator', array_values($user-&gt;roles))) {
    return views_embed_view('view_name', 'display_id');
  }

  if (in_array('authenticated user', array_values($user-&gt;roles))) {
    return views_embed_view('view_name', 'display_id');  
  }

  if (in_array('role2', array_values($user-&gt;roles))) {
    return views_embed_view('view_name', 'display_id');  
  }

  if (in_array('role3', array_values($user-&gt;roles))) {
    return views_embed_view('view_name', 'display_id');  
  }

  return '';
}