Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

3 Ways to Record Your Linux Desktop

Posted by HamzaZafar | Sunday, May 03, 2009 | | 0 comments »

In this article I'll include three ways to screencast your Linux desktop with the help of recordMyDesktop, XVidCap and Istanbul. These three applications are included in every major distribution.

recordMyDesktop and frontends
recordMyDesktop has both a command-line interface and two frontends, a GTK and a Qt graphical frontend. You can run it in a console, do whatever stuff you want to record, then hit Ctrl+C to stop it and recordmydesktop will create an out.ogv (Ogg Theora) video file in the current working directory.

recordMyDesktop - GTK interface

If you need to customise the video settings for the screencast, you can do it either with the command-line tool or by using one of the graphical frontends. For example, to run the GTK application use gtk-recordmydesktop.


recordMyDesktop will allow you to create a screencast and choose the video and audio quality, frame rate, include or exclude window decorations and the mouse pointer. It's easy to use and will surely do its job in a few clicks.
Official website

XVidCap
XVidCap is another pretty good GTK-based recording application. The first thing which jumps into attention when starting XVidCap is a red rectangle which can be moved around and resized and which will allow you to record only a certain portion of the desktop.

XVidCap

XVidCap allows you to save the screencast as an MPEG or AVI format.
Official website

Istanbul
These are not the only applications with which you can make a screencast. Have a look at Istanbul too, which is included in the repositories of all the popular distributions. Although it is probably the easier to use of all three, I found Istanbul to be the slowest when it comes to response time (it looks like it takes forever to encode the video), so you'll have to bear with it. Just like recordMyDesktop, Istanbul saves the screencasts into the free Ogg Theora format.
Official website

Istanbul

Have some other cool applications or ways for creating screencasts? Please share them in the comments below.

Source

Read more ...






Geek Engineer

How slow can Linux go?

Posted by HamzaZafar | Monday, April 20, 2009 | | 0 comments »

If it has a CPU, you can run Linux on it. Xboxes or iPhones, cars or calculators, Linux can live quite happily on any of these devices. But, when it comes to the desktop or laptop, how much processing power do you need to run a modern Linux desktop?

The short answer to this question is "not much at all." In fact, I don't think you could buy a computer at your local Best Buy or online that can't run Linux.

Let's take Ubuntu 9.04, which is due to arrive this week. The official minimum requirements for this popular Linux distribution are a 700MHz processor and 256MBs of RAM. I think that's too low. In my experience, you could run GNOME 2.26 on that slow a processor, but the RAM's way too low. You could pull it off with 512MBs, but you'd be happier with a Gigabyte.

A reader recently claimed to me that he had an older PC that can run Windows 7, but wasn't powerful enough to run any modern desktop Linux. Yeah. Right. Windows 7 'officially' requires, a 1GHz processor, 1GB of memory, 16GBs of free hard drive space and 128MB of graphics memory on a chip set or card able to support DirectX 9. As with every version of Windows going back to 1.02, Microsoft is lying about the minimum requirements.

In my Windows 7 testing, starting with Build 7000 to Build 7077, I've found that 7 requires at least a 1.6GHz processor and 2GBs of RAM to run at an acceptable level. Still, that's not bad, and it's certainly better than Vista. That said, there's no way any desktop that can run Windows 7 can't run Linux. Period. End of statement.

What about older PCs though? Linux works great on them. The oldest working server I have is one of the ones I used in 1999 to prove, for the first time, that Linux was a better file server than Windows NT. It's a white-box with a 266MHz Pentium II and 64MBs of memory. These days it's running openSUSE 10.3.

My least-powerful Linux desktop I'm currently using is HP Pavilion 7855 PC. It was born in 2001 with a 1GHz Pentium III and 512MBs of RAM. These days I run Mint 6 on this old vet of a PC. Frankly, that's a little too much operating system for it.

I'd be better off on this level of PC running a Linux that uses a lightweight desktop manager like Fluxbox or XFCE, instead of GNOME or KDE. There are also many desktop Linux distributions that are designed to work this kind of old hardware.

I'm particularly fond of DSL (Damn Small Linux). DSL can run on as little as a 486DX with 16MBs of RAM. I've used it myself on a 33MHz 486 PC with 32 MB of RAM.

