From owner-freebsd-questions@freebsd.org Fri Aug 21 04:13:53 2015 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2ABAA9BD2E8 for ; Fri, 21 Aug 2015 04:13:53 +0000 (UTC) (envelope-from quartz@sneakertech.com) Received: from douhisi.pair.com (unknown [IPv6:2607:f440::d144:5b3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 05D46651 for ; Fri, 21 Aug 2015 04:13:52 +0000 (UTC) (envelope-from quartz@sneakertech.com) Received: from [10.2.2.1] (pool-173-48-121-235.bstnma.fios.verizon.net [173.48.121.235]) by douhisi.pair.com (Postfix) with ESMTPSA id 1161F3F7BC for ; Fri, 21 Aug 2015 00:13:44 -0400 (EDT) Message-ID: <55D6A578.40103@sneakertech.com> Date: Fri, 21 Aug 2015 00:13:44 -0400 From: Quartz MIME-Version: 1.0 To: freebsd-questions@freebsd.org Subject: Re: running a graphical application over ssh - where is rendering done? References: <201508200907.t7K97ITO033940@mech-as222.men.bris.ac.uk> In-Reply-To: <201508200907.t7K97ITO033940@mech-as222.men.bris.ac.uk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 04:13:53 -0000 > If I conect from my laptop to a server via ssh -XY, > and then launch a 3D graphical application on the server, > and view the results back on my laptop, which side > is doing the rendering? Your laptop. > I naively assumed that rendering is done where the graphical > program is running, i.e. on the remote server, The thing is, with X, half the program is on each. Part of your problem here is confusion of terms. An "X server" is not the same thing as a physical server machine, and it's not required to run on one. In this context the "server" is the software that accepts user input and draws pixels to a screen, "clients" are the applications interacting with it (whether they're running on the local machine or a remote one). > So does the graphical application send the data over the > network back to my laptop, where I render it using the local resources? Yes. The easy way to think of this is that the application simply tells the X server software what to draw, the X server (running on your laptop) is responsible for actually doing the drawing. If you really want the physical server machine to do all the rendering and have it send the desktop back to the laptop as a live video stream, you need to look into VNC, not X. But be aware that VNC eats quite a lot of net bandwidth.