Since a few years ago I work as a software dev for a middle sized company which is actually really decent. A year ago they decided that we should do pair programming. Not the biggest fan of that but it's not too bad.
I am partnered with a guy who started on the same day as me so back then we actually bonded and always got along pretty great. The thing is he is not that great a programmer and honestly quite lazy. Most of the times he wants me to be the lead, which I am actually fine with but he hardly ever provides input and I do most of the documentation and communication with customers. We mostly work from home and whenever he does he takes ridiculously long lunch breaks (like 3 hours long) Personally I prefer shorter breaks so I can quit earlier in the day and since I also start very early we usually talk about the next steps that need to be done by him in the afternoon and then by me in the morning when I start and most of the times he does next to nothing. He calls in sick quite often and actually privately admitted a few times that it was purely because he just didn't want to work.
Now don't get me wrong, I do respect being lazy and there absolutely are times when we just bullshit for an hour or two getting nothing done. Also we never get in trouble, our team lead is quite satisfied with our overall performance. And since I am not very ambitious career-wise I absolutely don't care about being an overperformer.
However I just don't like working that slowly. I enjoy my job and often enough it's just fun to work and I just feel I would enjoy it way more if I would work alone or be paired with somebody else. But I feel if I'd bring that up there would be questions why I feel that way, for which I don't have an answer that would not cause him some trouble. And again, personally I really like him so that's the last thing I want. It's just that working with him slowly takes away the joy for me.
How can I tackle this without being an asshole to him?