DSL, which comes in a 50MB package, isn't a one trick pony. It's a real, live desktop Linux distribution with the Fluxbox windows manager, Firefox for Web browsing, office programs, IM client, and all the other trimmings. It's my first choice for really old PCs.

Many of my friends are also fond of the lightweight Puppy Linux and antiX MEPIS distributions. Both these distributions can run on PCs with as little as 64MBs of RAM and Pentium II 266MHz processors.

In short, if you have a PC that's still not old enough to vote, you can easily find a well-regarded and supported desktop Linux that will run great on it. I wonder how many of you are already running Linux on PC 'antiques.' Drop me a note on this article's comments areas and let me know just how slow you've been able to go with desktop Linux.

Source


Read more ...






Geek Engineer

The Wine development release 1.1.18 is now available.

Posted by HamzaZafar | Saturday, March 28, 2009 | , , | 0 comments »

What's new in this release (see below for details):
- RPC over HTTP support.
- Improved support for upgrades in MSI.
- Debug symbols in WineDbg on Mac OS X.
- Many Direct3D code cleanups.
- Various bug fixes.

The source is available from the following locations:

http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.18.tar.bz2
http://prdownloads.sourceforge.net/wine/wine-1.1.18.tar.bz2

Binary packages for various distributions will be available from:

http://www.winehq.org/site/download

You will find documentation on http://www.winehq.org/site/documentation

You can also get the current source directly from the git
repository. Check http://www.winehq.org/site/git for details.

Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.

----------------------------------------------------------------

Bugs fixed in 1.1.18:

2366 Wine unable to initiallize on NetBSD
4145 Redraw problem in "The Journal"
8072 Media Player Classic segfaults
11507 nwn2 dm toolkit missing graphical elements
11856 Any application: keyboard focus lost after a popup is unmapped, if SCIM is enabled
12225 EVE Premium, graphics glitches: some effects missing.
12723 LEGO Island Xtreme Stunts: always wants to install DirectX8.1
13308 comctrl32 listview toggles election while scrolling with ctrl key
13469 cmd can't handle long input (buffer overflow)
14014 T-Online Browser: Crash on unimplemented Functions (gdiplus.dll)
14080 Red Faction: sound does not work
14139 Governor of poker crashes
14185 Wine 1.0 networking issues - /proc/net/route doesn't exit on Solaris hosts.
14293 winhelp: Vertical scroll bar is missing in some cases
14624 Metal Fatigue: crashes before game start
14703 Null character comparison problem in vb6 application
14711 'Type' command in cmd.exe does not line feed in the end of a file
15356 Textures are not displayed in Final Fantasy XI with an ATI card
15411 Dragon NaturallySpeaking 10 takes a very long time to finish loading
15717 Far Cry 2 quits when OffscreenRenderingMode=fbo
16130 Runes of Magic client doesn't communicate with the server
16394 No sound in ever17 without native msacm32.dll
16570 FineReader 7 Pro: won't save to multiple files.
16941 interrupts cause nested trace output
17183 Not showing any text in one of the textboxes
17499 Sun JRE 1.6.0_12 installer crashes
17683 ExpressPCB: does not properly print circuit board traces
17705 Audiosurf: crashes at startup
17759 CommandLineToArgvW bug with empty lpCmdLine
17822 Logic Friday: crashes when entering equation
17843 Rubbish entries in registry on clean .wine
17854 build broken in rpcrt4 on OpenSolaris

----------------------------------------------------------------

Changes since 1.1.17:

Alexander Morozov (1):
hal: Fix KfRaiseIrql declaration.

