Uh, have fun with that.

--Bob





On Mon, Jun 14, 2010 at 8:20 PM, Katrina Payne
<fullmetalhar...@nimhlabs.com> wrote:
> This also adds a rather odd burden here, that allows Linux to get a better
> standing for gaming.
>
> It is not that unknown that without mixing, Linux generally does not require
> anywhere near as much over head to run as windows.
>
> The minimum requirements to run a GUI on Linux is about 256MiB of RAM. This
> even includes GUIs like KDE and Gnome. Though XFCE and LXCE would be better if
> you really did only have 256MiB of RAM (well if you were using a DE... and not
> a slimmed down WM with only a few programs loaded into it)
>
> You can do just fine win 1GiB of RAM.
>
> Linux also, as an OS can run on some old Intel boards--that running an OS on
> would other wise be insane today. a Pentium 1 can still get (some) use with
> Linux.
>
> Not enough to really be noteworthy as a desktop PC... but, this is a lot less
> than the least you will get Windows 7 onto.
>
> So we have a nice toss up here:
>
> 1: Linux requires Software Rendering in place. IE: how rendering was done,
> before we got silly things like TNT and Voodoo on the market.
>
> 2: Linux requires significantly less overhead to run, as far as OS goes.
>
> If we can get it so that we can show Steam running on Linux, using mostly
> Software Rendering, and getting it to run as fast as the same game on Windows,
> on comparable hardware...
>
> This will definitely sell Linux as an OS...
>
> Which in turn will get various Graphics Card makers on board to add their
> support.
>
> You know--I kind of want to see somebody work on that goal then. I am almost
> ready to dig up some old books that go over the theory of 3d programming, just
> to pull make a software rendering engine for this idea.
>
> On Monday, June 14, 2010 07:59:45 pm Darren VanBuren wrote:
>> Yes, 3D drivers are definitely quite lacking on the GNU/Linux front,
>> but if Valve shows support for the development of these drivers, this
>> may prompt certain GPU manufacturers to step up their GNU/Linux driver
>> development.
>>
>> Darren L. VanBuren
>> =====================
>> http://theoks.net/
>> On Mon, Jun 14, 2010 at 18:35, Bob Somers <magicbob...@gmail.com> wrote:
>> > Something to consider, though, is that the 3D driver support is years
>> > behind from *ahem* a particular GPU manufacturer. I won't embarrass
>> > them by saying their name, so I'll just say their initials: ATI.
>> >
>> > Their driver support for Linux is, frankly, pathetic at best. The
>> > Fedora team is trying to solve this with their new free drivers in
>> > Fedora 13 (which, I'll admit, are quite good), but it's still not up
>> > to par with what you need to run a game. For example, the new free
>> > drivers have very little (read: practically none) support for basic
>> > vertex and fragment shaders. It will be at least another year before
>> > the free drivers are up to what ATI's crappy proprietary drivers are
>> > now. Even worse, right now you can get the proprietary drivers running
>> > on Fedora 11 alright, sort-of on Fedora 12 with some ugly hackery, and
>> > not at all on Fedora 13. Literally, ATI's Linux drivers are at least
>> > 12 months behind, and the free ones are 12 months behind that.
>> >
>> > Unless somebody gives ATI a swift kick in the nuts the situation does
>> > not look good.
>> >
>> > --Bob
>> >
>> >
>> >
>> >
>> >
>> > On Mon, Jun 14, 2010 at 5:01 PM, Darren VanBuren <onekop...@gmail.com>
> wrote:
>> >> Spoiler Alert. It's like the ratman drawing that says "She's watching
>> >> you." Canonical is she in that case.
>> >>
>> >> I'm personally a fan of Fedora, but if Steam on GNU/Linux is
>> >> distributed as a tarball, that'd be best in the interests of Valve.
>> >> Even if some people (mainly Ubuntu users) would be a bit stuck on the
>> >> concept of a tarball, it'd be minimal work for Valve, and maximum
>> >> cross-distribution compatibility.
>> >>
>> >> Darren L. VanBuren
>> >> =====================
>> >> http://theoks.net/
>> >>
>> >>
>> >>
>> >> On Mon, Jun 14, 2010 at 16:49, Harry Jeffery
>> >> <harry101jeff...@googlemail.com> wrote:
>> >>> It's all down to personal opinion, as long as it does what you need
>> >>> quickly and effectively then it's fine. I've yet to see the dark side
>> >>> in cannonical so I honestly can't say much about their ethics.
>> >>>
>> >>> Either way, I <3 Linux and so should Valve.
>> >>>
>> >>> On 15 June 2010 00:19, Katrina Payne <fullmetalhar...@nimhlabs.com>
> wrote:
>> >>>> Well a few points:
>> >>>>
>> >>>> The commands in the Linux Commandline... and well those on any UNIX or
> UNIX
>> >>>> Workalike have not really changed since the 1970s. You could pick up a
> book on
>> >>>> BASH or TCSH from the 1970s, and still have most of what you should do.
>> >>>>
>> >>>> This kind of has allowed for tools to be put around these base
> functions, such
>> >>>> as autocomplete, history and well--quite a few other really handy
> tools, to be
>> >>>> added into the Linux CLI, to make its functionality go above and beyond
>> >>>> anything cmd.exe is capable of.
>> >>>>
>> >>>> I still have yet to look into Microsoft's PowerShell though.
>> >>>>
>> >>>> This is why most Linux users use the CLI. It has developed into an
> experience
>> >>>> that is completely unlike the root canal that is cmd.exe. You can
> actually go
>> >>>> in, and get some functionality from it. A lot of functionality too. It
> also
>> >>>> gives the feeling that the user has more direct control--without that
> Pesky
>> >>>> GUI in the way (though, technically, this just has a bunch of other
> items
>> >>>> typically in the way, such as init.d, bash, various bash extensions--
> maybe
>> >>>> screen... you are just trading one thing in the way, that is, a GUI,
> for
>> >>>> another thing, that is a CLI).
>> >>>>
>> >>>> Now, that said--there are plenty of Desktop Environments ('DE') that
> Linux can
>> >>>> make use of, that pretty much make requirement of CLI use unnecessary.
> That
>> >>>> is, between KDE4, LXDE, XFCE, E17 and GNOME2/GTK, the average Linux
> user
>> >>>> nearly never has to do anything on the CLI. Unless something has gone
> horribly
>> >>>> wrong. In which case, he should be able to get the local Linux Admin to
> fix it.
>> >>>>
>> >>>> As that technically is what he'd do if something went horribly wrong on
>> >>>> Windows. He'd get his local Windows Expert to fix it.
>> >>>>
>> >>>> The "required" use of the CLI rather than GUI to properly use Linux, is
> much
>> >>>> like how using Vi is "required" rather than EMACS for the proper use of
> Linux.
>> >>>>
>> >>>> Also, I use Fedora, and typically find it a LOT easier to work with than
>> >>>> Ubuntu. This maybe, because Fedora tries not to be a bunch of asshats
> to the
>> >>>> people upstream. The same cannot be said about Canonical, the owners of
>> >>>> Ubuntu. Where, from what I have seen on their policies by past
> actions...
>> >>>> their MAIN desire is to be asshats to the upstream.
>> >>>>
>> >>>> I have a long winded rant on why I do not like Ubuntu... I mostly just
> state
>> >>>> that nobody uses Ubuntu Linux. Typically most people go over to another
> Linux
>> >>>> Distro afterwards, generally agreeing that no matter what Linux Distro
> they go
>> >>>> to, be it Fedora, Puppy (well, prior to being based on Ubuntu), Arch,
> Slack,
>> >>>> Gentoo, Knoppix, CentOS, LFS, etc., is better than Ubuntu... either
> that, or
>> >>>> they return to Windows--only using Ubuntu as a rescue disk setup.
>> >>>>
>> >>>> Right, now then. Back to your regular discussion
>> >>>>
>> >>>> ~Katrina
>> >>>>
>> >>>> On Sunday, June 13, 2010 07:20:08 am Harry Jeffery wrote:
>> >>>>> People like the command line because it's very fast to do what you
>> >>>>> want if you know what you are doing. So far ubuntu seems to be the
>> >>>>> most user friendly linux distro and what a majority of linux gamers
>> >>>>> might use.
>> >>>>>
>> >>>>> Personally I'd just use arch-linux and optimize my system...a lot. As
>> >>>>> long as nVidia release decent linux drivers it's all good.
>> >>>>>
>> >>>>> On 13 June 2010 14:01, Adam Buckland <adamjbuckl...@gmail.com> wrote:
>> >>>>> > A couple of things:
>> >>>>> >
>> >>>>> > Elan Ruskin gave a good talk on porting to consoles at GDC08. The
>> >>>>> > slides are on Valve's website. There's something in there that may
>> >>>>> > help you here:
>> >>>>> >
>> >>>>> > #ifdef __GNUC__
>> >>>>> > #define MAXSI_THREADED_VARIABLE __thread
>> >>>>> > #else
>> >>>>> > #define MAXSI_THREADED_VARIABLE __declspec( thread )
>> >>>>> > #endif
>> >>>>> >
>> >>>>> > You may wish to use another define for windows rather than an else
>> >>>>> > statement in case you wish to port it somewhere else in the future.
>> >>>>> >
>> >>>>> > Also I agree, the Mac and Linux ports are incredibly similar. In
> fact,
>> >>>>> > on the Mac port a shell script is executed first to determine whether
>> >>>>> > it's running on OS X or Linux.
>> >>>>> >
>> >>>>> > Finally Linux could be a great consumer platform. Before it can
> become
>> >>>>> > this, it needs to learn that not everyone is a power user, and make
>> >>>>> > things simple. Learn from the Mac app bundles, and remove reliance
> on
>> >>>>> > the command line (for example the output is shown on the update
>> >>>>> > software). It scares normal users. That, and a lot of power users
>> >>>>> > (like myself), don't want to have to rely on the command line for
>> >>>>> > everything.
>> >>>>> >
>> >>>>> > On 13 June 2010 13:28, Jonas 'Sortie' Termansen <hlcod...@maxsi.dk>
> wrote:
>> >>>>> >> I'd like to share a few experiences about porting code and writing
>> >>>>> >> portable code. Scroll down, if you just want my thoughts on how
> portable
>> >>>>> >> the Source Engine is.
>> >>>>> >>
>> >>>>> >> Recently I've been porting my in-development digital distribution
>> >>>>> >> platform to GNU/Linux for the fun of it. Naturally, most of my code
>> >>>>> >> didn't work right out of the box. But it is worth that several
>> >>>>> >> subsystems actually worked at the first attempt, or with an edit or
> two.
>> >>>>> >> For instance, my string system and parser classes/functions
> compiled
>> >>>>> >> right away.
>> >>>>> >>
>> >>>>> >> However, stuff like accessing the filesystem, multithreading, user
>> >>>>> >> interfaces, networking, and so on didn't work because it relied on
> the
>> >>>>> >> Windows API. The interesting part here is that POSIX does things
>> >>>>> >> differently; but almost in the same manner as Windows. That means
> for
>> >>>>> >> each Windows API call you use, there is often one or more POSIX
> calls
>> >>>>> >> that does the same thing (if you add a little abstraction, that
> is).
>> >>>>> >>
>> >>>>> >> Now, some of you heavily suggested the use of #ifdefs all around
> the
>> >>>>> >> code. You should not use #ifdefs each time you rely on platform
> specific
>> >>>>> >> behavior, but only in shared function calls or in headers. For
> instance,
>> >>>>> >> if you have to open a file. On Windows you can call the CreateFile
>> >>>>> >> function, while POSIX supports the open function. That means for
> each
>> >>>>> >> file opening, you need to write something like.
>> >>>>> >>
>> >>>>> >> #ifdef linux
>> >>>>> >> int FileHandle = open(Path, Flags);
>> >>>>> >> #elif defined(WIN32)
>> >>>>> >> HANDLE FileName = CreateFile(...)
>> >>>>> >> #endif
>> >>>>> >>
>> >>>>> >> Naturally, this isn't very pretty. And if this was used all over
> the
>> >>>>> >> Source Engine you would spend a lot of time writing #ifdefs and
> checking
>> >>>>> >> platform specific documentation. However, I am not saying #ifdefs
> are a
>> >>>>> >> bad idea. But instead of using them all over your code, you should
> move
>> >>>>> >> them to a shared class or function that simply implements all this
> once.
>> >>>>> >> In my code, I declared an abstract baseclass called MaxsiFileSystem
> that
>> >>>>> >> implements all the common functions to access the local filesystem.
> So
>> >>>>> >> now when I wish to open a file for reading, I would call:
>> >>>>> >>
>> >>>>> >> MaxsiHandle FileHandle = FileSystem()->OpenFile(Path,
> MAXSI_FILE_READ |
>> >>>>> >> MAXSI_FILE_SEQUENTIAL);
>> >>>>> >>
>> >>>>> >> This additional layer of abstraction makes it very easy to add
> support
>> >>>>> >> for new platforms as you just have to define a new child of the
> abstract
>> >>>>> >> baseclass. I have also added such a layer for my Window System.
> This
>> >>>>> >> means I call my own APIs in my actual code, and then it redirects
> it to
>> >>>>> >> the Windows API or GTK+ depending on your platform.
>> >>>>> >>
>> >>>>> >> You might also have noticed I implemented a FileSystem() function,
> in
>> >>>>> >> the same manner I have implemented a WindowSystem() function that
>> >>>>> >> returns the window system in use by the current function/class.
> This
>> >>>>> >> makes it easy to simply swap the window system on the fly. For
> instance,
>> >>>>> >> my source mod links against my distribution platform (LGPL) and my
> mod
>> >>>>> >> then implements some of these interfaces. It could implement the
>> >>>>> >> MaxsiWindowSystem class using VGUI and then my programs could be
>> >>>>> >> natively drawn ingame with mininal work.
>> >>>>> >>
>> >>>>> >> Other porting issues includes how the VS compiler breaks a lot of
> the
>> >>>>> >> C99 standard. To counter this, I have simply declared a lot of
> macros in
>> >>>>> >> my header files that replaces platform specific behavior. #defines 
>> >>>>> >> are
>> >>>>> >> very powerful for this. For example, to declare a thread-specific
>> >>>>> >> variable, I would use this header define:
>> >>>>> >>
>> >>>>> >> #ifdef __GNUC__
>> >>>>> >> #define MAXSI_THREADED_VARIABLE __thread
>> >>>>> >> #else
>> >>>>> >> #define MAXSI_THREADED_VARIABLE __declspec( thread )
>> >>>>> >> #endif
>> >>>>> >>
>> >>>>> >> And then use the MAXSI_THREADED_VARIABLE macro to declare each
> threaded
>> >>>>> >> variable. My experience is also that the GNU Compilers throw much
> more
>> >>>>> >> errors and warnings than the Visual Studio compiler - and it is
> often
>> >>>>> >> right to do so. Visual Studio teaches you to write bad
>> >>>>> >> standards-breaking code, even if you just compile using MinGW you
> will
>> >>>>> >> get to fix a lot of issues that makes your code rather non-portable.
>> >>>>> >> (Like avoiding Microsoft-specific extensions to the C Library, in
> some
>> >>>>> >> cases.) But Microsoft did break the standard enough that you might
> need
>> >>>>> >> to use some of the above methods for porting, just to get your code
>> >>>>> >> compiling using MinGW.
>> >>>>> >>
>> >>>>> >>
>> >>>>> >> Now to return to the Source Engine. In my experience a lot of stuff
> in
>> >>>>> >> the SDK code is already defined using interfaces, classes, and such.
>> >>>>> >> That means the actual porting issues have been outsourced to the
> Engine.
>> >>>>> >> This, in turn, means that the SDK code will be rather easy to port
>> >>>>> >> compared to the Engine. Fortunately, as the Source Engine already
> is
>> >>>>> >> highly modular using interfaces, it is easy to just swap a DX
> renderer
>> >>>>> >> with OpenGL. As such, they already have the framework to make their
> code
>> >>>>> >> work on new platforms - all they have to do is implement their
>> >>>>> >> interfaces using the local system calls. If you start to do this on
> the
>> >>>>> >> low-level interfaces and move upward, then soon your program starts
>> >>>>> >> working in all its glory.
>> >>>>> >>
>> >>>>> >> As for a Steam Client for GNU/Linux. It exists. I lost the link,
> but it
>> >>>>> >> seems that Valve uploads nightly builds of their Steam Client, and
> each
>> >>>>> >> day it works just a bit better. Last I heard, the Steam Client
> actually
>> >>>>> >> logged on and the actual UI was partially drawn. I am not sure why
> Valve
>> >>>>> >> is so silent about this - perhaps it's just experimental, or they
> they
>> >>>>> >> to make a big deal about it, like they did with the Mac. Seriously,
> when
>> >>>>> >> are they gonna shut up about it? Last I saw was that they made a
> funny
>> >>>>> >> TF2 comic about it.
>> >>>>> >>
>> >>>>> >>
>> >>>>> >> Porting programs to Linux hasn't been very hard for me, though it
> is a
>> >>>>> >> lot of work, if you want to do it properly. It seems that the
> Source
>> >>>>> >> Engine is already highly portable and GNU/Linux build doesn't seem
> too
>> >>>>> >> difficult, as it seems from the nightly builds. There is no doubt
> about
>> >>>>> >> whether we need a client for GNU/Linux, it is just a matter of time
>> >>>>> >> before they announce and release it.
>> >>>>
>> >>>>> > Bucky
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives, please 
> visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to