Thunderbolt et GPU externe
Brancher plusieurs écrans sur un ordinateur portable ou augmenter les performances graphiques d’un appareil équipé d’une carte graphique d’entrée de gamme a toujours été le Graal de certains utilisateurs. En effet, pourquoi être obligé de déplacer un monstre de plusieurs kilos et 5 cm d’épaisseur quand un simple ultraportable de 11 pouces pourrait offrir — à la maison — les mêmes performances dans les jeux ? La solution est simple : la carte graphique externe. Nous avons déjà testé dans le passé des solutions en USB 2.0, des solutions en USB 3.0 et des boîtiers permettant d’installer une carte en ExpressCard sans jamais être totalement satisfait. Mais il y a pourtant une solution qui est dans la pratique assez efficace, nous allons le voir, le Thunderbolt.
Le Thunderbolt, c’est quoi ?
Nous avons déjà parlé du Thunderbolt, une technologie Intel essentiellement portée par Apple, même si quelques PC — chez Intel, Gigabyte ou Acer — sont équipés de connecteurs à cette norme. Il s’agit — en schématisant — d’un bus PCI-Express externe (4 lignes à la norme 1.1) couplé à une sortie DisplayPort 1.1. Il est donc possible de proposer des boîtiers intégrant un connecteur PCI-Express classique, qui va permettre de brancher une carte graphique. Ça, c’est la théorie.
Le problème des boîtiers externes
Le problème est simple : Intel et Apple ne semblent pas aimer les solutions permettant de brancher n’importe quelle carte en Thunderbolt. Sonnet est la seule société à proposer des modèles dotés d’un connecteur PCI-Express x16, les Sonnet Echo Express, et ils sont très chers — entre 400 et 800 € sans câble — et posent des problèmes avec les cartes graphiques. Les autres boîtiers ne proposent en général pas d’emplacement x16 ou ont tout simplement été retirés de la vente, comme le recherché TH05 de BPlus. Pour notre test, comme nous allons le voir, nous avons utilisé une autre solution.
ExpressCard et Thunderbolt
La solution privilégiée dans le monde du eGPU (external GPU) est l’ExpressCard. L’idée est simple : Sonnet propose un adaptateur Thunderbolt vers ExpressCard capable de fonctionner en PCI-Express 2.0 (500 Mo/s au total) et les adaptateurs ExpressCard vers PCI-Express se trouvent assez facilement et sont fonctionnels avec une carte graphique. L’Echo ExpressCard Pro de Sonnet vaut environ 150 € (sans câble). La bande passante réelle est donc de 500 Mo/s (2 lignes PCI-Express 1.1) au lieu de 1 Go/s (4 lignes PCI-Express 1.1) mais le coût de l’installation est nettement plus faible.
ExpressCard vers PCI-Express
Il faut ensuite un adaptateur ExpressCard vers PCI-Express. Nous avons utilisé un ViDock 3 (déjà utilisé dans notre dossier sur les cartes graphiques externes) qui vaut environ 200 $ mais une société taiwanaise, BPlus, propose un adaptateur nettement moins onéreux, le PE4L, qui vaut environ 70 $. La société propose même un boîtier qui permet d’intégrer une alimentation, la carte graphique et les composants nécessaires pour 60 $.
Une alimentation externe
Enfin, il faut généralement une alimentation externe. En effet, les cartes graphiques puissantes nécessitent souvent l’utilisation de connecteurs PCI-Express 6 pins ou 8 pins pour fournir assez d’énergie. Il est donc nécessaire d’utiliser une alimentation ATX (BPlus fournit un petit boîtier permettant d’allumer l’alimentation sans PC) ou un boîtier externe capable d’alimenter correctement une carte graphique (par exemple un ViDock 4). Dans notre cas, avec un ViDock 3, nous avons utilisé une alimentation ATX en plus du boîtier.
Le choix de la carte et de l’ordinateur
Pour notre test, nous avons utilisé une carte Quadro K5000 dans sa version Mac, pour une bonne raison : notre machine de test était un MacBook Air 2012. Nous avons donc préféré, pour les tests, utiliser une carte prévue pour fonctionner sur un ordinateur Apple. Dans la pratique, nous avons aussi essayé une GeForce GTX 260, une GeForce GT 610 et une Radeon HD 5770 sans que cela pose de problèmes au niveau matériel. La Quadro K5000 est une carte basée sur le même GPU GK104 que la GeForce GTX 680 mais avec des fréquences un peu plus faibles : environ 700 MHz au lieu de 1 GHz. Dans la pratique, la carte offre des performances qui la placent entre la GeForce GTX 660 et la GTX 670. La carte ne nécessite qu’un seul connecteur 6 pins en plus de l’alimentation fournie par le bus PCI-Express. Nous avons utilisé un MacBook Air pour la compatibilité Thunderbolt (rare dans le monde PC) mais le montage fonctionne sur n’importe quel PC équipé d’un port Thunderbolt ou d’un emplacement ExpressCard.
Sous Mac OS X
Sous Mac OS X, les cartes graphiques NVIDIA fonctionnent sans soucis, une fois que les pilotes ont été modifiés. La raison est simple : le bus Thunderbolt n’est pas un simple bus PCI-Express. Il y a une différence majeure : la prise en charge du branchement à chaud. Apple a donc ajouté un flag dans les pilotes qui indique la compatibilité avec le branchement à chaud et empêche le chargement du pilote s’il n’est pas présent. Dans les faits, il suffit d’ajouter ce flag et de ne pas brancher ou débrancher la carte à chaud, sous peine d’obtenir un kernel panic. Le cas des cartes AMD est un peu différent : si les cartes sont reconnues, des bugs sont présents, avec un rafraîchissement de l’image très lent et des flashs dans les zones qui se modifient.
Batman Arkham City
Les jeux disponibles sous Mac OS X sont rares, mais il existe tout de même quelques portages. Pour le premier test, nous avons choisi Batman Arkham City, un jeu à succès. Nous avons pu jouer à ce jeu avec tous les détails au maximum en 1 600 x 1 200 sur un écran externe branché sur la carte graphique externe. Le MacBook Air est équipé d’un Core i7 Ivy Bridge à 2 GHz (3,2 GHz en mode Turbo) et de 8 Go de RAM.
StarCraft 2
Le second jeu que nous avons essayé est StarCraft 2. Le jeu fonctionne très bien en 1 600 x 1 200 avec tous les détails au maximum, du moins tant que le nombre d’unités n’est pas trop élevé. Il suffit en général de diminuer quelques détails pour que le jeu ne saccade pas en cas de grosses attaques, le bus limité à 500 Mo/s étant parfois limitant dans ce jeu. Il est évidemment bien plus fluide qu’avec l’IGP Intel HD 4000 de l’ordinateur.
Sous Windows : l’allocation des ressources
Sous Windows, un problème est très courant : l’allocation des ressources. Nous en avions parlé lors de notre dossier sur les GPU externes, et il est toujours d’actualité : les BIOS (ou les UEFI) des ordinateurs portables ne sont pas prévus pour gérer des GPU externes. Dans la majorité des cas, le résultat est simple : un code 12 dans le gestionnaire de périphériques, la carte graphique n’arrivant pas à obtenir une zone mémoire suffisamment grande pour s’initialiser. Heureusement, il existe une solution : un petit programme qui permet de modifier l’allocation des ressources au démarrage, DIY eGPU Setup. Ce programme vaut 25 $ et son but est simple : libérer une zone mémoire assez grande pour que le GPU s’initialise. Son usage n’est pas trivial, mais l’auteur répond aux courriels très rapidement. Nous ne fournissons pas de tutoriel pour une bonne raison : les réglages dépendent de l’ordinateur, de la carte graphique et de la méthode de connexion.
Optimus like
Sous Windows, il existe une option intéressante dans les pilotes NVIDIA — c’est aussi possible sur les cartes AMD avec des logiciels de chez Lucid — : la possibilité d’utiliser l’écran interne de l’ordinateur portable pour l’affichage. Il s’agit en simplifiant de la technologie Optimus utilisée dans les ordinateurs portables : la carte graphique dédiée effectue les calculs et transfère ensuite les données dans le framebuffer de la carte graphique intégrée, qui gère l’affichage. C’est très pratique, même si la solution a un coût au niveau des performances : elle implique un trafic important sur le bus PCI-Express qui est dans notre cas limité en bande passante. Dans certains cas, nous allons le voir, il est donc préférable d’utiliser un écran branché directement à la carte graphique.
Metro Last Light
Pour tester la fonction, nous avons lancé un jeu récent, assez lourd : Metro Last Light. Avec tous les détails à fond, le jeu est parfaitement jouable dans la définition native de l’écran (1 366 x 768), comme le montre la vidéo. Il est aussi possible de jouer en 1080p de façon fluide en diminuant un peu les détails sur un écran externe avec notre carte Quadro K5000 de test.
3D Mark : Intel HD 4000
Pour nos tests, nous avons utilisé un benchmark assez classique : 3D Mark dans sa dernière version. Pour la première salve de tests, nous avons utilisé l’IGP intégré à la machine, un GPU Intel HD 4000. Le PC portable est basé sur un Core i7-3667U (2 cores, 2 GHz, 3,2 GHz en mode Turbo) accompagné d’un SSD et de 8 Go de RAM. Le score est d’environ 34 000 sur le test Ice Storm, environ 3 000 sur Cloud Gate et 362 sur Fire Strike.
3D Mark : Quadro K5000 avec un écran externe
L’utilisation de la carte graphique dédiée — une Quadro K5000 — montre directement les gains, du moins avec un écran externe. La carte est équipée d’un GK104 complet (1 536 unités de calcul) cadencés à 700 MHz, elle se place entre la GeForce GTX 660 et la GeForce GTX 670 en terme de performances. La carte est environ 2,5 fois plus rapide sur le test Ice Storm (86 500), trois fois plus rapide sur Cloud Gate (9 500) et dix fois plus rapide sur Fire Strike (3 600). Les détails des tests montrent que si les tests graphiques sont très bons, les tests physiques sont limités en partie par le CPU, qui ne possède que deux cores avec HyperThreading alors que beaucoup de machines de jeux ont des processeurs à quatre cores. Notons d’ailleurs que le site de 3D Mark place notre machine un peu au-dessus de la moyenne des ordinateurs portables de joueurs.
3D Mark : Quadro K5000 sur l’écran interne
Le dernier test est intéressant à analyser : nous avons exécuté le benchmark en utilisant l’écran interne du PC portable. Dans ce cas précis, les données sont envoyées à la carte graphique externe, qui effectue les calculs et transmet ensuite les données à afficher au framebuffer de l’IGP, qui gère l’affichage. Et à ce moment-là, le bus Thunderbolt limite les performances : la saturation du bus est très visible. Sur un test léger au niveau des calculs (Ice Storm), l’activation de l’écran interne divise les performances par plus de trois, on passe de 86 000 environ à 24 000. Sur le test intermédiaire, on passe de 9500 à 8 400 alors que sur le test qui demande beaucoup de calculs, le score bouge très peu : 3 500 environ au lieu de 3 600. La raison est simple : le premier test est léger et la carte affiche 750 fps en temps normal. Quand la carte doit envoyer les images dans la mémoire du GPU interne, elle est de facto limitée par la bande passante : chaque image (en 720p dans ce test) demande environ 3 Mo/s, et le bus est limité en théorie à 500 Mo/s, ce qui limite évidemment énormément le résultat final (qui est d’environ 100 fps). Sur un test plus lourd, la carte ne dépasse pas 15 ou 20 images/s, ce qui ne sature pas le bus et ne limite donc pas les performances. Cette saturation est d’ailleurs artificielle : sur un jeu récent, la perte est très faible pour des raisons de performances, et sur un jeu ancien, la bande passante suffit pour garder une fluidité irréprochable.
Le coût total
Maintenant que nous avons prouvé que c’est possible techniquement, est-ce intéressant d’un point de vue financier ? Tout dépend de vos attentes. Pour une solution efficace avec une machine Thunderbolt, il faut compter un adaptateur Thunderbolt vers ExpressCard et son câble (environ 200 €), un adaptateur ExpressCard vers PCI-Express (environ 50 €), une alimentation ATX correcte (les modèles d’entrée de gamme testés récemment valent moins de 80 €) et — ce n’est pas obligatoire — un boîtier pour ranger le tout (45 € chez BPlus), soit un total de 300 € environ sans carte graphique. Si vous voulez simplement brancher des écrans, n’importe quel modèle d’entrée de gamme suffit (moins de 40 €) mais pour jouer, une GeForce GTX 650 est selon nous un bon choix, et les cartes valent entre 125 et 150 €. La GeForce GTX 650 offre un bon niveau de performances tout en n’étant pas trop limitée par la bande passante du bus Thunderbolt, et le choix d’une carte NVIDIA permet un meilleur support sous Mac OS X (pour ceux que cela intéresse) et la possibilité d’utiliser nativement l’écran interne de l’ordinateur (idem).
Face à un ordinateur pour joueurs
Avec une carte graphique correcte, on se retrouve donc avec un budget minimal de 500 € environ pour un montage propre, sans écran. Les performances seront, avec un ultraportable puissant, proches de celles d’un ordinateur portable pour les joueurs. À vous de voir si les avantages (et les inconvénients) sont intéressants pour votre usage. La solution ultraportable + carte graphique est évolutive — on peut changer la carte graphique —, mais nécessite de la place sur un bureau pour la carte, un écran externe pour tirer parti de la puissance de la carte et peut poser des problèmes sur les jeux très gourmands au niveau du processeur. Les ordinateurs portables de joueurs ont — souvent — un grand écran et un processeur puissant, mais n’ont de portable que le nom et sont peu évolutifs au niveau du GPU. En revanche, le coût total est souvent à l’avantage du PC portable de joueurs, même si ce n’est pas toujours le cas.
Au final
Au final, le Graal n’a pas encore été trouvé : le choix des composants est laborieux, la partie logicielle n’est pas triviale et nécessite quelques connaissances — on est assez loin du plug-and-play tant vanté par Windows 95 — et les performances ne sont pas toujours celles attendues. Si la solution est globalement performante, le bus limite toujours dans certains cas. La solution est donc à réserver à ceux qui aiment bidouiller et n’est pas à conseiller à un utilisateur lambda. Espérons que le Thunderbolt 2 (qui permettra d’atteindre la bande passante d’un connecteur PCI-Express x8) et l’arrivée de boîtiers dédiés comme celui de Silverstone annoncé au CES changeront les choses…
Les derniers articles