Alexandre Julliard (24):
loader: Fix installation for platforms that don't use extra binaries.
ctl3d32: Make ctl3d.dll and ctl3dv2.dll into stand-alone 16-bit modules.
imm32: Make imm.dll into a stand-alone 16-bit module.
wintab32: Make wintab.dll into a stand-alone 16-bit module.
wnaspi32: Make winaspi.dll into a stand-alone 16-bit module.
twain_32: Make twain.dll into a stand-alone 16-bit module.
rasapi32: Make rasapi16.dll into a stand-alone 16-bit module.
winmm: Make sound.drv into a stand-alone 16-bit module.
winnls32: Make winnls.dll into a stand-alone 16-bit module.
w32skrnl: Make win32s16.dll into a stand-alone 16-bit module.
w32skrnl: Make w32sys.dll into a stand-alone 16-bit module.
winebuild: Make sure main module is properly initialized.
configure: Always set LDPATH, rpath support is broken on many platforms.
wineps.drv: Set the line join and cap styles based on the selected pen.
avifil32: Make avifile.dll into a stand-alone 16-bit module.
wininet/tests: Fix the http tests for the new winehq.org behavior.
winebuild: Skip non-functions when building the undefined exports file.
kernel32: Revert incorrect part of commit 7c3529f1cc6a3ce6f0a403c337926c8fc9fbfc57.
wininet/tests: Fix another instance of changed behavior on winehq.org.
configure: socketpair needs -lsocket on Solaris.
ntdll: Get rid of the no longer used pthread emulation.
include: Get rid of the definitions for the pthread emulation.
msi/tests: Avoid size_t in traces.
rpcrt4: Disable HTTP support if we don't have socketpair and related networking functions.

Anders Jonsson (1):
wordpad: Update Swedish translation.

Andrew Nguyen (5):
tapi32: Stub lineGetDevCapsW.
tapi32: Stub lineMakeCallW.
tapi32: Stub lineGetIDW.
wine.inf: Add entry for fake ddeml.dll.
ddraw/tests: Skip some cooperative level tests on NT4/Win95.

Andrew Talbot (7):
shell32: Remove uninitialized and superfluous struct.
winex11.drv: Remove order-of-evaluation dependencies.
wineps.drv: Remove order-of-evaluation dependencies.
ntdll: Remove superfluous semicolon.
winedos: Initializations fix.
advapi32: Constify some variables.
advapi32: Constify some variables.

Aric Stewart (10):
kernel32: Report unixfs instead of ntfs for unknown filesystem type.
propsys: Stub for PSUnregisterPropertySchema.
msi: Reorder the condition operators so that longer strings are matched first.
msctf: ThreadMgr sink framework.
msctf: Define ITfTextInputProcessor. Implemented by the Text Services.
msctf: Add ITfThreadMgrEventSink to ThreadMgr.
msctf: Hook up the DocumentMgr to be able to forward ITfThreadMgrEventSink events to sinks advised to the ThreadMgr.
msi: Verify the existence of fusion.dll before reporting the .Net version.
advapi32: Stub TreeResetNamedSecurityInfo for the IE8 installer.
msctf: Implement ThreadMgr ITfSource::UnadviseSink.

Aurimas Fischer (5):
mshtml: Update Lithuanian translation.
uninstaller: Add Lithuanian translation.
reg: Add Lithuanian translation.
start: Add Lithuanian translation.
wineboot: Add Lithuanian translation.

Austin English (3):
winegcc: Fix a compiler warning on PC-BSD.
twain32: Fix a compiler warning on PC-BSD.
rpcrt4/test: Change a skip to win_skip.

Christian Costa (3):
d3dxof: Remove limitation on data buffer size.
amstream: Implement IAMMultiMediaStreamImpl_GetFilterGraph.
kernel32: Add stub for GetSystemTimes.

Dylan Smith (3):
richedit: Add bounds checks for EM_GETTEXTRANGE with tests.
winhlp32: Invalidate scrollbar when changing pages.
richedit: Properly handle lack of semicolon after font name in rtf.

Francois Gouget (1):
wineesd.drv: Remove esd_host as it is unused.

Hans Leidekker (13):
msi: Add stub implementations of MsiDeterminePatchSequenceA/W.
msi: Implement MsiReinstallProductA/W.
msi: Add stub implementations of MsiSourceListClearAllExA/W.
msi: Don't initialize COM for custom action threads.
msi: Only apply a transform when its language id matches the system language id.
winspool: Support special environment value "all" in EnumPrinterDrivers.
msi: Add some tests for MsiQueryFeatureState.
msi: Detect privately installed assemblies.
msvcrt: Implement _vscprintf and _vscwprintf.
msvcrt: Add tests for _vscprintf and _vscwprintf.
msi: Enumerate products from all contexts.
msi: Add tests for MsiEnumProducts.
msi: Allocate token information buffer dynamically.

