Wow, I guess it's a long time since I blogged.
I'm installing Mint 17 Mate on my laptop this weekend.
Last year I went through a lot of pain installing Linux on this hardware due to Linux support for UEFI still being in its infancy. I'm happy to say jumping through all those hoops is a thing of the past with Mint 17. This was pretty much a routine install.
For the first time, I didn't need to do anything special with the window manager. Usually I have to switch to metacity or mutter, but in this case marco just works.
I could not get either mintbackup or the dpkg/dselect technique to work this time, possibly due to all the additional repos, such as xorg-edgers, I had installed to get things working previously. Or possibly I should say, after one 8 hour attempt to restore everything led to an unstable system, I was out of time to experiment with this. I figure since this is a 5 year LTS release I'll have plenty of time to install all the packages I want, and I do still have the list of the ones I installed before to install manually as needed.
The xorg-edgers packages I formerly needed to get Bumblebee to work are now part of the standard repos. See Nvidia Optimus on Linux Mint 17 - GT650M ASUS N56, for example. This is now an easy and routine thing.
Suspend and hibernate work out of the box, yay.
Sunday, June 8, 2014
Monday, October 28, 2013
Pair programming
I was looking at a job description at a place I'd really like to work. Everything about it sounded great, but it also said this:
'We pair program all day, every day because we know it delivers remarkable results.'
I have a number of concerns about pair programming. Wouldn't there be a suffocating lack of privacy? How can you get in the 'zone' with someone right there yammering at you?
What about when you're doing something other than coding? At my previous job I was assigned to work on some code that was new to me. It used an ancient proprietary framework that I wasn't that familiar with. I spent about a week researching to understand the existing code. If my pair programming partner knew the answers to all of my questions, great, but otherwise, how would two people effectively work on a problem like this at the same time? Maybe it's just my imagination failing but this doesn't seem like it would work.
Here's two 'pro' articles:
I love Pair Programming
First Impressions of Paired Programming
And a 'con' article:
Why I Don't Like Pair Programming (and Why I Left Pivotal)
I decided to go ahead and apply. I feel like this is something I need to learn to flesh out my experience and become a well-rounded developer.
'We pair program all day, every day because we know it delivers remarkable results.'
I have a number of concerns about pair programming. Wouldn't there be a suffocating lack of privacy? How can you get in the 'zone' with someone right there yammering at you?
What about when you're doing something other than coding? At my previous job I was assigned to work on some code that was new to me. It used an ancient proprietary framework that I wasn't that familiar with. I spent about a week researching to understand the existing code. If my pair programming partner knew the answers to all of my questions, great, but otherwise, how would two people effectively work on a problem like this at the same time? Maybe it's just my imagination failing but this doesn't seem like it would work.
Here's two 'pro' articles:
I love Pair Programming
First Impressions of Paired Programming
And a 'con' article:
Why I Don't Like Pair Programming (and Why I Left Pivotal)
I decided to go ahead and apply. I feel like this is something I need to learn to flesh out my experience and become a well-rounded developer.
Wednesday, October 23, 2013
Spring Web Flow
I was looking for something to walk me through Spring Web Flow in easy stages.
There's nothing on the snazzy new Guides page.
This was pretty good:
Spring Web Flow 2 Tutorial by Ivan A Krizsan
It's slightly retro (2010), but I found it pretty easy to follow and everything worked.
To get access to the Maven 'webapp-jee5' archetype, I needed to configure the Maven Central catalog as described here.
Update: The Spring Web Flow chapter in Spring in Action is really good. It's not free, though.
Working example at my Github repo.
There's nothing on the snazzy new Guides page.
This was pretty good:
Spring Web Flow 2 Tutorial by Ivan A Krizsan
It's slightly retro (2010), but I found it pretty easy to follow and everything worked.
To get access to the Maven 'webapp-jee5' archetype, I needed to configure the Maven Central catalog as described here.
Update: The Spring Web Flow chapter in Spring in Action is really good. It's not free, though.
Working example at my Github repo.
Monday, October 14, 2013
I'm on Github
I've used Github for work-related stuff, so, not that big a deal, but this is my first personal Github repo:
https://github.com/BlackTrenchCoat/pokemon.git
This is my Spring and Hibernate playground. It's a Pokemon-related app. It's nowhere near finished (though I've been working on some version of this on and off since 2010).
I'm hoping this will be useful when prospective employers ask for code samples. It's often a problem producing code that is 100% purely mine from work. Plus we sure aren't doing a lot of Spring and Hibernate at my day job.
https://github.com/BlackTrenchCoat/pokemon.git
This is my Spring and Hibernate playground. It's a Pokemon-related app. It's nowhere near finished (though I've been working on some version of this on and off since 2010).
I'm hoping this will be useful when prospective employers ask for code samples. It's often a problem producing code that is 100% purely mine from work. Plus we sure aren't doing a lot of Spring and Hibernate at my day job.
Saturday, September 14, 2013
HP Envy 17t-j000 (5) (hybrid graphics)
Note: skip down to 'Update 9/28' for the successful way to get hybrid graphics working.
Today I tried installing NVIDIA-Linux-x86_64-319.49.run from Nvidia Drivers. It went all the way through installation without errors (other than a message about not being able to run some preinstall script). And now I can use 'optirun'. 'optirun glxgears' reports 800 FPS instead of the 60 FPS it was reporting before.
I can't run glxgears without optirun any more. It says
Here's what inxi is saying now:
800 FPS? That seems a little on the slow side... the ATI Radeon HD 6770 on my desktop computer gets over 10,000 FPS.
When I was trying to run the install script (NVIDIA-Linux-x86_64-319.49.run), the first error it gave me was the 'You do not appear to have an NVIDIA GPU supported by the NNN.NN NVIDIA Linux graphics driver'. Then it gave me a second error to the effect that I couldn't install the driver with X already running. But when I rebooted in 'text' mode, both of these errors went away. So, they really mean it about turning off your X server to install the driver, but more importantly, the error message is misleading. I wonder if when I was trying this a month ago if I ever tried shutting X off, or did I just see the 'You do not appear to have an NVIDIA GPU' error and give up?
I reconfigured the few games I occasionally play on this computer to use 'optirun'. Everything looks good except for 'pinball', which gets an error like this:
Looks like totem is an OpenGL application. So when I just put a DVD in the drive, I guess it's not going to play. How can I configure totem and other apps that I'm not running from a launcher on the desktop to use optirun?
I thought vlc might work now with optirun, but no... still just a solid green screen.
I was getting ready to update all the OpenGL apps in my xscreensaver config file, but looks like there's more to it than that. Screen saver 'hacks' fail with an error like
I tried this:
The problem is that there are conflicts between the two drivers, particularly the OpenGL library:
One more useful resource: Listing of Installed Components from NVIDIA Accelerated Linux Graphics Driver README and Installation Guide.
Update 9/28:
I tried this again using the xorg-edgers repo as described here and this time everything worked. I'm not sure what I did different, except maybe installing nvidia-25 and bumblebee at the same time? Whew. I put many hours into this, but in the end the solution was pretty simple. When I was beating my head against a brick wall trying to get it to work with the driver from Nvidia's web site, I kept thinking about this and wondering if the conflicts would go away if I was installing the Intel and Nvidia drivers from the same repo. Looks like the answer was yes.
The only major feature I still don't have working in Linux is Beats Audio.
Today I tried installing NVIDIA-Linux-x86_64-319.49.run from Nvidia Drivers. It went all the way through installation without errors (other than a message about not being able to run some preinstall script). And now I can use 'optirun'. 'optirun glxgears' reports 800 FPS instead of the 60 FPS it was reporting before.
I can't run glxgears without optirun any more. It says
% glxgears Xlib: extension "GLX" missing on display ":0.0". Error: couldn't get an RGB, Double-buffered visual
Here's what inxi is saying now:
% inxi -Gxx
Graphics: Card: Intel Haswell Integrated Graphics Controller
bus-ID: 00:02.0
X.Org: 1.13.3 drivers: intel (unloaded: fbdev) FAILED:
vesa Resolution: 1920x1080@60.0hz
GLX Renderer: N/A GLX Version: N/A Direct Rendering: N/A
% optirun inxi -Gxx
Graphics: Card: Intel Haswell Integrated Graphics Controller
bus-ID: 00:02.0
X.Org: 1.13.3 drivers: intel (unloaded: fbdev) FAILED:
vesa Resolution: 1920x1080@60.0hz
GLX Renderer: GeForce GT 740M/PCIe/SSE2 GLX Version: 4.3.0
NVIDIA 319.49 Direct Rendering: Yes
800 FPS? That seems a little on the slow side... the ATI Radeon HD 6770 on my desktop computer gets over 10,000 FPS.
When I was trying to run the install script (NVIDIA-Linux-x86_64-319.49.run), the first error it gave me was the 'You do not appear to have an NVIDIA GPU supported by the NNN.NN NVIDIA Linux graphics driver'. Then it gave me a second error to the effect that I couldn't install the driver with X already running. But when I rebooted in 'text' mode, both of these errors went away. So, they really mean it about turning off your X server to install the driver, but more importantly, the error message is misleading. I wonder if when I was trying this a month ago if I ever tried shutting X off, or did I just see the 'You do not appear to have an NVIDIA GPU' error and give up?
I reconfigured the few games I occasionally play on this computer to use 'optirun'. Everything looks good except for 'pinball', which gets an error like this:
ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object 'librrfaker.so' from LD_PRELOAD cannot be preloaded: ignored. Initing SDL 0 joysticks were found. Couldn't set video mode: Couldn't find matching GLX visual
Looks like totem is an OpenGL application. So when I just put a DVD in the drive, I guess it's not going to play. How can I configure totem and other apps that I'm not running from a launcher on the desktop to use optirun?
I thought vlc might work now with optirun, but no... still just a solid green screen.
I was getting ready to update all the OpenGL apps in my xscreensaver config file, but looks like there's more to it than that. Screen saver 'hacks' fail with an error like
superquadrics: root window's visual 0x20 does not support the GLX extension.But note that 'optirun superquadrics' from the command line works fine.
I tried this:
sudo apt-get install --reinstall xserver-xorg-video-intel
libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
to get the Intel OpenGL graphics working again. That worked, but
Nvidia graphics went away. I reinstalled the Nvidia driver, which
fixed Nvidia but broke Intel again.The problem is that there are conflicts between the two drivers, particularly the OpenGL library:
- Hybrid Graphics Tutorial - NVidia Optimus with the GeForce GT650M on Linux
- How to make Unity 3D work with Bumblebee using the Intel chipset
- Hardware Accelerated NVidia and Intel Graphics Together in Debian
One more useful resource: Listing of Installed Components from NVIDIA Accelerated Linux Graphics Driver README and Installation Guide.
Update 9/28:
I tried this again using the xorg-edgers repo as described here and this time everything worked. I'm not sure what I did different, except maybe installing nvidia-25 and bumblebee at the same time? Whew. I put many hours into this, but in the end the solution was pretty simple. When I was beating my head against a brick wall trying to get it to work with the driver from Nvidia's web site, I kept thinking about this and wondering if the conflicts would go away if I was installing the Intel and Nvidia drivers from the same repo. Looks like the answer was yes.
The only major feature I still don't have working in Linux is Beats Audio.
Tuesday, August 20, 2013
HP Envy 17t-j000 laptop (4) (misc)
A few miscellaneous remarks and observations:
- The default marco window manager is working fine. First time for me, but this is Mint 15 instead of the Mint 13 I've been using in the past. I also gave compiz a quick try; it seems stable.
- Problems with hibernate. About one time out of three, resume from hibernate fails with a hideous kernel stack trace. I tried uswsusp; resume from s2disk always fails (hangs after displaying the 'splash'). Suspend (which is mostly what I use) seems OK. I was a little surprised to see it resume from suspend if I close the lid and then open it again. I guess I can live with just suspend. This is actually pretty cool once I got used to it. Use Power Management to configure On Battery Power -> When laptop lid is closed -> Suspend. Then close the lid to suspend and open it to resume. Still, I would like to get hibernate working so I could switch to Windows and back without losing my whole Linux session.
- Problems playing a DVD. I got this working following RestrictedFormats/PlayingDVDs. The two specific things I needed to do were to set a region on my DVD player using regionset, and to delete my old $HOME/.dvdcss. To make vlc work, I need to use 'vlc -V x11'. With volume turned up to 100%, it's borderline audible, but that seems to be true of all applications that use sound.
- Similar issues just playing a movie file. Totem is fine. vlc needs '-V x11'. Audio volume is too low.
- The touchpad is awful. By default there was no way to get a middle button click. I was able to configure this as described here.
- Just in case anyone is tempted to take the easy way out and just use Windows 8: German government warns key entities not to use Windows 8.
- Disregarding the warnings of the German government, I installed Steam on Windows 8 and downloaded a bunch of games I already was playing on Windows XP. Everything seems to work OK. Frustrating to see Windows 8 easily accessing the Nvidia GPU.
Saturday, August 17, 2013
HP Envy 17t-j000 laptop (3) (hybrid graphics)
This computer uses hybrid graphics.
When X comes up, graphics are being rendered by the Intel Integrated Graphics Processor (IGP). Glxgears gets about 60 FPS.
Linux detects the Dedicated Graphics Processor (DGP):
The first thing I looked into was vga_switcheroo. The kernel was built with this feature enabled:
I soon found that regardless of Bumblebee, the driver just wouldn't load.
Note that if you configure the xorg-edgers repository, it might be difficult to remove it afterwards. There are some instructions how to do this, but it didn't work for me and I wound up recovering my root file system from backups.
I tried nouveau.
I tried downloading the latest driver from the Nvidia web site. The web site specifically says this supports the GeForce GT 740M, but I was still unable to load the driver. Error is:
When X comes up, graphics are being rendered by the Intel Integrated Graphics Processor (IGP). Glxgears gets about 60 FPS.
Linux detects the Dedicated Graphics Processor (DGP):
# lspci | grep -i nvidia 01:00.0 3D controller: NVIDIA Corporation GK208M [GeForce GT 740M] (rev ff)
The first thing I looked into was vga_switcheroo. The kernel was built with this feature enabled:
# uname -r 3.8.0-27-generic # grep -i switcheroo /boot/config-3.8.0-27-generic CONFIG_VGA_SWITCHEROO=yHowever, the key directory that vga_switcheroo uses for everything does not exist:
# ls /sys/kernel/debug/vgaswitcheroo ls: cannot access /sys/kernel/debug/vgaswitcheroo: No such file or directoryThe /sys/kernel/debug directory does exist:
# ls /sys/kernel/debug acpi cleancache gpio kprobes pwm suspend_stats x86 bdi dri hid kvm regmap tracing binder extfrag ieee80211 mce regulator usb bluetooth frontswap iwlwifi mmc0 sched_features wakeup_sourcesI saw some messages like this in /var/log/syslog:
VGA switcheroo: detected Optimus DSM method \_SB_.PCI0.GFX0 handleI couldn't find anything in the information available from HP about this computer using Optimus, but I decided to consider the possibility. So I installed Bumblebee. Bumblebee fails with an error like ' Cannot access secondary GPU - error: Could not load GPU driver'.
I soon found that regardless of Bumblebee, the driver just wouldn't load.
# modprobe nvidia-304 ERROR: could not insert 'nvidia_304': No such deviceError (edited for legibility) from /var/log/syslog when this happens:
nvidia: module license 'NVIDIA' taints kernel. nvidia 0000:01:00.0: power state changed by ACPI to D0 nvidia 0000:01:00.0: enabling device (0000 -> 0003) NVRM: The NVIDIA GPU 0000:01:00.0 (PCI ID: 10de:1292) NVRM: installed in this system is not supported by the 304.88 NVRM: NVIDIA Linux driver release. Please see 'Appendix NVRM: A - Supported NVIDIA GPU Products' in this release's NVRM: README, available on the Linux driver download page NVRM: at www.nvidia.com. nvidia: probe of 0000:01:00.0 failed with error -1 NVRM: The NVIDIA probe routine failed for 1 device(s). NVRM: None of the NVIDIA graphics adapters were initialized!This page suggests loading a more up to date nvidia driver from ppa:xorg-edgers/ppa. I tried nvidia-325 from xorg-edgers; still wouldn't load.
Note that if you configure the xorg-edgers repository, it might be difficult to remove it afterwards. There are some instructions how to do this, but it didn't work for me and I wound up recovering my root file system from backups.
I tried nouveau.
I tried downloading the latest driver from the Nvidia web site. The web site specifically says this supports the GeForce GT 740M, but I was still unable to load the driver. Error is:
WARNING:
You do not appear to have an NVIDIA GPU supported by the 319.32 NVIDIA Linux graphics driver installed in this system. For further details, please see the appendix SUPPORTED NVIDIA GRAPHICS CHIPS in the README available on the Linux driver download page at www.nvidia.com.It feels like there's something fundamental I don't understand about this... maybe something about this hybrid graphics environment is preventing the driver from being loaded, even when it's the right driver.
Subscribe to:
Posts (Atom)