|
||||||
| Forums FAQ | Members List | Search | Today's Posts | Mark Forums Read |
| ARCHIVES - Tips, Tricks & Tweaks Post your tips, tricks and tweaks about SuSE Linux in here. Please do not ask questions here - this is for factual information |
|
|
|
LinkBack | Thread Tools | Display Modes |
|
|||
|
The default opensuse kernel does not come optimized to play Enemy territory Quake Wars (either server or client)
In order to optimise the kernel you have to recompile it with the options mentioned here - (the options should help general desktop usage also - i always feel my system is more responsive after doing this..) http://www.linuxgames.com/news/feedback.ph...action=flatview --------------------------------------------------- Other notes: You'll want to enable low latency (CONFIG_HZ_1000=y) and preemption in your kernel for optimal performance; here are the system requirements: * GNU/Linux x86 system: o x64/amd64 systems supported through 32 bit emulation layer only o BSD systems through Linux ABI compatibility o Pentium® 4 2.0 GHz or Athlon XP 2000+ processor o 512MB RAM o Kernel 2.6, configured for 1000Hz tick and other low latency settings --------------------------------------------------- I must first mention that if you have the proprietary Nvidia drivers it is best to remove then first and replace with the nv or vesa driver while you are recompiling (ATI users sorry i have no idea........) I am using opensuse 10.3 but the same thing applys to ealier versions. (1)Uninstall Nvidia drivers:- --------------------------- Method 1. If you installed via Yast (easy way - http://en.opensuse.org/NVIDIA ):- - remove the package with Yast - remove all nvidia files except the xorg-nv driver - go to a console by pressing CTRL+ATL+F1 - stop xdm with this command /etc/init.d/xdm stop init 3 - then set the nv driver with sax sax2 -m 0=nv - restart X /etc/init.d/xdm start Method 2. If you have installed with the driver from nvidia.com (hard way- http://en.opensuse.org/NVIDIA ):- - go to a console by pressing CTRL+ATL+F1 - stop xdm with this command /etc/init.d/xdm stop - go to the folder containing the driver - then uninstall with ./NVIDIA-Linux-x86_64-100.14.11-pkg1.run --uninstall - then set the nv driver with sax sax2 -m 0=nv - restart X /etc/init.d/xdm start (2)Install dependencies and compile:- --------------------------- - Firstly ensure that the symbolic link /usr/src/linux does not exist if it does remove it - Install these dependencies for kernel compilation gcc libtool ncurses ncurses-devel kernel-source - (this is the suse patched kernel source) make i.e:- zypper install gcc ncurses libtool ncurses-devel kernel-source linux-kernel-headers make - You should now have a symbolic link from /usr/src/linux to the kernel-source you have just installed you can check with ls -al /usr/src - copy your present kernel kernel config - then edit the kernel options:- cp /boot/config-[version] /usr/src/linux/.config - i.e:- cp /boot/config-2.6.22.9-0.4-default /usr/src/linux/.config cd /usr/src/linux make menuconfig - if all has gone well you should be the kernel config menu - you can add remove features in the kernel here it is best not to remove anything you are unsure of or you may not be able to boot your new kernel To be safe only change these options:- General setup --> Local version - append to kernel release - add something in here to identify the kernel and give it a different name to the previous kernel. [ ] Optimize for size - Disable this Processor type and features ---> Processor family - select -> choose your processor type Preemption Model - select -> Low Latency Desktop[*] Preempt The Big Kernel Lock ) - enable this (if available) Timer frequency - select -> (1000 HZ) - save by pressing esc until it asks to save - then select yes - compile the kernel make clean make all make modules_install install (this will take a while..) - providing opensuse controls grub (and grub is installed) it should automatically add it to the grub options - if not please add an entry for your new kernel reboot and select the new kernel from grub. (3). Reinstall Nvidia drivers :- --------------------------- - Use the 'hard way' from http://en.opensuse.org/NVIDIA - rebooot |
|
|||||
|
Quote:
* GNU/Linux x86 system: Quote:
Quote:
Quote:
Quote:
|
|
|||
|
Thanks broch for the most useless comments I have ever heard please kindly find another thread to rubbish and annoy.
I have edited the 'copulation' spelling mistake so your excitable mind can calm down now... Whats more opensuse users SHOULD recompile their kernels in order to run ET quake wars as the default suse kernel does not have '1000Hz tick and other low latency settings' that are mentioned in the Minimum system requirements in the Readme.txt Once again here is the complete Minimum system requirements from /usr/local/games/etqw.demo/README.txt (I am running the demo client as the full version isn't ready yet...) BROCH - THIS IS FROM THE OFFICIAL README .................. -------------------------------------------------------------------- Minimum system requirements: ---------------------------- - GNU/Linux x86 system - x64/amd64 systems supported through 32 bit emulation layer only - BSD systems through Linux ABI compatibility - Pentium® 4 2.0 GHz or Athlon XP 2000+ processor - 512MB RAM - Kernel 2.6, configured for 1000Hz tick and other low latency settings 3D acceleration (not required for server): - SDL >= 1.2 [1] ( >= 1.2.10 recommended ) - latest OpenGL drivers - correctly configured! - nVidia® GeForce 5700 (except LE and VE) - ATI® Radeon 9700 -------------------------------------------------------------------- The reason I say remove the nvidia kernel first to due to the fact that when they reboot in to the custom X will not work and this may confuse new users... Whats more this guide is a good starting point to recompile a kernel in opensuse... Quote:
|
|
|||||
|
I have no idea how many times you compiled kernel, but much of the information si not true:
1) you don't need to delete/uninstall nvidia or ati drivers during compilation or installation of a new kernel 2) Quote:
as far as I know suse is GNU/Linux x86 system Quote:
I assume that it should say: install 32-bit OS, not 64-bit (if quake is only 32-bit). There is no emulation 64-bit itanic without 32-bit would require emulation. AMD64 and intel EMT64 do not require emulation. If you install 64-bit suse you automatically get 32-bit subsystem, which is not emulation. In fact hybrid is faster than emulation. However if quake is 32-bit only, then best would be to install 32-bit OS. Quote:
Quote:
server requires high throughput, low overhead which is the opposite of HZ=1000 will not do anything to quake server unless you change quake software settings. if you are building server then: - you need optimized network parameters - optimized file system - kernel optimized for server (there is plenty more but your suggestions are for desktop). Low latency is desktop requirement, not server. check out dedicated ck server patch. Quote:
- you can install nvidia drivers to offline kernel - if you have no idea how to install nvidia to offline kernel then uninstalling nvidia driver is still unnecessary without going to init 3 you can edit from GUI xorg.conf replace nvidia with xorg driver and after restart you are back in GUI I don't know how someone building kernel can get confused with terminal window. uninstalling nvidia is useless and not necessary anyway. if you don't change xorg parameters, then after you boot to the new kernel you end up in console anyway. you may screw up kernel compilation and then what? I suggest to learn how to install several kernels on one machine all with working nvidia drivers. Currently I have four kernels on my system, three with nvidia driver installed so any of these three will boot to nvidia without installation or deinstallation. Fourth kernel is fail safe only no need for GUI. To build client (software): - optimize file system - optimize kernel for memory - set low latency (as you suggested), there are kernel patches that allow HZ settings above 1000 (up to 10000). You would have to play with these see which is really the best for the task - set hr timers - select best I/O scheduler (you will have to experiment which is the best) - patch 2.6.22 with CFS or SD cpu schedulers (2.6.23 has cfs scheduler incorporated) - disable most of the stuff you don't have - disable most of kernel video stuff - patch with ck desktop kernel patches - optimize TCP (use sysctl) - disable unused services - if possible do not use video cards with shared memory To build server - optimize kernel for memory - optimize kernel for high throughput - get best I/O scheduler - do not use cfs/sd schedulers - patch kernel with ck server optimized patches - disable unused kernel stuff - optimize network for high throughput (sysctl) - optimize file system (formatting flags and sysctl) - disable unused services - don't use compiz - don't use KDE/Gnome (use lightweight WM, so all your video power is not wasted for useless gimmicks) Either way you are building server or client both with quite opposite optimizations particularly at the kernel level - Now is this good enough for you as a critique? Personally I think that most of the info you provided is incorrect. o.k. I edited my first post too |
|
|||
|
Hi.
Actually i have been compiling kernels for some years - I have 4 linux Os's - gentoo, suse, ubuntu and JAD (realtime kernel..) 1) Uninstalling nvidia drivers - As you need to install the nvidia drivers after ever kernel upgrade / recompile (if using the driver from nvidia.com) it is cleaner (in my option) to remove the driver first... - no you do not need to - it is just cleaner !!! 2. 32bit emulation layer - this is for 64bit systems (like i am using) - You enable this in the kernel (you must also download 32bit emulation libraries..) - it is CONFIG_IA32_EMULATION: - I can play every 32bit game i have tried in a 64 bit gentoo/opensuse system. 3. 1000HZ for server - IDsoftware recommend that you have this option for servers too - i know in general that servers should have lower latency - but for ETQW 1000HZ is in the minimum requirements for CLIENT AND SERVER RE : CK patchset - I used to use it but it is not developed any more - however the new scheduler in 2.6.23 is nearly as good as CK's. I was writing this guide for newbies and I wanted it to be as simple as possible for ETQW users to have a kernel that met the games (SERVER + CLIENT !!!!!) minimum requirements - the default suse kernel config options are generally o.k and the few options I mentioned are all that is required to play correctly. I have no idea how you can say what i wrote is entirely wrong......... Why don't you try following the guide - you should have a kernel that can play ETQW (i.e the entire point of this post.) - if not let me know so I can update the guide. Quote:
|
|
|||
|
Quote:
there is nothing cleaner about uninstalling nvidia drivers first. This claim suggest that you never really read nvidia README file. you don't need to compile module for each kernel, it is enough for each kernel to allow installer to copy module and update nvidia information. That is all. So "cleaner" is your invention Quote:
Quote:
this setting is useless on server unless, you modify quake settings (as I suggested in the other suse forum) to summarize why this is wrong 1) on gentoo (you should know this, you are gentoo user), there are ck patches for 2.6.23 2) "cleaner" nvidia is made up by you and is not suggested/recommended by nvidia. That is why 3) HZ=1000 alone will not do any good to server. It is only needed if you want to increase FPS on server. Assuming that this is server low latency is wrong, unless you are using server for other stuff too. 4) CONFIG_IA32_EMULATION is default setting on 64-bit systems, 64-bit systems also have default other parameters that you forgot to mention, so I don't know why this one is more important. On 32-bit systems this option is not even available besides statement: x64/amd64 systems supported through 32 bit emulation layer only does not imply 64-bit OS. It only points to specific CPU architecture 5) you still failed to explain BSD ABI compatibility so, I still think that most of your howto consists of pretty inadequate information |
|
|||
|
Hi.
look i really do not want to get into a flame war 1. ck. I had been using the CK patchset for about a year (in most distros) until recently. While there may be a patch available in gentoo the project has ceased - http://members.optusnet.com.au/ckolivas/kernel/ - the 2.6.23 scheduler is improved anyway - Also since going to 64bit my machine is generally more responsive 2. Nivida:- - not ever used the k option - will this survive when you increase kernel version ? 3. 64bit:- - 32bit compatibility is enabled by default on 64bit default suse kernel (at least on 10.3), the 32 bit options you need enabled are CONFIG_IA32_EMULATION: │ │ │ │ Include code to run 32-bit programs under a 64-bit kernel. You should l │ │ turn this on, unless you're 100% sure that you don't have any 32-bit pr │ │ left. CONFIG_IA32_AOUT: │ │ │ │ Support old a.out binaries in the 32bit emulation 4. ID software have said that both server and client should be compiled that way - want to know more ask them.. 5. BSD ABI compatibility - I have no idea about this but assume that there is some sort of linux compatiblity mode within BSD - That is copied and pasted from the README - want to know more ask them.. I still refute your argument that my howto doesn't achieve the goal of meeting the requirements that IDsoftware have set ....... You cannot argue that if you follow my guide you will have a compiled kernel more optimised for desktop and ETQW than the default suse kernel.. |
|
|||
|
shrug,
this is not a flamewar. I am trying to explain that newbie will go quite wrong with your rxplanations. As I pointed before some options are default, some suggestions are useless (e.g. BSD AB compatibility, nvidia advice) if you want newbie to successfully build kernel, you have to be more careful, more accurate. 1) ck patch for 2.6.23 kernel: http://forums.gentoo.org/viewtopic-t-600890.html scroll down to the listing PATCHES # Con Kolivas patchset ckpatches-2.6.23.patch this patch is still made with Kolivas help though without support 2) nvidia switch is -K not -k all caps the application of all nvidia switches is explained in nvidia readme file also available on line 3) CONFIG_IA32_EMULATION: │ │ │ │ Include code to run 32-bit programs under a 64-bit kernel. You should l │ │ turn this on, unless you're 100% sure that you don't have any 32-bit pr │ │ left. this is default as i mentioned CONFIG_IA32_AOUT: │ │ │ │ Support old a.out binaries in the 32bit emulation this is not needed at all. I disabled this setting as currently everything is elf. I doubt that nowadays you will find many users still in need of AOUT. |
|
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|