Jump to content

Veyrdite

Member
  • Content Count

    95
  • Joined

  • Last visited

  1. Whilst I'm here: http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2.html DgVoodoo is more than just a 3dFx->DX shim, it's also a DX(all up to 9?)->DX11 shim. It lets you force certain things like AA, mipmapping, scaling and resolution. Given that it's doing it at the graphics API level it's a good alternative to forcing things in graphics driver settings. I used to only use it for getting 3DfX games working, didn't realise it also does directX.
  2. > but I originally wrote AMD off, since my understanding was they got rid of the option to force AA in games at the driver level on Linux. I would recommend you try both AMD and Nvidia cards/drivers. Sadly forcing things like AA reliably seems to be outside primary goals of any vendor, so it's hit and miss regardless of the philosophy. The AMD ones are first-class open source and do not come with a GUI configuration tool. Instead they're compatible with the "standard" open source tools (xrandr, driconf, Xorg.conf, etc) as well as a wide variety of hacks & library replacements (libstrangle, etc). The Nvidia ones come with a GUI tool, but replace several system libraries so other tools do not work. The GUI tool they come with is basically the _only_ source of configuration you can do. Also note the potential difficulties with older Nvidia cards (you will have to make sure the right [old] version of the Nvidia drivers are installed). > If the scaling can be done on the card / OS itself and it's downsampling the image to be sent back at native resolution, great. Yes, that's what xrandr --scale does. The monitor does not even flicker (or notice), it's still being sent whatever resolution it was already set to. N.B. xrandr is a standard X11/Linux tool for playing with screen resolutions, rotations, arrangements etc. Many GUI monitor configuration programs use it (or the xrandr interfaces) behind the scenes. It's not hard to use or learn, esp compared to many other command-line tools. Will not 100% work with Nvidia drivers. > I'm not going the custom resolution route that can send rates that the monitor can be incompatible with [...] being good for the monitor Note 1: not true with LCDs, their mux/decoder flatout rejects out-of-spec signals. Some are more forgiving (eg allow more than a few % timing stretch) but that's about it. Yes a potential problem if you are using a CRT. Note 2: you won't be able to do this accidentally, adding new modelines to X11/Linux requires long commands full of numbers (and modeline calculator programs (unless you're crazy). Not something to worry about unless you want to. > Is a Geforce 770 really not enough muscle to run 15-20 year old games on Linux? The "on Linux" factor is "it depends". Some games run faster under Wine than Win, others visa versa. Some stutter more, some less. Also the variables of whether or not you are using dxvk & what graphics drivers (radeon, amdgpu, nouveu, Nvidia, etc) make a big different. There is a whole stack of libraries between the game and your human peripherals that differs from Windows: wine .dll libs, directx->opengl (wine default) or vulkan (dxvk) shim libs, userspace opengl/vulkan (eg mesa), kernel opengl/vulkan drivers (eg radeon, amdgpu) and of course video card firmware. I've been playing some Tony Hawks games under Wine on my desktop the past week. THPS 4 has a horribly laggy level even on a good computer. THUG2 runs a lot better. These are games from 2000-2004 that may or may not be able to run faster than period computers because either of the different system stackup or perhaps in-built limitations, I don't have a fast system with period OS (XP) to test on. > Say I have a DirectX 8 game and a DirectX 9 game that's not in any Linux game database. That's most of the games I play I've got a folder of notes over the years of individual tweaks, methods or manual cracks I've had to implement for some more obscure stuff, I should probably write some of it up. > What steps would you recommend I take for: > 1. Getting each game to run There is no one correct approach to step 1, other than: 1. Try 2. Furiously Google error messages 3. Ask for help on Wine forums or mailing lists if you can't proceed (I've had what I thought were impossible problems answered with simple magic. Summon the gods of the d3dx8->d3dx9 shim dlls :D) Some of the steps of my approach these days: 1. Create a fresh Wineprefix for each game, so installing arbitrary DLLs does not affect the other games I have. If you're only starting then just ignore this step, learn it later when you start having issues. 2. Try and run and install the game. 3. If something goes wrong: check to see if the game is on WineHQ. 4. If not, google around. Often the fixes required for playing the game on modern Windows also apply. 5. Run the game from the console, so you can see if it's spitting errors about a certain DLL or feature. Often you just need to install some arbitrary windows stuff (d3dx9 libraries, etc). Again, follow the fixes Windows users have to use. Winetricks is a good shortcut program for getting & installing stuff. 6. Pull out the big guns. WINEDEBUG=+dll,+reg wine program.exe and then lots of perusal. Sometimes it's stupid stuff, other times it's multithreaded mayhem and I have no hope of working out what's going on. When I get to the point of disassembling I know I'm lost and crazy. 7. Ask for help in a sqeaky voice on the WineHQ forums. As per above, some nice people there I don't use any of the GUI frontends (Lutis now?) so I can't comment on those. > 2. Attempting to force antialiasing on said games. Try all of the methods mentioned in this thread. No single method will work everywhere. Every game initialises and uses its graphics api (dx7/8/9/etc, opengl, glide, etc) in completely unique and arbitrary ways, what works for one will not work for another. Things are less standard in the 3D world than you think, remember your custom 3D-in-every game programs? The xrandr --scale option will "always" work (provided the game can be made to play at the higher resolutions it now thinks your monitor uses) but you will end up with tiny HUD+text unless the game is smart enough to scale these with resolution. It will also potentially be the slowest, but I doubt rasterisation is going to be a bottleneck or FPS limiting factor for old games unless they are in a software-rendering mode.
  3. I've been watching a few of this guy's game reviews, they remind a little of Ross' https://www.youtube.com/user/perochialjoe/videos?disable_polymer=1 Very low view count (few hundred per video). Hope someone finds them interesting.
  4. Hmm. @Ross Scott, I probably shouldn't have used your site's artwork there without asking. Please tell me if it offends.
  5. Publishers changing games from goods to services VS allowed 2nd hand goods markets I am going to imagine that the large games publishers are going to want to feel the minimum disruption possible. The less change, the better, especially if you are a manager in a big company. In your video you give the argument that changing the appearance of games from being goods to services will impact image and sales. You specifically mention the idea of games having to state that they will only last X years and be a subscription service. I think this is being optimistic of how honest you expect the game companies to be. I'm imagining they would instead do something like this: Positive spin on 'subscription' to make it look normal. Lever the existing microtransactions as a partial explanation for it being subscription. Perhaps make a couple of transactions that "complete the game content" that are monthly, and say that if you don't pay you are not seeing the "full game". This would be so much easier for them, they basically have to change nothing other than boxes, their license texts and what they say publicly. No company structure change, no budget changes, no planning changes. This is the least resistance path. Debating your Impacts of demanding 2nd hand games be tradable (for the big game publishers) I don't think "more money to the developer" is directly linked to "more games" and "lower prices". The exact relationships are more complex. I would like to think of "a sale" and "money going to the publisher" as two separate but very connected concepts. "Money going to the publisher" does not directly lower prices. Prices are set based on research and marketing of what price is going to maximise the overall volume of money in. How much the game cost to make or how much it profits are irrelevant variables when deciding the sale price, you don't price based on demand or costs, you don't have to (this isn't a "limited" physical good). "Money going to the publisher" may or may not make more games get released. I'm a bit sceptical, I would assume that game release quantities and schedules are just as gamed as game prices. For smaller developers: definitely yes, most of this money goes toward game creation. But for the bigger boys: big chunks of it (possibly most of it?) goes towards marketing, corporate and planning. "A sale", if we now consider everything other than the financial gain part of it, is more of a numerical concept. This game sold X copies over Y time in Z pattern. It's a bit like a hit counter -- a potential indicator of success, but not an indicator of future success (ie making more games & lowering their prices). Take for example Valve: used to make games, got rich from it, decided to stop making games. If you throw money at a publisher or game developer is does not get used for what you want it to get used for, instead they choose how to use it, and they will always run their sales at what they think is the optimal pricing strategy (not the lowest pricing strategy to reward consumers). How would a 2nd hand market be implemented? I think it's worth investigating all of the options here. Fundamentally it's hard to do 2nd hand stuff for digital goods: Allow anyone with a copy to install & play (GoG-style) Force there to be only one owner/player at a time via DRM Iron-hand the 2nd hand market by restricting it to your platform. Option (1) is the most liked by consumers, but there's no way to confirm transmission of ownership. I like this model, and I think there are arguments out there that this might lead to more sales (because people like this freedom), but I'm not sure. Option (2) requires phone-home DRM to make certain that only one person can use the game at a time. I have some games I picked up off the street at a council cleanup a few years back, including a copy of GTA4. "Awesome", I thought, "these are mine now". Nope, many of these games refuse to activate : ( Option (3) is where the courts give the companies enough lee-way to run a closed-house 2nd hand market. This would be rife for exploitation unless there is a lot of governance. There's not much point of the 2nd hand market if it's controlled by the same people as the 1st hand market, especially since there is no easy way of confirming that products are not being artificially "destroyed" to game the 2nd hand market prices. This final implementation detail is what matters. This may even end up being a whole second stage of proceedings. If companies are allowed to run their own 2nd hand markets then they could game them just as they game the 1st hand market. They don't even have to be transparent about it: "destroying" and "creating" a copy of a game is free to them. Deabating the benefit on shady key sellers I don't think a 2nd hand market is going to help shady sellers like G2A. They will still operate in the same way and be just as shady: 2nd hand games cost more than free/dodgy/scammed keys Claiming a key is a valid 2nd hand game takes zero effort Their services would still have the same prices and users would still (mostly) see them as just as dodgy as they are now. Perhaps if someone goes to extra effort of creating a decent-looking 2nd hand game trade platform this might change, but they would have to be very wary of distancing themselves from traditional shady key sites.
  6. Great video Ross. I hate invisible walls, so I'm really glad to see a game where you can keep on going. I remember editing the maps single-player maps for a game once to remove the walls. It completely broke the linear progression of the level, but being able to explore the island my own way made me so happy. The tone was completely different, something the original experience lacked.
  7. Ooh, thankyou for the suggestion. The Mint installs on my folks' laptops are now ancient and I want something else to put them on.
  8. Ross: Ignore Ubuntu's stance. They have announced lots of bad decisions before and had to backstep later, or never gone through with them. It sounds like the people who made this decision don't play games (luddites I say!). Keep using whatever Linux distro you prefer. If and when you encounter problems then (and only then) consider changing to one of the almost-identical-distros-with-a-different-name-and-colour-scheme that abound. The wires are indeed alpha textures on large rectangular polys. I think this game is too old to be a shader-mess, it's more likely some fixed-pipeline variant. There are a few more reg keys in the doc I link that could have an effect, I'll give them a try. 16-bit. Ie games and programs from around the Win1,2,3,95 era. There are quite a few, as even into the reign of Win98 many games would still use 16bit executables to provide compatibility with older systems. 32-bit executables gave programmers a lot less headache (no 64K limit, proper memory management done for you, etc) but it was a still a new option. I believe Windows has dropped supported for WOW64 (16 bit support on 64-bit windows) completely now. On 32-bit versions you might still be able to enable it manually? But on 64-bit I believe you are SOL. The Linux world is unfortunately almost as bad at the moment. Wine supports 16-bit executables perfectly, but you also need your kernel to support them. This is an optional feature when the kernel is being compiled, to change it you have to recompile your kernel (easier these days, but still not something most ordinary users will want to do). Different distros choose different options to compile their kernels. I'm unsure what Ubuntu does (try it to find out), but I know my distro (Void) has it disabled. If you are lacking 16bit LDT then you will get messages like this when trying to run old 16-bit Windows programs: $ wine esheep.exe [...] 0032:err:winediag:build_module Failed to create module for "krnl386.exe", 16-bit LDT support may be missing. 0032:err:module:LdrInitializeThunk "krnl386.exe16" failed to initialize, aborting $ Once upon a time 16-bit LDT was enabled by default in basically all distros, then some security flaws were found in it and as a result many distros changed their build settings to disable it. I've heard that the problems have since been fixed, but few distros have bothered changing the settings back. After all, who cares about old software? Pfft!
  9. Ooh OK Britain. I'll start taking a look. Are the dates on the donation history on the site correct? If so this has been online longer than I realised. GG doesn't host the videos, they're still Youtube embeds. For GG to provide ways to download videos it would need to both rehost and consult the individual video licences (or contact the authors). This is a large cost + manual task, probably not something in its current goals.
  10. ... so I got thinking. Wine provides a directX->openGL shim layer. That layer would have to convert sampling config (AA) from one world to the other. Perhaps I can fix this problem at the wine level? I just gave it a whirl on my laptop, it looks like you can: there's a registry key called SampleCount that seems to do the job. You have to manually create the key (and its folder) with 'wine regedit', they are not there by default. Before (no reg key) and after (SampleCount=4) on GTA San Andreas: Note that transparent objects are still shite, but all other objects and terrain are much smoother. I suspect all games will react differently. This game supports AA natively, so it's probably a really bad example. It might be forcing off the features that would fix the AA on the alpha blend/test textures (transparent wires and trees). @Ross Scott: name a few games of interest (that you have have particular troubles with and/or are interested in) and I'll see if I can get copies to give them a whirl. I'm not a rich guy, so please don't ask for anything too new Hope this helps. Sidenote that may be useful: the proprietary Nvidia drivers replace openGL libraries with their own versions, so you (unfortunately) have to fully uninstall the Nvidia drivers if you want to switch your cards out for an ATI/AMD one. Just keep this in mind if you have any issues (eg no graphical environment, or a slow 1024x768 graphical environment) when you test an ATI card.
  11. > Downsampling is of course an option, but I'm not sure that applies to older games that may not support modern resolutions (if it does, let me know).  Modern resolutions == higher resolutions or actual modern 16:9 ones? While you don't need exact modern resolution suppotr you do at least needer "higher" resolution support for your game for this to work. Any sort of much higher res windowed mode will do if you are happy to live with some black bars around the edges. Another problem worth mentioning: HUD scaling Many games keep text, HUD and menus 1:1 with the pixels. Depending on the game this can be anything from a somewhat harmless nuisance (eg on-screen health and ammo in an FPS) to completely frustrating (inventory management). > they dropped all support for forcing Antialiasing on the driver level Raining anisotropic fridges, it looks like the Mesa devs did drop the overrides: > Some users don't understand that these variables can break OpenGL. The general is rule is that if an app supports MSAA, you mustn't use GALLIUM_MSAA. > [...] > In a nutshell, it does more harm than good. I'm presuming Phoronix used them wrong, Phoronix's forum community kicked up a stink and the Mesa developers got sick of it. Whilst Phoronix is a great resource it has some reasonably hellish forums & community. There will always be ways of hacking this support back in through shim shared objects (same things as 'hacked' dlls for games). Unfortunately I've only ever seen random bits of code that claim to do this, but never compile right or otherwise seem to work.
  12. Slowing games down Some games can't handle your fast CPU. I have some solutions that partially work or help, but no perfect solutions. A perfect solution should be possible on Linux, as it's "just" a case of getting the kernel scheduler to only provide your game with timeslots every x scheduling slots or so, but I'm not aware of any pre-existing solutions to let you do that. Examples games I've encountered include: Interstate76 Sky moves too quickly Wheels glitch in/out of the ground (visual issue) Game seems 100% playable, until you get to the mission where you have to jump over a bridge. You can *never* make it with a high FPS. As it turns out: higher FPS dramatically reduces your vehicle's max speed. Dramatically. No-One Lives Forever (NOLF) 1 Cutscenes cut each scene too early Long audio (speech) tends to get cut cpulimit CPUlimit is a tool that I think works by sending SIGSTOP and SIGCONT signals to your process. ie suspend and unsuspending it very quickly. It works, but it's ugly and takes some fiddling to get the numbers right. It does not run at a high enough of a frequency to keep things nice & smooth to play. libstrangle Last time I tried: I didn't have luck compiling this myself and getting it to work. Did it require special cross-compilation to make a 32-bit version when you are on a 64-bit OS? Wine games are almost always 32bit, so you need a 32bit version for them. cpufreq/cpupower These tools let you manually choose your processor's frequency scaling levels and governors. You can use them to force your cores to stay in their lowest speed. On my laptop this works great, I can go down to 480MHz. My desktop unfortunately only goes down as far as 1.6GHz, which is still too fast for some of these games, but it is still a noticeably and dramatic improvement. If you want to record video whilst doing this: only change the frequency of one CPU core and look into how to make a process only use that core on Linux. That way the rest of your cores run at full speed for your capture software + encoding. Force software rendering (MESA only, ie not proprietary graphics drivers) The Mesa part of the driver stack has some pixel-perfect software renders included as a fallback. You can force-enable them through one of Mesa's many flags (worthwhile skim-reading): LIBGL_ALWAYS_SOFTWARE=true wine game.exe YMMV. Sometimes this is perfect. Other times it's overkill and your FPS shatters.
  13. Wow, quite a bit of info here. I can offer some advice in other areas as I (unfortunately) have quite a bit of experience getting things working on Wine. If you know what a 'debugger' in then you can have a taste of my latest hellish story (on the plus side: it now seems that all of the W3Dhub games now work on Wine). A note about drivers, ATI vs Nvidia I'm a staunch ATI person on Linux. AMD moved their driver development away from their proprietary drivers (Fglrx/Catalyst) and onto the open-source ones (Radeon, AMDGPU) years ago, so now the open source ones (the ones you get by default on Linux, zero effort) are absolutely amazing. Extremely stable, feature-complete and fast. It used to be so much worse, trust me. Nvidia are still sitting on their proprietary drivers (NVIDIA), with the open-source community effort (nouveau) getting little/no help and so still being pretty crap (despite the best & probably tireless efforts of the devs). Proprietary drivers interfering with other tools/features Driver-level FPS/performance overlays Xrandr: upscaling and downscaling xrandr is the standard Xorg utility for managing screens and displays. Resolutions, refresh-rates, orientations, arrangements, etc. I use it instead of any GUI tools for arranging & setting up my monitors because (IMHO) it's simpler and more predictable. Sidenote: you can add your own modes (resolutions + refresh rates), something that I used to use to try and push my monitors to slightly higher rates (eg 60->72FPS). Every monitor has different tolerances, some are much nicer than others. Not covered here. First you will want to familiarise yourself with Xrandr. Run it without any options and it will dump your list of displays + their supported resolutions: ** I can't paste here, it makes a mess. there's no option in the forum replies for monospace text or code anymore? What? ** I typically use xrandr like this: xrandr --output DVI-0 --mode 1920x1080 xrandr --output DisplayPort-1 --right-of DVI-1 Today we're going to use it to perform monitor scaling. Upscaling: low-res games pixel-perfect Downscaling: a dirty way of forcing full AA on games that refuse to support it
  14. A really good episode Ross. Lots of story telling, kept me engaged. Sorry this game was such a pain on your end, I hope there's not a correlation between pain and video quality Make way for Neo-Ross! All watchers must be shackled in the dungeon. Atmosphere of Apocalyptica It's a bit too disconnected from reality for my tastes. Why build these castles or those beautiful terratzo floors if there are no people to enjoy it? Where are the people? Not everyone can be an armoured soldier. What's really needed are hundreds of 'normal people' milling around the levels. They're small and get accidentally killed all the time (due to sword swings and bullets), but are immaterial enough to not affect the gameplay or dialog in any way. Who are you really saving? And with that the universe would become a much more interesting place, especially playing as "the good guys", all without uttering a single word more of dialog. You're doing it wrong Ross! Have you ever played something and felt like you must be misunderstanding the genre? A weird feeling that you are missing key knowledge that everyone else knows. Like playing an FPS but not realising you can use the mouse instead of the arrow keys, or never learning about double-jump and instead spending hours trying to glitch up places. I can imagine it for this game. "What do you mean you have to crouch whilst jumping to dash? It does what to your velocity and damage? There are commands to tell your team where to stand? Enemy spawn points can be disabled by chanting hail Mary three times whilst holding a gun?" I had this discovery playing Star Wars Pod Racer. As a kid I could never get far into the game on N64, everyone would overtake me, there would be no money for upgrades, and the races became unwinnable. I recently bought a PC copy of this game and it turns out there's a boost mechanic that you need to do a certain combo of input to use. You really needed the manual. Suddenly the game was cheese easy and my entire mental asylum built around it fell into the void. So remember Ross: you're playing it wrong.
×
×
  • Create New...

This website uses cookies, as do most websites since the 90s. By using this site, you consent to cookies. We have to say this or we get in trouble. Learn more.