Henri Verbeet (50):
wined3d: Unload resources on Uninit3D().
wined3d: Compare the actual formats.
wined3d: Set the currently active context to NULL when it's destroyed.
d3d9: Get rid of basetexture.c.
d3d9: Get rid of resource.c.
d3d9: Fix locking.
d3d8: Get rid of basetexture.c.
d3d8: Get rid of resource.c.
d3d8: Fix locking.
d3d10core: Only destroy the device when it doesn't have any references left.
wined3d: Try to make Coverity shut up (CID 863, 905).
d3d8: Properly handle unsetting the pixelshader in SetPixelShader().
d3d8: Cleanup the pixelshader handling code a bit.
d3d8: Cleanup the vertexshader handling code a bit.
wined3d: Set the byte count for WINED3DFMT_UNKNOWN to 0.
wined3d: Remove the bytesPerPixel field from IWineD3DSurfaceImpl and IWineD3DVolumeImpl.
wined3d: Pass format_desc to the Check*Capability() function.
wined3d: Pass format_desc to getColorBits() and getDepthStencilBits().
wined3d: Pass format_desc to set_shader().
shdocvw: Add a stub ITaskbarList implementation.
wined3d: Print a warning when the stage isn't mapped to a valid texture unit in tex_coordindex().
wined3d: Fix the indentation in tex_coordindex().
wined3d: Print a FIXME in tex_coordindex() when NV_TEXGEN_REFLECTION isn't supported.
wined3d: Reduce the number of checkGLcall's in tex_coordindex() a bit.
wined3d: Implement WINED3DTSS_TCI_SPHEREMAP.
wined3d: Make the texunit field in struct stb_const_desc unsigned.
wined3d: Fix a few sign compare warnings.
wined3d: Add a more convenient way to check if a surface is on a swapchain.
wined3d: Don't use rtInternal for surfaces that are on a swapchain.
wined3d: Do the ffp_valid check before even trying to use the element.
d3d8: Fix some indentation.
d3d9: Fix some indentation.
d3d9: Properly initialize the viewport dimensions.
d3d9: Don't depend on specific display modes in test_reset().
wined3d: Remove unused attributes from WineDirect3DVertexStridedData.
wined3d: Simplify remove_vbos().
wined3d: Simplify IWineD3DDeviceImpl_ProcessVertices().
wined3d: Simplify the "transformed" check in state_lighting().
wined3d: Pass the number of components to glVertexBlendARB().
wined3d: Create a separate function for setting basic format info.
wined3d: Create a separate function for checking a format's FBO compatibility.
wined3d: Create a separate function for setting format fixups.
wined3d: Create a separate function for setting a format's GL texture info.
wined3d: Make sure the format actually exists in init_format_texture_info().
wined3d: Use separate structures for ddraw style strided data and wined3d's internal stream info.
wined3d: Remove IWineD3DVertexDeclarationImpl_GetDeclaration().
wined3d: Remove IWineD3DVertexDeclaration_SetDeclaration() from the public interface.
wined3d: Separate the internal representation of vertex declaration elements from the struct used to create it.
wined3d: Don't create an END element for wined3d vertex declarations.
wined3d: Unify vertex and texture formats.

Huw Davies (14):
ole32: Remove unused static variable.
ole32: Don't allocate the ole clipboard object in global memory - we're not going to directly expose it to other processes.
ole32: Add a helper function to retrieve the implementation ptr.
ole32: Rearrange functions to eliminate forward declarations.
ole32: pFmt isn't exposed to the client, so simplify its allocation.
ole32: Simplify QueryInterface.
ole32: Use IsEqualIID rather than memcmp.
ole32: Register DataObject clipboard format.
ole32: Store the ole clipboard window's HWND in the DataObject clipboard format.
ole32: Move the code to set the clipboard formats to a separate function.
ole32/tests: Tests for the 'Ole Private Data' clipboard format.
rpcrt4: Dynamically allocate the buffer if the fixed size one isn't large enough. Don't return an inappropriate error if we fail to get the status text, it's only used for diagnostics.
ole32: OleFlushClipboard shouldn't call EmptyClipboard.
ole32: Set the 'Ole Private Data' clipboard format.

Hwang YunSong(황윤성) (1):
mshtml: Updated Korean resource.

Jacek Caban (4):
urlmon: Code clean up.
urlmon: Return IAsyncMoniker from QueryInterface.
urlmon: Added StdURLMoniker implementation.
urlmon: Fixed handling NULL URLName in GetDisplatName implementation.

James Hawkins (15):
msi: Fix a typo (Coverity 910).
msi: Enumerate the current user's patches if szUserSid is NULL.
msi: Allow the enumeration of other users' patches.
msi: Factor out the MsiEnumPatchesEx tests and test the NULL szUserSid and an szUserSid that is different from the current user.
msi: Test and handle the case where the SourceList key does not exist and the PackageName value does not exist in MsiGetProductInfo.
msi: MsiCollectUserInfo cannot be called from a custom action (Coverity 565, 566).
msi: Don't try to release a NULL record, with tests (Coverity 536).
msi: Handle a NULL and empty szPackagePath in MsiInstallProduct (Coverity 181).
twain_32: Fix the use of an uninitialized variable (Coverity 908).
cmd: Fix a memory leak (Coverity 904).
winebuild: Document the correlation of spec->ordinals and spec->limit with an assertion (Coverity 902).
kernel32: Add tests for WritePrivateProfileString.
kernel32: Set last error to ERROR_FILE_NOT_FOUND if lpAppName is NULL.
kernel32: Handle writing empty sections and keys in WritePrivateProfileString.
kernel32: Don't try to load an empty initialization file.

Kai Blin (1):
quartz/tests: If CoCreateInstance() fails, it's safe to return, as no cleanup is needed.

Ken Thomases (4):
dbghelp: Add support for debugging Mach-O modules.
dbghelp: Recognize .dylib files as Mach-O modules.
dbghelp/stabs: For Mach-O, line numbers use absolute address, not offset.
dbghelp: Include Mach-O modules in minidumps.

Kirill K. Smirnov (1):
mciavi32: Fix typo.

Konstantin Kondratyuk (2):
fonts: Add Bielorussian and Ukrainian symbols to tahomabd.
fonts: Add Bielorussian and Ukrainian symbols to tahoma.

Kusanagi Kouichi (1):
winex11.drv: Make import/export functions static.

Lei Zhang (1):
oleaut32: Fix some corner cases in VarBstrCmp.

Michael Stefaniuc (24):
mshtml: Update the Romanian translation.
mshtml: Convert the German translation to UTF8.
mshtml: Update the German translation.
reg: Change the German translation to UTF8.
reg: Fix/update the German translation.
regedit: Remove commented out STRINGTABLE from the resource files.
regedit: Convert the German translation to UTF8.
regedit: Fix the German translation.
ntdll: Remove superfluous pointer casts.
advapi32/tests: Don't use "long" for variable types.
d3dxof/tests: Use ULONG instead of unsigned long.
d3d8/tests: Use ULONG instead of unsigned long.
d3d9/tests: Use LONG instead of long.
ddraw/tests: Use ULONG instead of unsigned long.
msi: Convert the German translation to UTF8 encoding.
msi: Update the German translation.
msi: Add the Romanian translation.
setupapi: Update the Romanian translation.
gdi32: Use "%p" to TRACE() pointers.
uninstaller: Add the Romanian translation.
msi: Remove redundant NULL check before msi_free (Smatch).
d3dxof: Remove redundant NULL check before HeapFree (Smatch).
crypt32: Change the encoding of the German translation to UTF8.
crypt32: Update the German translation.

Nicolas Le Cam (2):
shell32/tests: Fix a test on Win2k platform and above.
schannel/tests: Fix test on Win2k.

Nikolay Sivov (9):
comctl32/tab: Implement TCM_REMOVEIMAGE.
comctl32/tab: Fix button background filling on TCS_BUTTONS.
comctl32/tab: Implement TCM_[G,S]ETEXTENDEDSTYLE and TCS_EX_FLATSEPARATORS style.
comctl32/trackbar: Fix reverting to default value for TBM_SETPAGESIZE with lParam = -1.
comctl32/ipaddress: Store current IP address text as a window text for IP Address control.
comctl32/listview: Some tests for LVM_GETSUBITEMRECT.
comctl32/tab: Draw tab button properly on TCIS_BUTTONPRESSED state.
comctl32/tab: Handle state mask in TCM_[G,S]ETITEM.
comctl32/tab: Selected item should have TCIS_BUTTONPRESSED state.

Patrick Gauthier (1):
user32/tests: Check effect of magic font height value 0x7fff in dialog template.

Paul Vriens (6):
urlmon/tests: Fix a test failure on Vista and higher.
riched20/tests: Fix and extend EM_FORMATRANGE tests.
winspool.drv/tests: Fix a test failure on NT4 and below.
comctl32/tests: Fix a crash on W2K and below.
kernel32/tests: Fix crash on NT4 and higher.
kernel32/tests: Fix some test failures on NT4 and below.

Rein Klazes (3):
user32/tests: In sysparams.c disable some Get/Set border tests for now. These may permanently change desktop settings of the testers.
user32: In MENU_SuspendPopup() make sure the right message is removed.
user32/tests: Show that a submenu is still functional after calling DestroyMenu().

Ricardo Filipe (2):
setupapi: Remove invalid check for < MAX_PATH and don't copy to NULL PathBuffer (Coverity 888).
comdlg32: Send CDN_INCLUDEITEM notification for each object in an Open/Save dialog.

Rob Shearman (18):
widl: Check the attributes applied to function declarations.
widl: Output correct code for freeing of conformant-sized and non-conformant strings.
widl: Initialise ref pointers to basic and enum types to 0 in generated server code.
rpcrt4: Free the resources associated with server protocol sequences on DLL unload.
rpcrt4: Simplify some code in RpcServerInqBindings by changing while loops into for loops.
rpcrt4: Implement NdrRangeUnmarshall for enum types.
rpcrt4: Fix a memory leak in union unmarshall functions by never passing fMustAlloc=TRUE into union_arm_unmarshall.
services: Add a ref count to the service entry in svcctl_CreateServiceW.
advapi32: Trace the contents of the in parameter to GetServiceKeyNameW, not the out parameter.
services: svcctl_GetServiceDisplayNameW and svcctl_GetServiceKeyNameW should have string attribute on output buffer.
services: Always initialise the out buffer in svcctl_QueryServiceStatusEx and svcctl_QueryServiceConfig2W.
rpcrt4: Fix crash when calling RpcServerUseProtseq for ncacn_np and ncalrpc.
rpcrt4: Implement stubless asynchronous NDR interpreter.
rpcrt4: Implement RPC over HTTP support.
widl: Include the version number in the __WIDL__ preprocessor definition.
rpcrt4: Re-use already registered endpoints for a protocol sequence.
rpcrt4: Allow listening on dynamically generated ncacn_ip_tcp endpoints.
rpcrt4: Ensure that only the IP/IPv6 address families are considered in rpcrt4_protseq_ncacn_ip_tcp_open_endpoint/rpcrt4_ncacn_ip_tcp_open.

Robert Reif (1):
dsound: Fix uninitialized variable.

Roderick Colenbrander (2):
wined3d: Add WGL_ARB_pixel_format detection.
wined3d: Add a classic WGL pixel format backend as not all OpenGL implementations support WGL_ARB_pixel_format.

Roman Mindalev (3):
ntdll: Check for arch and name fields in assembly_identity structure.
ntdll: Free memory for type field of an assembly_identity.
ntdll: Move search for assemblyIdentity element.

Stefano Guidoni (1):
winemp3: Fixed mpeg3_streamsize.

Vincent Povirk (1):
gdiplus: Support line gradient brushes in GdipFillPath.

Vitaliy Margolen (1):
shell32: Fix number of returned arguments from CommandLineToArgvW with empty string.

William Waghorn (2):
msadp32: Refuse unknown destination format.
imaadp32: Refuse unknown destination format.

--
Alexandre Julliard

Source
julliard@winehq.org

Read more ...






Geek Engineer